第2章 MCS-51指令系统4.ppt

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

第二章 MCS-51指令系统 2.1 MCS-51汇编语言指令的格式 汇编指令格式 标号:操作码 目的操作数,源操作数 ;注释 标号—该指令的符号地址,表明指令所在位置,小于8个字符,可选。 操作码—命令CPU进行操作的助记符。 操作数—操作码的作用对象,一般有目的操作数和源操作数,也有的指令只有单操作数或没有操作数。 注释—对该指令功能的解释。用“;”与前面的指令分开。 MCS-51汇编语言指令的格式 指令的分类: 按指令代码长度分:单字节、双字节、三字节。 按功能分类: 数据传送类(28条) 算术运算类(24条) 逻辑运算和移位类(25条) 控制转移类(17条) 位操作类(17条)。 指令寻址方式 寻找操作数地址的方法称为寻址方式 。 MCS-51指令系统的寻址方式有下列几种: ① 立即寻址 ② 直接寻址 ③ 寄存器寻址 ④ 寄存器间接寻址 ⑤ 基寄存器加变址寄存器间接寻址 ⑥ 相对寻址 ⑦ 位寻址 立即寻址方式 指令的源操作数是个数值 例:MOV A,#0FBH ;(A)← 立即数 0FBH ADD A,#09H ;(A)←(A)+立即数 09H 注意:符号“#”表明其后跟的是立即数, 立即数——就是数字量本身 直接寻址方式 指令中的操作数是以其所在单元地址的形式给出 。 仅限于在RAM空间寻址,即内部数据存储器RAM的低128个字节单元(00H~7FH)和特殊功能寄存器(SFR)。 例 MOV A,31H 寄存器寻址 操作数是放在寄存器中的,找到了寄存器就可得到操作数。 例 MOV A,R2 寄存器间接寻址 寄存器的内容不是操作数本身,而是存放操作数的地址,由这个地址再去寻找操作数。 只能使用寄存器R0或R1作为间接地址寄存器。 用符号“@”表示是采用间接寻址方式。 例 MOV A,@R0 基址寄存器加变址寄存器间接寻址 基址寄存器(DPTR或PC)和变址寄存器A的内容作为无符号数相加形成16位的地址,该地址单元中才是所需的操作数。 例 MOVC A,@A+DPTR (指令码是93H) 相对寻址 以当前指令的位置(PC值)为基准点,加上指令中给出的相对偏移量(rel)来获得操作数所在的实际地址。 例 0500H :JC rel 设rel=05H,这条指令在ROM中占两个单元,执行完后,PC=0500H+2=0502H,那么 目的地址=当前PC+rel=0502H+05H=0507H 符号“rel”表示“偏移量”,是一个带符号的单字 节数,范围是:-128—+127(80H—7FH), 位寻址 指令中直接给出了操作数所在的位地址 位地址表示一个可作位寻址的单元,其数据只能是1位0或1 例 (1)MOV ACC.7,07H 将位地址单元07H的数值送累加器A的第7位,位地址07H是单元地址20H的第7位,即20H.7。 (2)CLR C ;将PSW的第7位CY清零 2.2 数据传送类指令 1.一般数据传送指令 按照数据传送的目的地址的不同,分为传送到累加器型、传送到寄存器型、传送到直接地址型和传送到寄存器间接寻址型。 传送到累加器 MOV A,#data;A ← data MOV A,direct;A ←(direct) MOV A,Rn;A ←(Rn) MOV A,@Ri;A ←((Ri)) 传送到寄存器 MOV Rn,direct;Rn ←(direct) MOV Rn,A;Rn ←(A) MOV Rn,#data;Rn ← data 传送到直接寻址单元 MOV direct,A;direct ←(A) MOV direct,Rn;direct ←(Rn) MOV direct,#data;direct ← data MOV direct,@Ri;direct ←((Ri)) MOV direct,direct;direct ←(direct) 传送到间接寻址单元 MOV @Ri,A;(Ri)←(A) MOV @Ri,direct;(Ri)←(direct) MOV @Ri,#data;(Ri)← data 只有R0、R1可以作为间接寻址寄存器。 2.栈操作指令 PUSH direct;入栈指令 POP direct;出栈指令 堆栈操作原则:“先进后出、后进先出” 3.数据交换指令 字节交换指令 XCH A,Rn; XCH A,direct; XCH A,@Ri; 半字节交换指令 XCHD A,@Ri; 4.外部数据传送指令 16位数传送指令 MOV DPTR,#data16;DPTR ←

文档评论(0)

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

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

版权声明书
用户编号:6153235235000003

1亿VIP精品文档

相关文档