C++学习(三九九)ADRP指令

  14:    90000014     adrp    x20, 0 <__dso_handle>
  18:    90000001     adrp    x1, 0 <_GLOBAL__sub_I_geotiff.cpp>
  1c:    91000294     add    x20, x20, #0x0
  20:    91000021     add    x1, x1, #0x0

ADRP指令

  • 编译时,首先会计算出当前PC到exper的偏移量#offset_to_exper
  • pc的低12位清零,然后加上偏移量,给register
  • 得到的地址,是含有label的4KB对齐内存区域的base地址;

ADR指令

  • 编译时,首先会计算出当前PC到exper的偏移量#offset_to_exper
  • 然后会用ADD或SUB指令,来替换这条指令;例如ADD register,PC,#offset_to_exper
  • register就是exper的地址;

每次看到adrp指令和add指令一起出现时,就代表着将会向某个寄存器中存储变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值