单片机第五章指令系统.ppt

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

第五章指令系统 重点掌握 寻址方式 指令分类 第一节概述 机器语言 汇编语言 格式:标号段:操作码段,操作数;注释段 指令系统常用符号含义:P95 指令分类 数据传送类:28条 算术运算类:24条 逻辑运算类:25条 控制转移类:17条 位操作类: 17条 第二节 寻址方式 七种寻址方式 寄存器寻址 直接寻址 立即寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址 1立即寻址 指令码中直接含有所需地址的操作数 MOV A,#30H MOV DPTR,#3000H 注意:#是唯一区别与地址的标志。 2直接寻址 指令码中含有操作数的地址,机器根据地址找到操作数 MOV A,30H 注意:若直接寻址的地址是SFR中的某一个时,可用名称符号 MOV A,TH0 MOV A,8CH 3寄存器寻址 所需的操作数在某个工作寄存器中(R0~R7) INC R0 注意:指令表中INC Rn,n取0~7 4寄存器间接寻址 指令码中含有操作数地址的寄存器号。实际上是二次寻址 间接寻址采用@Ri或@DPTR,@是区别寄存器寻址的标记 若(RO)=30H,(30H)=0FFH MOV A , R0 MOV A , @R0 寄存器寻址可使单片机寻址扩大到64K 5相对寻址 指令码中含有相对地址的偏移量 MOV A,40H ADD A,#30H SJMP SOUT ;PC=PC+2+rel 。 ; 。 。 SOUT:MOV 50H,A 6变址寻址 基地址寄存器和偏移量 MOVC A, @A+PC MOVC A, @A+DPTR 注意:变址寻址区是程序存储器而不是数据存储器。 执行前,应预先在DPTR和A中存放地址,为指令执行提供条件。 7位寻址 指令中含有位地址 位地址和字节地址的区分通过指令区分: MOV A,20H MOV C,20H 可供位寻址的区域 片内RAM的20H~2FH为位寻址空间(00~7FH) 某些SFR:凡是地址能被8整除的SFR,共11个。 位地址的表示方法 MOV C,ACC.7 MOV 20H,C MOV 24H.0,C 第三节 指令系统 MCS-51汇编语言是用42种操作码助记符描述33种操作功能,一种功能可能有几种助记符,与寻址方式结合共产生111条指令。 数据传送类:28条 算术运算类:24条 逻辑运算类:25条 控制转移类:17条 位操作类: 17条 1数据传送类28条 传送数据可在ACC,R0~R7,内部RAM,外部RAM间进行,其中A, R0~R7的操作最多 传送类指令不影响PSW(除P位) 已知(70H)=60H,(60H)=20H MOV R0,#70H MOV A,@R0 MOV R1,A MOV 40H,@R1 MOV @R0,P1 查表指令举例1 ORG 8000H MOV A ,#40H MOVC A,@A+PC;A=? … ORG 8040H DB 41H 42H 43H 44H 查表指令举例2 ORG 8000H … MOV A ,#03H MOV DPTR,#8040H MOVC A,@A+DPTR;A=? … ORG 8040H DB 41H 42H 43H 44H 数据传送类指令小结 2算术操作类24条 加、减、乘、除、增1、减1 影响PSW中的CY、AC、OV、P 不带进位加法4 带进位加法4 带借位减法4 加1指令5 减1指令4 十进制调整指令1 乘除法指令2 加、减法指令(ADD ADDC SUBB INC DEC) 无符号数和有符号数由用户自己决定 均以ACC作为目的操作数 带符号数运算时,必须检查溢出位OV 若进行不带进位的减法时,用CLR C,将进位位清零即可。 DA A为十进制调整指令,紧跟加法指令 BCD码减法 求BCD码减数的补数:9AH-减数 被减数加补数 结果用十进制加法调整指令 例:91-36=? CLR C MOV A,#9AH SUBB A,#36H ADD A,91H DA A 乘除法指令 只能进行无符号的乘除法 虽影响0V,但意义不同 MUL AB;BA,OV=1表示B≠0 DIV AB;A…B, 0V=1,B=0,除法无意义 举例 MOV A,#5AH ADD A,#6B H01101011(+ ---------------------CY = AC= OV= 3逻辑运算类24条 读-修改-写指令 对数据进行逻辑处理 模拟各种硬件电路的逻辑功能 逻辑与ANL 逻辑或ORL 逻辑异或XRL 逻辑移位 RR RRC RL RLC 累加器清零与取反CLR CPL 带进位移位和不带进位移位 例M1和M1+

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档