指令系统控制程序转移类指令new下.pptVIP

指令系统控制程序转移类指令new下.ppt

  1. 1、本文档共34页,可阅读全部内容。
  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文档。上传文档
查看更多
指令系统控制程序转移类指令new下

3.3.4 控制程序转移类指令 包括以下类型: 无条件转移和条件转移 相对转移和绝对转移 长转移和短转移 调用与返回指令 3.3.4 控制程序转移类指令 1.无条件转移指令 ①短转移类指令: AJMP addr11 ;先(PC)+2→PC,后addr11 →PC10~0,( PC15~11 )不变 程序转移范围:2KB的程序存储器地址空间。 2字节指令 例:1030H:AJMP 0010000 0000B 问:转移的地址是多少? 3.3.4 控制程序转移类指令 ②长转移指令 LJMP addr16 ;addr16→PC。 3字节指令 指令中:第二字节装入PC的高8位,第三字节装入PC的低8位。 程序转移范围:64KB的程序存储器地址空间。 3.3.4 控制程序转移类指令 ③相对转移指令 SJMP rel ;先(PC)+2→PC,后(PC)+rel → PC ;2字节指令 程序转移范围:256B. ③相对转移指令“SJMP rel” ★反向跳转时: rel=[目的地址-源地址-2]补 =[ -2]补-|地址差| =FEH-|地址差| 编程时,可用标号代替转移目的地址, rel 交给编译程序计算。 例如: SJMP NEXT … NEXT: … 总结 短转移类指令:AJMP addr11 长转移类指令:LJMP addr16 相对转移指令:SJMP rel 这三条指令,可理解成:PC值改变,即跳转到一个标号处。 它们的区别: 跳转的范围不同(2KB;64KB ;-128~+127 )。 指令构成不同。 AJMP、LJMP后跟的是绝对地址, 而SJMP后跟的是相对地址。 指令长度不同(2字节;3字节;2字节)。 原则上,所有用SJMP或AJMP的地方都可以用LJMP来替代。 3.3.4 控制程序转移类指令 ④间接转移指令(散转指令) JMP @A+DPTR ;(A)+(DPTR)→PC。 1字节指令 使用该指令前,应先给DPTR赋值,A中的内容为无符号数。 转移范围:256B. ?该指令多用于多分支程序结构中。 [P75.例3-11]根据累加器A中命令键的键值,设计命令健操作程序入口跳转表。 3.3.4 控制程序转移类指令 2. 空操作 NOP ;(PC)+1→PC。 1字节指令 3.3.4 控制程序转移类指令 ⑴判A内容是否为0转移指令 JZ rel ;(PC)+2→PC。若A=0,则转移到(PC)=(PC)+rel; ; 否则顺序执行。 JNZ rel ;(PC)+2→PC。若A≠0,则转移到(PC)=(PC)+rel ; ;否则顺序执行。 在编写汇编语言源程序时,可以直接写成: JZ 标号 ;即转移到标号处。例如: JZ LOOP ⑴判A内容是否为0转移指令 例: MOV A,R0 JZ L1 MOV R1,#00H AJMP L2 L1: MOV R1,#0FFH L2: SJMP L2 END 问:如果执行程序前(R0)=0,执行上述程序后,(R1)=?;若执行程序前(R0)?0,则(R1)=?。 3.3.4 控制程序转移类指令 ⑵比较(不相等)转移指令 CJNE (目的字节),(源字节),rel ;3字节指令 ① CJNE A,#data,rel ② CJNE A,direct,rel ③ CJNE Rn,#data,rel ④ CJNE @Ri,#data,rel ⑵比较(不相等)转移指令 ① CJNE A,#data,rel ;先(PC)+3→PC 若(A)#data,则(PC)+rel→PC,且0→CY; 若(A)#data,则(PC)+rel→PC,且1→CY; 若(A)=#data,则顺序执行,且0→CY。 ⑵比较(不相等)转移指令 ③ CJ

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档