第3章1AT89C51的指令系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章1AT89C51的指令系统

第3章 AT89C51的指令系统 本章介绍89C51的汇编语言指令系统。 3.1 指令系统概述 AT89C51的基本指令共111条,按指令所占的字节来分: (1) 单字节指令49条; (2) 双字节指令45条; (3) 三字节指令17条。 按指令的执行时间来分: (1) 1个机器周期(12个时钟振荡周期)指令64条 (2) 2个机器周期(24个时钟振荡周期)指令45条; (3) 只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。 12MHz晶振:机器周期为1?s。 6MHz晶振:机器周期为2?s。 3.2 指令格式 两部分组成,即操作码和操作数。 操作码:规定指令进行什么操作 操作数:指令操作的对象 有单字节指令、双字节指令、三字节不同长度的指令,格式不同: (1)单字节指令:操作码、操作数 同在一个字节中。 ; (2)双字节指令:操作码+操作数。 (3)三字节指令:操作码+操作数+操作数。 3.3 指令系统的寻址方式 寻址方式就是在指令中说明操作数所在地址的方法。 共7种寻址方式。 1.寄存器寻址方式 操作数在寄存器中 MOV A,Rn ;(Rn)→A,n=0~7 MOV A,R1;若R1存放操作数位3CH,则指令的结果是A=3CH。 执行表示把寄存器Rn的内容传送给累加器A ;寻址范围: (1)4组通用工作寄存区共32个工作寄存器。(OOH~1FH) (2)部分特殊功能寄存器,例如A、B 以及数据指针寄存器DPTR等。 2.直接寻址方式 操作数直接以单元地址的形式给出: MOV A,40H;MOV TCON,A; MOV A,P1; ADD A,43H 寻址范围: (1) 内部RAM的128个单元 (2) 特殊功能寄存器。除了以单元地址的形式外,还可用寄存器符号的形式给出。例如: MOV A,80H 与 MOV A,P0是等价的。;3. 寄存器间接寻址方式 寄存器中存放的是操作数的地址,在寄存器前加前缀标志“@” 。 访问内部RAM或外部RAM的低256个字节时,只能采用R0或R1作为间址寄存器。例如: MOV A,@Ri ;i=0或1 其中Ri中的内容为40H,把内部RAM40H单元内容送A。 寻址范围: (1)访问内部RAM低128个单元,其通用形式为@Ri (2)对外部内部RAM的64K字节的间接寻址,例如: MOVX A,@DPTR;例如:指令 MOVC A,@A+DPTR 其中A的原有内容为05H,DPTR的内容为0400H,该指令执行的结果是把程序存储器0405H单元的内容传送给A。 说明: (1)本寻址方式是专门针对程序存储器的寻址方式,寻址范围可达到64KB。 (2)本寻址方式的指令只有3条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR;(3)用程序指针PC作基地址,A作变址,形成操作数地址:@A+PC。 例如:执行下列指令: 地址 目标代码 汇编指令 2100 7406 MOV A,#06H 2102 83 MOVC A,@A+PC 2103 00 NOP 2104 00 NOP ﹕ ﹕ ﹕ ﹕ 2109 32 DB 32H 当执行到MOVC A,@A+PC时,当前PC=2103H,A=06H,因此@A+PC指示的地址是2109H,该指令的执行结果是A=32H。;(4)用数据指针DPTR作基地址,A作变址,形成操作数地 址:@A+DPTR。 例如,执行下列指令: MOV A,#01H MOV DPTR,#TABLE MOVC A,@A+DPTR TABLE:DB 41H DB 42H ﹕ ﹕ 上面程序中,变址偏移量A=01H,基地址为表的首地址TABLE,指令执行后将地址为TABLE=01H程序存储器单元的内容送给A,执行结果是A=42H。;6.位寻址方式 MCS-51有位处理功能,可以对数据位进行操作。 例如: MOV C,40H 是把位40H的值送到进位位C。 寻址范围包括: (1)内部RAM中的位寻址区。 位有两种等价的表示方法: (1)直接就是位地址,如 40H; (2)另一种 (28H).0,是28

文档评论(0)

djdjix + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档