[高等教育]第三章指令系统20120320.ppt

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

逻辑运算类指令小结 控制转移类指令(17条) 控制转移类指令 控制程序转移类指令共有17条,不包括按布尔变量控制程序转移的指令。 分 全存贮空间的长调用、长转移; 按2KB分块的程序空间内的绝对调用和绝对转移; 全空间的长相对转移; 一页范围的短相对转移; 条件转移 这类指令用到的助记符有:ACALL、AJMP、LCALL、LJMP、SJMP、JMP、JZ、JNZ、CJNE、DJNZ。 ⑴ 长转移 LJMP addr16 ;PC addr16 addr15~8 02H 机器码 addr7~0 三字节指令 ⑵ 绝对转移 AJMP addr11 ;PC10~0 A10~0 A10A9A800001 A7 ~A0 机器码 ;PC (PC)+2 转移范围 2KB 转移范围 64KB 无条件转移指令 双字节指令 无条件转移指令 AJMP 将程序存储器分为: 32个区:由PC15~11决定,每个区2KB; 每个区分8页:由A10、A9、A8决定。 A7 ~ A0 A10A9A8 00001 PC15 ~ PC11 PC10PC9PC8PC7 ~ PC0 …... 在2区形成 11位目标地址 . . . . . . . . . AJMP 0区 1区 31区 0000H 07FFH 0800H 0FFFH 1000H 17FFH F800H FFFFH . . . 1000H 17FFH 保持高5位地址以确定某区 0 0 0 1 0 2区 2KB 范围内 页内地址 页地址 操作码 00001 例:AJMP add11的执行过程 无条件转移指令 AJMP只能实现2KB范围内的转移,转移时必须保持5位地址不变 例如:2350H AJMP转移范围:2000H~27FFH 指令2350H AJMP 4000H ? × ⑶ 短转移 SJMP rel ;PC (PC)+rel 指令中的rel是8位带符号补码,范围-128~+127。可由汇编自动计算并填入指令代码,也可手工计算。 ;PC (PC)+2 rel 机器码 双字节指令 计算式:rel =目标地址 -(PC+2) 相对转移指令 相对转移指令 例:在下列程序段中,计算出相对转移指令SJMP NEXT 机器码中rel 值。 指令地址 汇编地址 机器码 (PC)目标→2010H NEXT:ADD A,#05H ; 24 05 … … … (PC)当前→2030H SJMP NEXT ; 80 rel (PC)下条→2032H MOV A,#03H ; 74 03 解 : (PC)目标→2010H, (PC)下条= (PC)当前+2= 2030H +2=2032H, Rel= (PC)目标- (PC)下条=2010H-2032H=-22H,rel为负数,所以用补码表示: [rel]补码=M+rel=100H+(-22H)=0DEH,指令机器码是80DE 例:分析指令 SJMP $ 符号“$”指本指令执行前的PC值,指令“SJMP $”执行后,程序仍然转移回此指令继续执行,计算机于是不断的执行这一指令,相当于进入等待状态。 原地踏步 相对转移指令 间接长转移(散转)指令 用散转指令,可根据累加器中的值,实现多路分支转移。 JMP @A+DPTR ;PC (A)+(DPTR) 73H 机器码 单字节指令 条件转移指令 MCS-51单片机条件转移指令共有5类,判零转、判CY转、判位转、判位清零转及比较转移指令。 例 从P1.7输出5个方波 PULSE: MOV R2,#10 ;预置方波数 CPL P1.7 ;1个机器周期 DNLZ R2 ,PULSE;2个机器周期 JZ rel ;累加器为零转移 JNZ rel ;累加器为非零转移 CJNE

文档评论(0)

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

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

1亿VIP精品文档

相关文档