若执行前ACC≠0.ppt

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

4.3 跳转指令(22条指令) 1、条件跳转指令 2、无条件跳转指令 3、子程序操作指令 4、比较式跳转指令 5、计数循环指令 6、空操作指令 1、条件跳转指令 条件跳转指令是指只有满足某个条件后,程序才可实现转移,当条件满足时,程序按照指令提供的转移偏移量,转移到由PC当前值与偏移量相加得到的目的地址去执行;当条件不满足时,程序顺序执行下一条指令。 4.3 跳转指令(22条指令) 1、条件跳转指令 2、无条件跳转指令 3、子程序操作指令 4、比较式跳转指令 5、计数循环指令 6、空操作指令 2、无条件跳转指令 无条件跳转指令是指当程序执行到该指令时,立即无条件转移到指令所指定目的地址去执行后面的程序。 HERE:SJMP HERE 4.3 跳转指令(22条指令) 1、条件跳转指令 2、无条件跳转指令 3、子程序操作指令 4、比较式跳转指令 5、计数循环指令 6、空操作指令 3、子程序操作指令 子程序操作指令包括主程序调用子程序的指令,以及由子程序返回主程序的指令。 4.3 跳转指令(22条指令) 1、条件跳转指令 2、无条件跳转指令 3、子程序操作指令 4、比较式跳转指令 5、计数循环指令 6、空操作指令 4、比较式跳转指令 比较时跳转指令的功能就是将两个操作数的比较结果作为跳转与否的依据,然后判断是否跳转。 4.3 跳转指令(22条指令) 1、条件跳转指令 2、无条件跳转指令 3、子程序操作指令 4、比较式跳转指令 5、计数循环指令 6、空操作指令 5、计数循环指令 计数循环指令是以寄存器或存储器地址为计数器,每执行一次就把计数器减一,若计数器为0则跳转。 减一不为零跳转。 4.3 跳转指令(22条指令) 1、条件跳转指令 2、无条件跳转指令 3、子程序操作指令 4、比较式跳转指令 5、计数循环指令 6、空操作指令 6、空操作指令 空操作指令的功能只是消耗时间,不做任何操作。 项目三 结束 指令: 执行后,PC指向DELAY卷标的地址,执行DELAY子程序。 执行前,PC指向“ACALL DELAY”指令的地址。 ACALL DELAY 24个时钟脉冲 执行时间: 调用addr11地址的子程序,也就是2KB范围内的子程序,又称为近程调用。 说明: 2B 编译后大小: ACALL addr11 指令: 执行后,PC指向DISP卷标的地址,执行DISP子程序。 执行前,PC指向“LCALL DISP”指令的地址。 LCALL DISP 24个时钟脉冲 执行时间: 调用addr16地址的子程序,也就是64KB范围内的子程序,又称为远程调用。 说明: 3B 编译后大小: LCALL addr16 指令: 执行后,PC指向主程序调用该子程序指令的下一地址。 执行前,PC指向子程序RET指令地址。 RET 24个时钟脉冲 执行时间: 由子程序返回主程序。 说明: 1B 编译后大小: RET 指令: 执行后,PC指向主程序中断之前的PC值,执行下一条地址的指令。 执行前,PC指向中断子程序RETI指令地址。 RETI 24个时钟脉冲 执行时间: 由中断子程序返回主程序。 说明: 1B 编译后大小: RETI 指令: 若执行前ACC ≠(20H),执行后将执行LOOP地址的指令。 若执行前ACC=(20H),执行后程序将继续执行下一行指令。 CJNE A,20H,LOOP 24个时钟脉冲 执行时间: 将A的内容与(direct)相比较,若不等则跳转到rel的相对地址,若相等则继续执行下一条指令。 说明: 3B 编译后大小: CJNE A,direct,rel ACC=(direct)? 指令: 若执行前ACC ≠FFH,执行后将执行LOOP地址的指令。 若执行前ACC=FFH,执行后程序将继续执行下一行指令。 CJNE A,#FFH,LOOP 24个时钟脉冲 执行时间: 将A的内容与立即数data相比较,若不等则跳转到rel的相对地址,若相等则继续执行下一条指令。 说明: 3B 编译后大小: CJNE A,#data,rel ACC=data? 指令: 若执行前(R0)≠100,执行后将执行LOOP地址的指令。 若执行前(R0)=100,执行后程序将继续执行下一行指令。 CJNE @R0,#100,LOOP 24个时钟脉冲 执行时间: 将(Ri)的内容与立即数data相比较,若不等则跳转到rel的相对地址,若相等则继续执行下一条指令。 说明: 3B 编译后大小: CJNE @Ri,#data,rel (Ri)=data? 指令: 若执行前R1≠100,执行后将执行LOOP地址的指令。 若执行前R1=100,执行后程序将继续执行下一行指令。 CJNE R1,#100,LOOP

文档评论(0)

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

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

1亿VIP精品文档

相关文档