SJMP

更新时间:2023-07-03 10:34

SJMP是51单片机指令,功能是短转移,格式是SJMP rel。作用是PC PC+2 , PC PC+rel。

作用

PC PC+2 , PC PC+rel

转移指令(-128—+127范围内的转移指令)

短转移指令的功能是先使程序计数器PC加1两次(即:取出指令码),然后把加2后的地址和rel相加作为目标转移地址。因此,短转移指令是一条相对转移指令,是一条双字节双周期指令,指令码格式为:80H rel(操作码 地址偏移量),这里,80H是SJMP指令的操作码;rel是地址偏移量,在程序中也常采用符号地址,上机运行前才被代真成二进制形式。

注意事项

遇到具体问题时,头脑中一定要清楚一个关系式:目标转移地址=源地址+2+rel

常见用法

SJMP$

即跳转到本指令的起始位置开始执行,这样就变成了循环执行,即原地跳转,一般用来等待中断。

但是本指令也不宜滥用。这是一条死循环指令,如果系统的中断是开放的,那么SJMP $指令实际上是在等待中断,当有中断申请后,CPU 转至执行中断服务程序中断返回时,仍然返回到这条死循环指令,继续等待中断,而不是返回到该指令的下一条指令。这是因为执行SJMP $后,PC 仍指向这条指令,中断的断点就是这条指令的首字节地址。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}