aarch64架构寄存器说明

1、aarch64通用寄存器:
ARMv8-aarch64有31个64位的寄存器:x0~x31,其中x29属于帧寄存器(FP),x30属于程序链接寄存器(LR);
2、aarch64特殊寄存器:

寄存器类型寄存器
Zero registerXZR/WZR
Program counterPC
Stack pointerSP_EL0/EL1/EL2/EL3
Program status registerSPSR_EL1/EL2/EL3
Exception link registerELR_EL1/EL2/EL3

3、PSTATE:处理器状态;不是一个寄存器,由以下几个寄存器共同组成,包括条件寄存器NZCV、SP选择寄存器SPSEL、异常等级寄存器CurrentEL等等。当有异常发生时,PSTATE将保存到SPSRs寄存器中。
4、execption entry:
<!异常类型:同步异常、异步异常即中断,包括SError/IRQ/FIQ>

  • PSTATE -> SPSR_ELx
  • PC -> ELR_ELx //异常链接寄存器;
  • PSTATE(D,A,I,F) -> 0b1111
  • 更新ESR_ELx //异常综合寄存器,用来返回异常原因;
  • 选择SP_ELx
  • 跳转到异常向量定义的地址

5、execption execute
6、execption return:

  • 执行eret指令从异常返回
  • ELR_ELx -> PC
  • SPSR_ELx -> PSTATE
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值