以R0和R1为地址寄存器的指令.ppt

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

3.3.6 控制转移指令—无条件转移 (1) 转移指令 AJMP addr11 转移范围:含有下一条指令首地址的同一个2KB范围,即高5位地址相同; * 3.3.6 控制转移指令——空操作指令 单元地址 标号 机器码(H) 主程序 注释 2000H TIME: 7A FA MOV R2,#FAH ; 2002H LOOP1: 7B FA MOV R3,#FAH ; 2004H LOOP2 00 NOP ; 2005H 00 NOP ; 2006H 00 NOP ; 2007H 00 NOP ; 2008H 00 NOP ; 2009H 00 NOP ; 200AH DB F8 DJNZ R3,LOOP2 ; 200CH DA F4 DJNZ R2,LOOP1 ; 200EH 22 RET ; * 本章内容结束! 谢谢大家! * * 3.3.6 控制转移指令—无条件转移 (2)长转移指令 LJMP addr16 说明: 转移范围:64KB全程序空间任何单元 CPU的执行过程 addr16 ? ( PC ) 使用方式: LJMP LABEL 例:长转移指令应用 … ; INC A ; …; LJMP LOOP1 ; 无条件转移到LOOP1执行程序 * 3.3.6 控制转移指令—无条件转移 (3)短转移指令 SJMP rel rel为指令代码中的转移范围(相对量): -128~+127;对应rel值为:00H~7FH(0~+127)、80H~FFH( - 128~ - 1); 用法: SJMP LABEL 例: SJMP NEXT CPU的执行过程 (PC)+2 ? (PC), (PC)+rel ? (PC) * 3.3.6 控制转移指令—无条件转移 (4)间接转移指令 JMP @A+DPTR ;(A)+(DPTR) ? (PC) 说明: (1)具有多分支转移功能,即散转功能,又叫散转指令; (2)转移范围:是以DPTR为首地址的256B。 例: 根据累加器A中的命令键键值,设计命令键操作程序入口跳转表。 * 3.3.6 控制转移指令—无条件转移 CLR C RLC A MOV DPTR,#JPTAB JMP @A+DPTR JPTAB: AJMP CCS0 AJMP CCS1 AJMP CCS2 : * 3.3.6 控制转移指令—条件转移 条件转移指令相当于高级语言的“ IF 条件 THEN 标号”语句 (一)以 累加器A内容为判别条件的转移指令 (1)判(A)为零转移 JZ rel ; (PC)+2??(PC) 当(A)=0时,(PC)+rel??(PC)转移; 当(A)≠0时,顺序执行。 用法: JZ LABEL (PC)+2 ?(PC) (A)=0? (PC)+rel ?(PC) 下一条指令 目标地址 CPU执行过程 Y N (A)=0? 下一条指令 LABEL N Y 二、 条件转移指令 * 3.3.6 控制转移指令—条件转移 (2)判(A)不为零转移 JNZ rel ; (PC)+2??(PC) 当(A) ≠ 0时,(PC)+rel??(PC)转移; 当(A) = 0时,顺序执行。 用法: JNZ LABEL (PC)+2 ?(PC) (A)?0? (PC)+rel ?(PC) 下一条指令 目标地址 CPU执行过程 Y N (A) ? 0? 下一条指令 LABEL Y N * 3.3.6 控制转移指令—条件转移 例:设无符号数存放于20H单元,存放于21H单元, 比较两个数、是否相等,若相等置标志位F0位1,否则,F0

文档评论(0)

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

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

1亿VIP精品文档

相关文档