ARMV8学习之AArch64特殊寄存器

除31个核心寄存器外,还有几个特殊寄存器。

(1)zero寄存器

此寄存器作为源寄存器时,读取为0;作为目标寄存器时,丢弃结果。可在大多数指令中使用。

(2)PC寄存器

对应于ARMV7指令集中的R15。

PC寄存器使能了一些编程技巧,但是也给编译器增加了复杂性。ARMV8中去除了对PC的直接访问。它只能在一些PC寄存器相关的特定指令中隐式访问。PC不能作为数据处理指令或加载指令的目的。

(3)SP寄存器

区分不同的异常级别,EL0只能使用SP_EL0,而其他级别可使用对应级别的SP,或是使用SP_EL0。

多数指令不能访问SP。有一些算数指令可以访问,如ADD指令,可读写当前的SP,以调整一个函数中的SP。

(4)PSR寄存器

进入异常前,PSR寄存器存储PSTATE的值,从执行异常返回时,用于恢复PSTATE。

(5)ELR寄存器

ELR寄存器存储异常返回地址

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值