SJMP $在单片机汇编语言延时程序的作用?

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:33:07
这个问题不懂,有懂得给我解释一下,谢谢了!

SJMP $ 是原地转移的意思。
说它是延时,这个“时间”可是无限的;说它是“死机”也差不多。
但是,它在原地转移的时候,可能插入中断,所以,它还不是真正的死机。

sjmp$
ajmp$ 都是无条件返回本条指令,不是延时,延时的话就nop,或者程序延时
ljmp$

程序延时

a1:
mov r3,#200
a2:
mov r3,#200
djnz r2,$
djnz r3,a2

end

不是,他是“原地踏步”的意思,也就是等待你程序的某一部分来使他跳出这个等待,比如中断!
延时程序是延长一个具体的时间,而SJMP的等待虽然延时的效果,但他延时效果是不稳定的,一中断他就跳出来了,没中断的话他就无限制的“原地踏步”

等待,执行了这个程序,没有中断就出不来了

原地踏步,就是程序转移到自己身上。遇到中断就执行中断服务,然后还是回到这里。