- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令系统简介与寻址方式.ppt
指令的分类 1、按指令的长度分 单字节指令(50条):只占一个字节的存储单元,操作码和操作数同存储在一个字节中。 双字节指令(45条):占有二个字节的存储单元,其中第一字节为操作码,第二字节为操作数或操作数的地址。 三字节指令(16条):占有三个字节的存储单元,操作码占一个单元,操作数占两个单元。操作数既可以是数据,也可以是数据的地址。 2、按指令的执行时间分(以机器周期计算) 单周期指令(64条):执行时需一个机器周期。 双周期指令(45条):执行时需二个机器周期。 四周期指令(乘、除法2条):执行时需四个机器周期。 3、按指令的功能分 数据传送类指令(29条) 算术运算类指令(24条) 逻辑运算类指令(24条) 控制转移类指令(17条) 位操作(布尔操作)类指令(17条) 指令的符号说明 1、44种助记符及其意义(基本上是英文单词的缩写) MOV、MOVC、MOVX、PUSH、POP、XCH、XCHD、ANL、ORL、XRL|SETB、CLR、CPL、RL、RLC、RR、RRC、SWAP、ADD、ADDC、INC、MUL、DIV、DA、AJMP、LJMP、SJMP、JMP、JZ、JNZ、JB、JNB、JBC、CJNE、DJNZ、ACALL、LCALL、RET、RETI、NOP、DEC。 2、指令描述中的符号及其意义(见教材27页~28页) Rn、Ri、@Ri、@DPTR、#DATA、#DATA16、direct、addr16、addr11、rel、bit、A、B、C、/、X、(X)、((X))、← 例:MOV A,@R1;A ←((R1)) 直接寻址与寄存器寻址 二、直接寻址:在操作码后面直接给出操作数所在单元的地址。采用直接寻址的指令一般是双字节或三字节,第一字节为操作码,第二、三字节为操作数的地址码。这种寻址方式可进行内数据存储器的访问。 1、访问SFR,指令中direct以单元地址或寄存储器符号形式表示 。 例:MOV A,81H;两条指令的功能完全相同,SP的地址为81H MOV A,SP 2、访问内部RAM的低128B,指令中direct以单元地址形式表示。 例:MOV A,35H;A←(35H),设35H单元的内容为55H,则指令 执行后A的内容为55H 三、寄存器寻址:操作数存放在某一寄存器中,指令中指出相应的寄存器。即寄存器的内容就是操作数。可用于访问选定的工作寄存器R0~R7,累加器A,寄存器B和位累加器C中的数。 例:MOV R0,#55H;将数据55H送至A中 MOV A,R0 四、寄存器间接寻址 用寄存器的内容作为操作数的地址,该地址对应的单元的内容才是操作数。用符号@作为间址标志。用于访问片内RAM或片外RAM。 1、当访问片内RAM或片外RAM的低256B空间时,可用R0或R1作为间址寄存器。 例:MOV R0,#25H MOV A,@R0 设25H单元的内容为73H,则执行结果:以R0的内容25H为地址,把25H地址单元的内容73H送到累加器A中,A的内容为73H。 2、当访问片外RAM时,用DPTR作间址寄存器。由于DPTR是16位寄存器,所以它可访问片外RAM整个64KB的地址空间。 例:MOV DPTR,#2345H;将片外RAM2345H单元中的内容送入A中 MOV A,@DPTR 3、堆栈指令PUSH、POP也可算寄存器间接寻址,其间址寄存器为SP。即以SP的内容为地址,把该地址单元中的内容压入堆栈或弹出到目标地址。 五、基址加变址寻址 以DPTR或PC为基址寄存器,以A作为变址寄存器,两者内容之和为操作数的地址。MCS-51中有两条基址加变址寻址指令,用于访问固化在ROM中的常数,称为查表指令。 1、以PC作基地址加变址形成操作数地址(@A+PC )指令 MOVC A,@A+PC 2、以DPTR作基地址,A作变址,由@A+DPTR形成操作数地址指令 MOVC A,@A+DDPTR 例:MOV DPTR,#0300H;DPTR←0300H MOV A,#02H ;A←02H MOVC A,@A+DPTR;A←(0300H+02H) 将ROM中0302H单元的数(设为55H)取出送A中。 六、相对寻址 以PC作为基址寄存器,将其当前值(执行完转移指令后的PC值)与指令中
文档评论(0)