51单片机的汇编指令中AJMP 和SJMP都是两个字节,都是两个机器周期,它们有什么区别呢?

2025-04-05 03:03:22
推荐回答(1个)
回答1:

AJMP是短转移指令。其转移范围为当前指令地址高5位相同的2K范围。
SJMP为相对转移指令。其转移范围为当前指令地址-128~+127范围。
追问
谢谢你!你说的很对!如果AJMP比SJMP跳转的更远,岂不是可以代替所有的SJMP?有AJMP已经足够了,那为什么还要设有SJMP指令呢?
----
AJMP,虽然比 SJMP 跳转的更远,
但是,它也有跳不到的地方,而这个地方,却可能是 SJMP 可以跳到的。
你再看一眼,它们的跳转范围,就知道了。