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