You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GDB调试时cpsr寄存器显示的[ EL=0 ]及SS标识是什么含义

GDB中AArch64架构CPSR寄存器输出字段解析

你本地GDB打印的CPSR寄存器内容为:

cpsr           0x80200000          [ EL=0 SS N ]

各字段含义如下:

  • EL=0:对应ARMv8及之后架构的异常级别(Exception Level)字段,存储在CPSR的M[3:2]位段,代表CPU当前运行的特权级,特权级随EL数值升高而递增:
    • EL0:最低特权级,即普通用户态,用户态应用程序运行在该级别,无法直接访问硬件、系统控制寄存器等敏感资源
    • EL1:内核态特权级,操作系统内核运行在该级别
    • EL2:虚拟化监控层特权级,Hypervisor运行在该级别
    • EL3:安全监控层特权级,负责安全世界与非安全世界的切换
      当前显示EL=0,说明CPU此刻正运行在用户态。
  • N:通用条件标志位中的负标志(Negative),对应CPSR第31位。当最近一次会修改标志位的运算结果为负值时,该位会被置1。当前输出中N位被置位,说明上一次影响标志位的运算结果最高位为1。
  • SS:软件单步(Software Step)标志位,对应CPSR第21位。该位属于ARM调试架构定义的控制位,不属于基础算术运算标志位,因此不会出现在通用指令集的标志位说明文档中。当SS位被置1时,CPU每执行完一条指令就会触发调试异常,GDB的指令级单步功能(如stepi命令)就是通过配置该位实现的。当前SS位置1,说明当前正处于单步调试状态。

你看到的CPSR值0x80200000和解析结果完全匹配:0x80000000对应第31位N位,0x00200000对应第21位SS位,低段位M字段值为0对应EL0运行级别。

内容的提问来源于stack exchange,提问作者Muhammad Ikhwan Perwira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 09:09:42