第3章80C5的指令系统.pptVIP

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章80C5的指令系统

第3章 80C51的指令系统 3.1 指令格式及常用符号 单字节指令(49条) 双字节指令(45条) 书写格式 描述符号 一般不影响标志寄存器PSW的状态。 1、16位传送(仅1条) MOV direct,direct 以DPTR内容为基址 读片外RAM 入栈指令PUSH 字节交换指令XCH 半字节交换指令XCHD 1、当(01H)=00H,将78H入R0中,PSW中RS1RS0 =00,有几种方法?分别是什么? MOV R0,#78H MOV @R1,#78H MOV 00H,#78H 2、将内部RAM中30H和31H的低半字节组成一个字节放入片内RAM中32H中。 3、片外RAM中0060H内容片内RAM31H内容低4位互换后送回到片外0061H中。 CY为1,无符号数(字节)加减发生进位或借位 OV为1,有符号数(字节)加减发生溢出错误 AC为1,十进制数(BCD码)加法的结果应调整 P为1,存于累加器A中操作结果的“1”的个数为奇数 将内部RAM33H~30H与RAM43H~40H连续四字节的内容相加后结果存于内部RAM33H~30H中 MOV R7,#4 MOV R0,#30H MOV R1,#40H CLR C LOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R7,LOP RET CY为1,表示D7位需借位 AC为1,表示D3位需借位 OV为1,表示“D6有借位D7无借位”或“D7有借位D6无借位” 3.5 逻辑运算与循环类指令(24条) 例:将片内RAM31H30H整体带进位的左移1位。 CLR C MOV A,30H RLC A MOV 30H,A MOV A,31H RLC A MOV 31H,A 3.6 控制转移类指令(17条) 条件转移类指令范例——方案一 条件转移类指令范例——方案二 条件转移类指令范例——方案三 条件转移类指令范例——方案四 3.7 位操作类指令(17条) 位操作是以位为单位进行的各种操作。位操作指令中的位地址有4 种表示形式: 长跳转 LJMP addr16 ;PC ← addr16 相对转移 SJMP rel ;PC ←(PC)+ 2,PC ←(PC)+ rel 目标地址rel 对应范围为 +127 ~-128。 【例】若“NEWADD”为地址1022H,PC的当前值为1000H。执行指令 SJMP NEWADD 后,程序将转向1022H处执行(rel=20H= 1022H-1000H-2)。解析如下: 散转移 JMP @A+DPTR;PC ←(PC)+ 1,PC ←(A)+(DPTR) 可完成多条判跳指令的功能 mov a,r7 add a,r7 MOV DPTR,#TABLE JMP @A+DPTR TABLE:AJMP ROUT0 AJMP ROUT1 AJMP ROUT2 AJMP ROUT3 据R7内容转移 3.6.2 条件转移 累加器判0转移 比较不等转移 减1不为0转移 【例】有一段程序如下,该程序执行后, (A)=10+9+8+7+6+5+4+3+2+1=37H MOV 23H,#0AH CLR A LOOPX:ADD A,23H DJNZ 23H,LOOPX SJMP $ 还有什么方法实现循环的终止? 将00H~0FH这16个数顺序地置入片内RAM20H~2FH单元中。 MOV R0,#20H MOV R7,#16 CLR A LOOP:MOV @R0,A INC A INC R0 DJNZ R7,LOOP SJMP $ MOV R0,#20H CLR A LOOP:MOV @R0,A INC A INC R0 CJNE A,#10H,LOOP

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档