打印
[KungFu8位 MCU]

KF8的12种转移指令详析

[复制链接]
887|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

沙发
静听风易|  楼主 | 2018-5-26 17:28 | 只看该作者
DECRJZ dir 减 1 跳转指令,结果送给 Rn
语法:    DECRJZ  dir
操作数:   dir
操作:    R0←(dir)-1,为0跳过下一条指令
影响标志位:  无
说明:此指令是将寄存器 dir 的内容减1,结果送给寄存器组 Rn。如果Rn 内容为0,则跳过下一条指令,如果不为 0,则继续执行下一条指令

使用特权

评论回复
板凳
静听风易|  楼主 | 2018-5-26 17:28 | 只看该作者
DECJZ dir 减 1 跳转指令
语法:    DECJZ   dir
操作数:   dir
操作:    dir←(dir)-1,为0跳过下一条指令
影响标志位:  无
说明:此指令是将寄存器 dir 的内容减1,结果送给寄存器 dir。如果dir 内容为0,则跳过下一条指令,如果不为 0,则继续执行下一条指令

使用特权

评论回复
地板
静听风易|  楼主 | 2018-5-26 17:28 | 只看该作者
DECJZ Rn 减 1 跳转指令
语法:    DECJZ   Rn
操作数:   Rn
操作:    Rn←(Rn)-1,为0跳过下一条指令
影响标志位:  无
说明:此指令是将寄存器 Rn的内容减1,结果送给寄存器 Rn。如果Rn内容 为 0,则跳过下一条指令,如果不为 0,则继续执行下一条指令。

使用特权

评论回复
5
静听风易|  楼主 | 2018-5-26 17:28 | 只看该作者
INCRJZ dir 加 1 跳转指令,结果送给 Rn
语法:    INCRJZ  dir
操作数:   dir
操作:    R0←(dir)+1,为0跳过下一条指令
影响标志位:  无
说明:此指令是将寄存器 dir 的内容加1,结果送给寄存器组 Rn。如果Rn 内容为0,则跳过下一条指令,如果不为 0,则继续执行下一条指令

使用特权

评论回复
6
静听风易|  楼主 | 2018-5-26 17:29 | 只看该作者
INCJZ dir 加 1 跳转指令
语法:    INCJZ   dir
操作数:   dir
操作:    dir←(dir)+1,为0跳过下一条指令
影响标志位:  无
说明:此指令是将寄存器 dir 的内容加1,结果送给寄存器 dir。如果dir 内容为0,则跳过下一条指令,如果不为 0,则继续执行下一条指令。

使用特权

评论回复
7
静听风易|  楼主 | 2018-5-26 17:29 | 只看该作者
INCJZ Rn 加 1 跳转指令
语法:    INCJZ   Rn
操作数:   Rn
操作:    Rn←(Rn)+1,为0跳过下一条指令
影响标志位:  无
说明:此指令是将寄存器 Rn的内容加1,结果送给寄存器 Rn。如果Rn内容 为 0,则跳过下一条指令,如果不为0,则继续执行下一条指令

使用特权

评论回复
8
静听风易|  楼主 | 2018-5-26 17:29 | 只看该作者
JNB dir ,b 判位转移指令,为 0 跳转
语法:    JNB dir ,b
操作数:   dir
      b (0≤b≤7)
操作: dir的 b 位为0跳过下一条指令
影响标志位:  无
说明:此指令是判断转移指令,判断 dir的b位是否为0,如果为0,则跳 过下一条指令,如果不为 0,则继续执行下一条指令。不影响 PSW标志位

使用特权

评论回复
9
静听风易|  楼主 | 2018-5-26 17:30 | 只看该作者
JB dir ,b 判位转移指令,为 1 跳转
语法:    JB dir ,b
操作数:   dir
      b (0≤b≤7)
操作: dir的 b 位为1跳过下一条指令
影响标志位:  无
说明:此指令是判断转移指令,判断 dir的b位是否为1,如果为1,则跳 过下一条指令,如果不为 1,则继续执行下一条指令。不影响 PSW标志位

使用特权

评论回复
10
静听风易|  楼主 | 2018-5-26 17:30 | 只看该作者
JNB Rn ,b 判位转移指令,为 0 跳转
语法:    JNB Rn ,b
操作数:   Rn
      b (0≤b≤7)
操作: Rn的 b 位为0跳过下一条指令
影响标志位:  无
说明:此指令是判断转移指令,判断 Rn的b位是否为0,如果为 0,则跳过 下一条指令,如果不为0,则继续执行下一条指令。不影响 PSW标志位

使用特权

评论回复
11
静听风易|  楼主 | 2018-5-26 17:30 | 只看该作者
JB Rn ,b 判位转移指令,为 1 跳转
语法:    JB Rn ,b
操作数:   Rn
      b (0≤b≤7)
操作: Rn的 b 位为1跳过下一条指令
影响标志位:  无
说明:此指令是判断转移指令,判断 Rn的b位是否为1,如果为 1,则跳过 下一条指令,如果不为1,则继续执行下一条指令。不影响 PSW标志位

使用特权

评论回复
12
静听风易|  楼主 | 2018-5-26 17:31 | 只看该作者
JMP  #data12 无条件转移指令
语法:    JMP  #data12
操作数: data12,即 12位立即数所指定的地址
操作:    无
影响标志位:  无
说明:此指令是无条件转移指令,提供 12位的地址,可在 4K字范围内无条 件转移到我们 data12 所指的地址单元。双周期指令。如超过 4K 字空间型号, PC 内容需要组合 12bit 外 PCH 中的其余高位部分。

使用特权

评论回复
13
静听风易|  楼主 | 2018-5-26 17:31 | 只看该作者
CALL #data12  子程序调用指令
语法:    CALL #data12
操作数: data,即 12位立即数所指定的地址
操作:    无
影响标志位:  无
说明:此程序是子程序调用指令。当 CPU 执行该句时,可直接寻址 4K 字范 围内的子函数地址,CPU 自动把下一条指令第一字节的地址(PC值,称为断 点)压入堆栈,栈指针(SP)+2,并将子程序的起始地址送入 PC,于是 CPU 去执行子程序。当遇到 CRET 指令时,CPU 自动把断点的地址弹回到 PC 中, 于是 CPU 又回到主程序继续往下执行。针对超过 4K字空间型号,PC 内容需 要组合 12bit 外 PCH 中的其余高位部分。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

231

帖子

0

粉丝