单片机 SJMP

51单片机指令。
功能:短转移(Short Jump)
格式:SJMP rel ;
作用: PC 
PC+2 , PC 
PC+rel
短转移指令(-126—+129范围内的转移指令)
  短转移指令的功能是先使程序计数器PC加1两次(即:取出指令码),然后把加2后的地址和rel相加作为目标转移地址。因此,短转移指令是一条相对转移指令,是一条双字节双周期指令,指令码格式为:80H rel(操作码 地址偏移量),这里,80H是SJMP指令的操作码;rel是地址偏移量,在程序中也常采用符号地址,上机运行前才被代真成二进制形式。
   注意:遇到具体问题时,头脑中一定要清楚一个关系式: 目标转移地址=源地址+2+rel[1]
常见用法:
SJMP $
即跳转到本指令的起始位置开始执行,这样就变成了循环执行,即原地跳转,一般用来等待中断。 [2]
但是本指令也不宜滥用。这是一条死循环指令,如果系统的中断是开放的,那么SJMP $指令实际上是在等待中断,当有中断申请后,CPU 转至执行中断服务程序。中断返回时,仍然返回到这条死循环指令,继续等待中断,而不是返回到该指令的下一条指令。这是因为执行SJMP $后,PC 仍指向这条指令,中断的断点就是 [3] 这条指令的首字节地址。

你可能感兴趣的:(单片机 SJMP)