ARM详解

工作状态

不同工作状态可以随时切换,处理器工作状态切换不行影响处理器工作模式和相应寄存器的内容

ARM状态

处理器执行32位的字对齐的ARM指令

Thumb状态

处理器执行16位半字对齐的Thumb指令

存储器格式

从0地址开始,32位,最多4GB 字对齐

大端格式

高字节在低地址

小端格式

低字节在低地址

工作模式

用户模式(Usr)

除用户模式外其他模式称为非用户模式特权模式(Privileged Modes)

系统模式(sys)

除 用户模式 和系统模式外 其他模式 称为 异常模式(Exception Modes)

快速中断模式(FIQ)

外部中断模式(IRQ)

管理模式(svc)

数据访问终止模式(abt)

未定义指令中止模式

ARM状态寄存器

37个32位寄存器
任何时刻可以访问16个通用寄存器 一到两个状态寄存器
在任何事后 通用寄存器R0~R14 程序寄存器PC(R15) 一个状态寄存器是可访问的
ARM状态寄存器

31个通用寄存器

不分组寄存器 R0 ~ R7 任何模式都用同一套
分组寄存器
R8~R12
FIQ模式用一套
FIQ以外的模式用一套
R13 堆栈指针SP
R14子程序连接寄存器(Link Register -LR) 指向 函数返回地址
每个模式用不同套(User System 用同一套)
R15 PC
程序寄存器

6个状态寄存器

格式

位数3130292827:87654:0
名称NZCV(前为条件码标志位) 保留位 (后为控制位IFTM4:M0
功能NegativeZeroCarrryOverflow保留位IRQ中断禁止位FIQ中断禁止位 (1: )工作状态位(ARM/Thumb)M4:M0

CPSR
记录当前状态
包含条件码标识 中断禁止位 当前处理器模式 其他状态 控制信息
SPSR 5个异常模式才有,各用一个
当进入异常模式,用于保存原来CPSR寄存器的内容

Thumb状态寄存器

Thumb寄存器
比ARM状态少了R8~R12寄存器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值