欢迎来到天天文库
浏览记录
ID:22678422
大小:97.00 KB
页数:11页
时间:2018-10-30
《arm处理器寄存器和汇编指令系统》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、ARM处理器寄存器和汇编指令系统1.ARM的处理器模式北京白癜风医院http://www.izpj.com/整理分享ARM体系结构支持7种处理器模式,分别是:用户、FIQ、IRQ、管理、中止(abort)、未定义和系统模式。除了用户模式外,其余都称之为特权模式。除了用户和系统模式外,其余都称之为异常模式。 2.ARM的存储器组织ARM处理器总共有37个寄存器:包括31个通用寄存器、包括程序计数器(PC)、和6个状态寄存器。这些寄存器在不同模式下,不能被同时看到,有些名称是重叠的。分为三类:不分组寄存器,分组寄存器和程序计数器1)不分组寄存器R0~R7所有的处理模
2、式下、它们都是访问同一个寄存器,因此只有8个不分组寄存器。2)分组寄存器R8~R14每一个访问的物理寄存器取决于当前的处理器模式,有些是共用的,而有些事分离的。具体可以查询相关资料。R13就是堆栈寄存器SP,而R14就是链接寄存器LR3)程序计数器R15在ARM状态PC的位[1:0]为0,而在Thumb状态,位[0]为0.4)程序状态寄存器CPSR和程序状态保存寄存器SPSRCPSR只有一个,代表了当前的程序状态。而每个异常模式都有独立的一个SPSR,用于保存CPSR的状态。131 30 29 28
3、 8 7 6 5 4 3 2 1 0 2 N Z C V DNM(RAZ) I F T M4 M3 M2 M1 M0 3.ARM的常用汇编指令1)基本寻址方式包括有寄存器寻址、立即寻址、寄存器移位寻址、寄存器间寻址、变址寻址、多寄存器寻址、堆栈寻址、块复制寻址和相对寻址2)条件执行几乎所有的ARM指令都可以包含一个可选的条件码,句法中以{cond}来标识。可用的条件码如下面所示。几乎所有的ARM数据处理指令均可以根据执行结果来选择是否更新条件码标志,即在指令中包含后缀
4、S。 1操作码[31:28] 助记符后缀 标 志 含义 20000 EQ Z置位 相等 30001 NE Z清零 不等 40010 CS/HS C置位 大于或等于(无符号>=) 50011 CC/LO C清零 小于
5、(无符号<) 60100 MI N置位 负 70101 PL N清零 正或零 80110 VS V置位 溢出 90111 VC V清零 未溢出101000 HI C置位且Z清零
6、 大于(无符号>)111001 LS C清零或Z置位 小于或等于(无符号<=)121010 GE N和V相同 带符号>=131011 LT N和V不同 带符号<141100 GT Z清零且N和V相同 带符号>151101 LE Z置位或N和V不同
7、 带符号<=161110 AL 任何 总是(通常省略) 3)存储器访问指令3.1)LDR和STR(字与无符号字节)语法如下1op {cond} {B} {T} Rd, [Rn]2op {cond} {B} Rd, [Rn, Flexoffset] {!} //前索引偏移3op {cond} {B} Rd, label4op {cond} {B} {T} Rd, [Rn], Flexoffset//后索引偏移其中:op是操作码即指令LDR或STR。cond就是上面所说的
8、条件码,因此指令可以变成
此文档下载收益归作者所有