最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

无条件转移指令(共4条)

IT圈 admin 25浏览 0评论

2024年5月7日发(作者:介凡白)

MCS-51的控制转移类指令,共17条,分为无条件转移指令、条件转移指令、子程

序调用和返回指令、空操作指令等四类。

无条件转移指令(共4条)

LJMP addr16 ; PC〈—— addr16

AJMP addr11 ; PC〈—— PC+2 , PC10-0〈—— addr11

SJMP rel ; PC〈—— PC+2 , PC 〈—— PC+rel

JMP @A+DPTR ; PC〈—— A+DPTR

第一条指令称为长转移指令(Long Jump);

第二条指令叫作绝对转移指令(Absolute Jump);

第三条指令称作短转移指令(Short Jump);

第四条指令是变址寻址转移指令(散转指令)。

显然,每条指令均以改变程序计数器PC(Program Counter)中的内容为宗旨。

(1) 长转移指令(64KB范围内转移指令)

(2) 长转移指令的功能是:把指令码中的目标地址addr16装入程序计数器PC,使

机器执行下一条指令时无条件转移到addr16处执行程序,不影响任何标志。由于addr1

6是一个16位二进制地址(地址范围为0000H—FFFFH),因此长转移指令一条可以在6

4KB范围内转移的指令。为了使程序设计方便易编,addr16常采用标号地址(如:LOOP、

LOOP1、MAIN、START、DONE、NEXT1……)表示,只有在上机执行前才被汇编(或

代真)为16位二进制地址。长转移指令为三字节,双周期指令。上机试试吧!很直观的!

For Example: LJMP F886H

注意:在下载的这个8051DEBUG软件中,不支持标号,且程序状态字PSW(Progr

am State Word)中的D0位,即奇偶标志位P,与正确的正好相反,这一点是错误的,

用的时候留意一下。

只要记好:累加器ACC中1的个数为奇数,则P=1;否则P=0。

(2)绝对转移指令(2KB范围内的转移指令)

绝对转移指令是一条双字节双周期指令,11位地址addr11(a10—a0)在指令中的

分布是: a10 a9 a8 0 0 0 1|a7 a6 a5 a4 a3 a2 a1 a0,其中,00001B是操作码。

在程序设计中,11位地址也可以用符号表示,但在上机执行前必须按照上述指令格式加以

代真。

绝对转移指令执行时分为两步:

第一步是取指令操作,程序计数器PC中内容被加1两次;

第二步是把PC加2后的高5为地址PC15—PC11和指令代码中低11位构成目标转

2024年5月7日发(作者:介凡白)

MCS-51的控制转移类指令,共17条,分为无条件转移指令、条件转移指令、子程

序调用和返回指令、空操作指令等四类。

无条件转移指令(共4条)

LJMP addr16 ; PC〈—— addr16

AJMP addr11 ; PC〈—— PC+2 , PC10-0〈—— addr11

SJMP rel ; PC〈—— PC+2 , PC 〈—— PC+rel

JMP @A+DPTR ; PC〈—— A+DPTR

第一条指令称为长转移指令(Long Jump);

第二条指令叫作绝对转移指令(Absolute Jump);

第三条指令称作短转移指令(Short Jump);

第四条指令是变址寻址转移指令(散转指令)。

显然,每条指令均以改变程序计数器PC(Program Counter)中的内容为宗旨。

(1) 长转移指令(64KB范围内转移指令)

(2) 长转移指令的功能是:把指令码中的目标地址addr16装入程序计数器PC,使

机器执行下一条指令时无条件转移到addr16处执行程序,不影响任何标志。由于addr1

6是一个16位二进制地址(地址范围为0000H—FFFFH),因此长转移指令一条可以在6

4KB范围内转移的指令。为了使程序设计方便易编,addr16常采用标号地址(如:LOOP、

LOOP1、MAIN、START、DONE、NEXT1……)表示,只有在上机执行前才被汇编(或

代真)为16位二进制地址。长转移指令为三字节,双周期指令。上机试试吧!很直观的!

For Example: LJMP F886H

注意:在下载的这个8051DEBUG软件中,不支持标号,且程序状态字PSW(Progr

am State Word)中的D0位,即奇偶标志位P,与正确的正好相反,这一点是错误的,

用的时候留意一下。

只要记好:累加器ACC中1的个数为奇数,则P=1;否则P=0。

(2)绝对转移指令(2KB范围内的转移指令)

绝对转移指令是一条双字节双周期指令,11位地址addr11(a10—a0)在指令中的

分布是: a10 a9 a8 0 0 0 1|a7 a6 a5 a4 a3 a2 a1 a0,其中,00001B是操作码。

在程序设计中,11位地址也可以用符号表示,但在上机执行前必须按照上述指令格式加以

代真。

绝对转移指令执行时分为两步:

第一步是取指令操作,程序计数器PC中内容被加1两次;

第二步是把PC加2后的高5为地址PC15—PC11和指令代码中低11位构成目标转

发布评论

评论列表 (0)

  1. 暂无评论