分类: 嵌入式
2014-10-30 10:28:23
原文地址:嵌入式,ARM指令基础 作者:一生有你llx
ARM两种数据存储格式:大端格式,数据高字节存储在地址低字节,数据低字节存储在地址高字节
小端格式,数据高字节存储在地址高字节,数据低字节存储在地址低字节
ARM工作模式:用户模式Usr,正常执行程序
快熟中断模式FIQ,用于高速传输数据
外部中断模式IRQ,用于通常的中断处理
管理模式svc,操作系统使用的保护模式
数据访问终止模式abt,当数据或指令预取终止时进入该模式,用于虚拟存储和存储保护
系统模式sys,运行有特权的操作系统任务
未定义指令终止模式und,当未定义的指令执行时进入该模式,用于硬件支持
ARM 的运行模式可以通过软件改变,或者通过外部中断改变。除用户模式外的其他6种模式有叫非用户模式或特权模式,除去用户模式和系统模式,其他5种又叫异常模式,用于处理中断或异常
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,他们不能同时被访问。但是在任何时候R0~R14,程序计数器PC(R15),一个状态寄存器(CPSR)都可以访问。
不分组寄存器R0~R7,分组寄存器R8~R14
R8_fiq~R14_fiq, R13_svc~R14_svc, R13_abt~R14_abt, R13_irq~R14_irq,R13_und~R14_und
R13堆栈指针(SP),R14函数指针,指向子函数的返回地址(LR)
SPSR用来保护异常模式下CPSR的值