ARMv8 汇编指令编写的一些小技巧

以A64指令为例

0.向通用寄存器(GPR)写入任意数据的方法

使用mov指令是无法向GPR写入任意数的。但是可以用ldr实现

ldr x0, =0xabcdef

1.向通用寄存器写入函数地址的方法

方法1:

ldr x0, =label   //用ldr指令
blr x0
...
...
label:
    mov x1, #0
    ...
    ...
    ret

方法2:

adr x0, label   //用adr指令
blr x0
...
...
label:
    mov x1, #0
    ...
    ...
    ret

猜你喜欢

转载自blog.csdn.net/liujingyu_1205/article/details/81502321
今日推荐