当前位置:   article > 正文

ARM 寄存器_零值寄存器

零值寄存器
ARM 寄存器
一、64 位 ARMv8 寄存器
ARMv8 体系结构设计了整数通用寄存器和浮点寄存器,同时配置有若干专
用寄存器和大量系统寄存器。
1、 通用寄存器
64 位 ARM 执行状态 AArch64 提供 31 个 64 位通用寄存器。每个寄存器可以
作为 64 位访问,名为 X0~X30;也可以只进行低 32 位的访问,名为 W0~W30。
其中 X30 用于过程调用的连接寄存器 LR(Link Register)。
2、 专用寄存器
1)零值寄存器
AArch64 并没有一个称为 X31(W31)的寄存器。
64 位零值寄存器 XZR、32 位零值寄存器 WZR。当 ZR 作为源操作数,读得数
值为零;当 ZR 作为目的寄存器,写入的结果被丢弃。大部分(不是所有)指令
都可以使用零值寄存器。
2)程序计数器 PC
AArch64 有一个 64 位的程序计数器 PC,保存当前指令的主存地址。
3) 堆栈指针 SP
AArch64 的堆栈指针 SP 是一个 64 位寄存器,其低 32 位可以通过 WSP 名称
访问。每个异常层有对应的堆栈指针寄存器,加_ELn(n=0~3)区别。
3、处理状态 PSTATE
AArch64 的各个处理器状态字段分散保存,可以独立访问,但集中在一起
被称为处理状态 PSTATE(Process State)。AArch64 在 EL0 层,主要访问 4 个
条件标志位,利用条件标志进行条件分支。条件标志位有负数 N、零 Z、进位 C
和溢出 V 标志。
4、系统寄存器
系统寄存器保存系统配置和程序状态,提供对系统监控、处理器控制等的
支持,主要有系统控制寄存器、调试寄存器、基准定时寄存器、性能监控寄存
器等等。大多数系统寄存器在 EL0 层不能访问。
5. SIMD 和浮点寄存器 SIMD 和浮点寄存器有 32 个 128 位寄存器,取名 V0~V31,每个都可以多种
形式访问,具有多种形式的名称。
二、32 位 ARMv7 寄存器
1、编号 R0-R15 的 16 个 32 位寄存器,,其中 R13 是堆栈指针 SP,R14 是接
寄存器 LR,R15 是程序计数器 PC。
2、程序状态寄存器、中断屏蔽寄存器、特殊寄存器。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/487014
推荐阅读
相关标签
  

闽ICP备14008679号