- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
003(单片机)
第3章 80C51系列单片机指令系统 §3-1 指令系统基本概念 标号:操作码 操作数;注释 ⑴ 标号:指令的符号地址。 ① 用于一段功能程序的识别标记或控制 转移地址。 ⑵ 操作码:表示指令的操作功能。 ① 操作码用助记符表示, 它代表了指令 的操作功能。 ⑶ 操作数:参加操作的数据或数据地址。 ⑤ 操作数与操作码之间用空格分隔,操作数与 操作数之间用逗号“,”分隔。 ⑷ 注释:指令功能说明。 ① 注释属于非必需项,是为便于阅读, 对指令功能作的说明和注解。 3.1.2 指令分类 ⑶ 按指令功能分类: 可分为数据传送类、算术运算类、 逻辑运算类、位操作类和 控制转移类 等5大类指令。 3.1.3 指令系统中的常用符号 ⑹ bit:位地址。 SETB ACC.7 代表片内RAM中的可寻址位00H~7FH及SFR中的可寻址位。 【例】 ⒉ 直接寻址 MOV A,3AH ;将内RAM 3AH单元中的数据传送至A中 MOV A,P0 ;将特殊功能寄存器P0口中的数据传送至A中 说明:3AH和P0是以direct形式出现的直接地址 访问特殊功能寄存器SFR只能采用直接寻址方 式。 ⒊ 寄存器寻址 MOV A,R0 ;将R0中的数据传送至A中 INC A MUL AB ⒋ 寄存器间接寻址 MOV A,@R0 ;将以R0中内容为地址的存储单元中的数据 传送至A中 MOVX A,@DPTR ;将外RAM DPTR所指存储单元中的数据 传送至A中 PUSH PSW ;将PSW中数据 传送至堆栈指针SP所指的存储单元中 MOV @R1,#0FH ;(30H)←立即数0FH ⒌ 变址寻址 MOVC A,@A+DPTR 当前PC值加上指令中规定的偏移量 rel,构成实际的操作数地址例: SJMP rel 操作:跳转到的目的地址 = 当前16位PC值 + rel §3-2 指令系统 数据传送类指令 算术运算类指令 逻辑运算及移位指令 位操作类指令 控制转移类指令 ① MOV Rn,A ;A→Rn,n=0~7 ② MOV Rn,direct;(direct)→Rn,n=0~7 ③ MOV Rn,#data ;data→Rn,n=0~7 ⑶ 以直接地址为目的字节的传送指令(5条) ① MOV direct,A ;A→(direct) ② MOV direct,Rn ;Rn→(direct),n=0~7 ③ MOV direct,@Ri ;(Ri)→(direct),i=0、1 ④ MOV direct1,direct2;(direct2)→(direct1) ⑤ MOV direct,#data ;data→(direct) ⑷ 以寄存器间址为目的字节的传送指令(3条) ① MOV @Ri,A ;A→(Ri),i=0、1 ② MOV @Ri,direct;(direct)→(Ri),i=0、1 ③ MOV @Ri,#data ;data→(Ri),i=0、1 ⒉ 16位数据传送指令 ① MOVX A,@Ri ;(Ri)→A,i=0、1 ② MOVX A,@DPTR ;(DPTR)→A ③ MOVX @Ri,A ;A→(Ri),i=0、1 ④ MOVX @DATR,A ;A→(DATR) ⒋ 读ROM指令(2条) ① PUSH direct ;SP+1→SP,(direct)→(SP) ② POP direct ;(SP)→(direct),SP-1→SP ⒍ 交换指令(5条) 3.2.2 算术运算类指令 ① ADD A,Rn ;A+Rn→A(n=0~7) 有进位,Cy=1;无进位,Cy=0 ② ADD A,@Ri ;A+(Ri)→A(i=0、1) 有进位,Cy=1;无进位,Cy=0 ③ ADD A,direct ;A+(direct)→A 有进位,Cy=1;无进位,Cy=0 ④ ADD A,#data ;A+data→A 有进位,Cy=1;无进位,Cy=0 ①
文档评论(0)