ARM的位置无关码

PC相关,位置无关的指令:adr、b
位置无关码可以运行在非连接地址(基于PC)
 
ldr Rn,Label    arm指令        取值    位置无关 反汇编:相对于PC取Lable的值
ldr Rn,=Label    伪指令         取地址    位置相关 反汇编:将Label的地址(绝对地址)保存在一个编译期间确定的地址,
                    然后相对于PC取这个地址的值(Label的绝对地址)
 
adr Rn,Label    位置无关,用于获得Lable的真正运行地址(而不是链接地址);
        反汇编中用PC加、减(Lable相对于当前代码的偏移量:编译期间确定)
 
b                位置无关,相对跳转,跳转的地址需要基于PC计算;

你可能感兴趣的:(ARM的位置无关码)