ARM寄存器

来源:互联网 发布:如何进行数据预处理 编辑:程序博客网 时间:2024/05/21 17:59

 ARM 有37个32-Bits长的寄存器.
 1 个用作PC( program counter)‏
 1个用作CPSR(current program status register)‏
 5个用作SPSR(saved program status registers)‏
 30 个通用寄存器
 Cortex体系结构下有40个32-Bits长的寄存器
 Cortex-A多出3个寄存器,Monitor 模式 r13_mon , r14_mon
 当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取:
 相应的r0-r12子集
 相应的 r13 (the stack pointer, sp) and r14 (the link register, lr)‏
 相应的 r15 ( the program counter, pc)‏
 相应的CPSR(current program status register, cpsr)‏
 特权模式 (除system模式) 还可以存取;
 相应的 spsr (saved program status register)‏

 

程序状态寄存器(cpsr)

条件位:
 N = Negative result from ALU
 Z = Zero result from ALU
 C = ALU operation Carried out
 V = ALU operation oVerflowed
 Q 位:
 仅ARM 5TE/J架构支持
 指示饱和状态
 J 位
 仅ARM 5TE/J架构支持
 J = 1: 处理器处于Jazelle状态
 DNM位:Do Not Modify
 GE[3:0] 大于或等于(当执行SIMD指令时有
效)
 IT[7:2] IF….THEN….指令执行状态位
 E位:大小端控制位
 A位:A=1 禁止不精确的数据异常
 中断禁止位:
 I = 1: 禁止 IRQ.
 F = 1: 禁止 FIQ.
 T Bit
 T = 0;J=0; 处理器处于 ARM 状态
 T = 1;J=0 处理器处于 Thumb 状态
 T = 1;J=1 处理器处于 ThumbEE 状态
 Mode位:
 处理器模式位

0 0
原创粉丝点击