ARMv8架构特殊寄存器介绍-1

1,ELR寄存器(Exception Link Register )

The Exception Link Register holds the exception return address。

异常链接寄存器保存异常返回地址。最常用也很重要。

2,SPSR(Saved Process Status Register)

当获取异常时,处理器状态存储在相关的Saved Program Status中寄存器(SPSR),与ARMv7中的CPSR类似。SPSR保存PSTATE的值在执行一个异常时,用于恢复PSTATE的值异常返回。
The individual bits represent the following values for AArch64:

  • N Negative result (N flag).
  • Z Zero result (Z) flag.
  • C Carry out (C flag).
  • V Overflow (V flag).
  • SS Software Step. Indicates whether software step was enabled when an
    exception was taken.
  • IL Illegal Execution State bit. Shows the value of PSTATE.IL
    immediately before the exception was taken.
  • D Process state Debug mask. Indicates whether debug exceptions from
    watchpoint, breakpoint, and software step debug events that are
    targeted at the Exception level the exception occurred in were masked
    or not.
  • A SError (System Error) mask bit.
  • I IRQ mask bit.
  • F FIQ mask bit.
  • M[4] Execution state that the exception was taken from. A value of 0
    indicates AArch64.
  • M[3:0] Mode or Exception level that an exception was taken from.

在ARMv8中,写入的SPSR依赖于Exception级别。如果在EL1中采取异常,则使用SPSR_EL1。如果在EL2中采用异常,则使用SPSR_EL2在EL3中采用异常,则使用SPSR_EL3。当取an时,核心填充SPSR

例外。

注意:

与异常级别相关联的寄存器对ELR_ELn和SPSR_ELn保留它们在较低的Exception级别执行期间的状态

相关推荐
智者知已应修善业41 分钟前
【proteus中lm339电压滞回比较器达到三角波转换成方波】2023-4-13
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
sayang_shao1 小时前
ARM架构运行模式学习笔记
arm开发·学习·架构
坤坤藤椒牛肉面2 小时前
arm基础IMX6ULL----点亮led
arm开发
Flamingˢ3 小时前
基于ARM的裸机程序设计和开发(四):硬件编程原理与GPIO控制思路
arm开发
aseity6 小时前
Debian10 ARM KVM 虚拟机安装记录
arm开发
li星野7 小时前
RTOS面试完整模拟题(嵌入式系统方向)
arm开发·面试·职场和发展
国科安芯10 小时前
地面能躲过辐射吗?什么又是软错误或者硬故障呢?
硬件工程
路溪非溪10 小时前
BLE的广播、扫描和连接等工作机制总结
linux·arm开发·驱动开发
忆和熙13 小时前
AArch64异常指令与异常表(ARMv8异常机制——AArch64异常调用指令与异常表)
arm开发·arm异常
szxinmai主板定制专家15 小时前
基于 STM32 + FPGA 船舶电站控制器设计与实现
arm开发·人工智能·stm32·嵌入式硬件·fpga开发·架构