- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.6.1 无条件转移指令 绝对转移指令的执行分为两步: 第一步,取指令。此时PC自身加2指向下一条指令的起始地址(称为PC当前值)。 第二步,用指令中给出的11位地址替换PC当前值的低 11位,PC高5位保持不变,形成新的PC地址——即转移的 目的地址。 3.6.1 无条件转移指令 11位地址的范围为00000000000~11111111111,可转移的范围是2KB。如图3-7所示。注意转移到的位置是与PC+2的地址在同一个2KB区域。例如AJMP指令地址为1FFFH,加2以后为2001H,因此可以转移的区域为2000H~27FFH的区域。图 3-7 AJMP指令转移范围 ? 3.6.1 无条件转移指令 例3-21 分析下面绝对转移指令的执行情况。 1234H:AJMP 0781H 解 在指令执行前,(PC)=1234H;取出该指令后, (PC)+2 形成PC当前值,它等于1236H,指令执行过程就 是用指令给出的11位地址1 1 1 1 0 0 0 0 0 0 1B替换 PC当前值的低11位。形成新的PC值为1781H,所以指令执 行结果就是转移到1781H处执行程序。 应注意:只有转移的目的地址在2KB范围之内时,才可 使用AJMP指令,超出2KB时,应使用长转移指令LJMP。 3.6.1 无条件转移指令 3.短转移指令 SJMP rel ;PC ←(PC) + 2, PC ←(PC) + rel SJMP是无条件相对转移指令,该指令为双字节,rel是 相对转移的偏移量。指令的执行分两步完成: 第一步,取指令。此时PC自身加2形成PC的当前值。 第二步,将PC当前值与偏移量rel 相加形成转移的目的 地址。即: 目的地址=(PC)+2 + rel 3.6.1 无条件转移指令 rel是带符号的相对偏移量,其范围为-128~+127, 负数表示向后转移,正数表示向前转移。 这条指令的优点是:指令给出的是相对转移地址,当程序地址发生变化时,只要相对地址不发生变化,该指令就不需要作任何改动。 在编写程序时,在rel位置上以符号地址形式给出转移的目的地址,由汇编程序在汇编过程中自动计算和填入偏移量。省去人工计算偏移量的工作。 3.6.1 无条件转移指令 4.变址寻址转移指令(又称散转指令、间接转移指令) JMP @A+DPTR ;PC ←(A)+(DPTR) 指令功能是把累加器A中的8位无符号数与基址寄存器DPTR中的16位地址相加,所得和作为目的地址送入PC。 指令执行后不改变A和DPTR中的内容。 指令特点:转移地址可以在程序运行中加以改变。 如在DPTR中装入多分支转移指令表的首地址,而由累 加器A中的内容来选择应转向哪一条分支,实现由一条指令完成多分支转移的功能。 3.6.1 无条件转移指令 例3-22 设累加器A中存有用户从键盘输入的键值0~3, 键处理程序分别存放在KPRG0、KPRG1、KPRG2、KPRG3 处,试编写程序,根据用户输入的键值,转入相应的键处理 程序。 3.4.6 乘、除法指令 1.乘法指令 MUL AB ;BA←(A)×(B) 指令功能是把累加器A和寄存器B中的两个8位无符号数相乘,所得16位乘积的低8位放在A中、高8位放在B中。 乘法指令执行后会影响三个标志: 若乘积小于FFH(即B的内容为0),OV=0,否则OV=1。 CY总是被清0; 奇偶标志P仍按A中1的奇偶性来确定。 3.4.6 乘、除法指令 例3-12 已知(A)=80H,(B)=32H, 执行指令 MUL AB 结果:(A)=00H,(B)=19H,OV=1,CY=O,P=0。 OV=1表明乘积的高8位不为0。 3.4.6 乘、除法指令 2.除法指令 DIV AB ;A←(A)÷(B)之商,B←(A)÷(B)之余数 这条指令的功能是对两个8
您可能关注的文档
- 单片机原理及应用技术-基于Keil C和Proteus仿真第3章 单片机编程语言.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第4章 STC89C52单片机硬件结构.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第5章 STC89C52单片机中断系统.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第6章 STC89C52单片机定时计数器.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第7章 STC89C52单片机串行通信.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第8章 STC89C52单片机存储器扩展.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第10章 STC单片机与IO外部设备接口.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第11章 STC89C52与AD、DA转换器的接口.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第12章 STC单片机应用系统设计实例1.ppt
- 单片机原理及应用学习资料.ppt
原创力文档


文档评论(0)