单片机AJMP有什么用

2024年11月16日 08:19
有2个网友回答
网友(1):

是无条件跳转指令之一,叫做绝对跳转。还有LJMP长跳转long jump,SJMP短跳转short jump,JMP @A+DPTR多目标地址跳转(多于两个)。主要是用来改变程序执行的路线,到需要的指令或程序去执行。他们的不同对于LJMP,AJMP,SJMP主要是跳转的能力不一样。LJMP可以在51的最大ROM空间64KB找到地方,SJMP则只能在-128到+127个ROM单元范围内跳,AJMP的范围为正负2K单元。使用时注意跳的目的地和当前地址的距离范围不能超过上述值,否则,就会跳过不去。像跳远运动员一样,你的目标和他的跳跃能力要匹配。AJMP ABC就是从当前地址跳到一个名字叫ABC的地方去。

网友(2):

类似的无条件转移指令共有三条:LJMP、AJMP和SJMP。
LJMP转移的范围最大,可达64K,但是其指令为三个字节。
AJMP转移的范围稍小,只有2K,但是其指令为两个字节。
多年前,单片机的ROM的容量小,外接芯片价格也很贵,AJMP就较受青睐;
目前,ROM容量已经不算什么问题,编程时,用了多少字节,多数情况下都不用考虑。所以,AJMP指令的优点,就不被人看重了。
现在,AJMP几乎就没有什么必要使用了,完全可以用LJMP代替。