寒假闲来无事准备将自己的走过的arm之路总结一下,今天就先从arm的寄存器说起吧,欢迎各位拍砖。
要介绍arm寄存器之前我们要先了解一下arm处理器的工作模式:
http://blog.csdn.net/abclixu123/article/details/7471822,博主讲的不错),对于ARM指令集而言,PC总是指向当前指令的下两条指令的地址,即PC的值为当前指令的地址值加8个字节程序状态寄存器。
4.CPSR
在官方文档中我们可以找到
下面介绍其中几个比较重要的位,其他位,大家可以参考官方手册:
N: 当两个表示的有符号整数运算时,1表示运算结果为负数,0表示结果为正或零。
Z:1表示运算的结果为零,0表示运算的结果不为零。对于CMP指令,1表示进行比较的两个数大小相等。
C:下面分四种情况讨论C的设置方法:
a)加法运算(包括比较指令CMN):当运算产生了进位时(无符号数溢出),C=1,否则C=0。
b)减法运算(包括比较指令CMP):当运算时产生了借位(无符号数溢出),C=0,否则C=1。
c)对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
d)对于其他的非加/减运算指令,C的值通常不改变。
V:下面分两种情况讨论V的设置方法
a)对于加/减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出。
b)对于其他的非加/减运算指令,C的值通常不改变。
I:1 表示禁止外部(硬件)中断(IRQ)
F:1 表示禁止快速中断(FIQ)
T:1表示为thumb状态0为arm状态
M[4:0]:用来设置处理器的工作模式具体数据见本文开始的介绍。
5.SPSR
SPSR 除usr、sys外,对应用于异常保护的CPSR的备份,异常时,保存CPSR值,异常退出时,将该值恢复到CPSR,以保证程序的正常运行,每一中异常运行模式(除usr和sys)有各自的物理寄存器。
以上是自己的arm寄存器的简单理解,希望各位提出宝贵意见,并且在这个寒假从今天开始没有意外的话我的博客会一天一更,努力学习,欢迎大家监督。
上一篇:ARM汇编与C混合编程
下一篇:ARM系列 STM32F103RCT6 开发
推荐阅读最新更新时间:2024-11-05 15:48
设计资源 培训 开发板 精华推荐
- 使用 Cypress Semiconductor 的 S6AL211 的参考设计
- 黄淮学院立创杯电子科技大赛 1003026A 张晓恒
- ADR395A 5V 输出微功率、低噪声精密电压基准的典型应用
- LT3973EMSE-5 1.8V 降压转换器的典型应用
- DAP42-单芯片板载DAPLINK解决方案
- MD1711DB1,基于 MD1711 + TC6320 高速 ±100V 2A 脉冲发生器的演示板
- LT3091IR 并联器件使用 IMONN 消除镇流器电阻压降的典型应用
- MC-146,i.MX 应用处理器的 32kHz 晶体单元的振荡电路和选择指南
- EVAL-ADM2485EB5Z,用于 ADM2485 半双工、隔离式 RS-485 收发器和变压器驱动器的评估板
- LT1934IS6 独立式 350mA 锂离子电池充电器的典型应用电路
- 村田RFID知识有奖问答 双重好礼等你来挑战
- 有奖问答 | Azure Sphere物联网解决方案 问答排位赛,你能霸屏多久?
- “玄铁杯”第三届RISC-V应用创新大赛—国产高性能RISC-V Linux开发板LicheePi 4A报名专场,万元奖金,邀您奔赴开源设计盛宴
- 抢先体验NUCLEO家族新贵,ST STM32 NUCLEO-F091RC开发板28元包邮!
- 如何用3个关键步骤,来确保下一代设计安全性,深入解读嵌入式设备DeepCover加密控制器,看视频答题赢好礼!
- 助力EEWorld 19成长计划,赢取精美好礼!
- 初夏TI电池管理与您邀约:晒样片订单 抢楼赢礼!
- 【贝能好礼相送】我们拼啦 寻觅Infineon 调光恒流LED驱动器 ICL5102写真
- TE 官微人工客服功能上线,可以与 TE 技术专家直接微信沟通了!