arm汇编b指令是绝对地址还是相对地址跳转

2025-04-15 01:54:06
推荐回答(1个)
回答1:

B指令的汇编形式为:
b label
:
:
label:
mov r1,r2
mov r2,r3
从汇编指令的书写形式上,确实是一条绝对跳转指令,但是实际上汇编在将“B label”这条指令翻译为机器指令的时候,会计算label相对于当前PC的偏移,将这个偏移值放到机器码中,所以实际上,B跳转指令为相对跳转指令。用相对跳转指令就可以编写位置无关的代码。