第3章 ARM微处理器的指令系统1-寻址方式
Assemble Language of ARM * 练习 1、下面哪些立即数是数据处理指令中有效的数据? 并分别写出指令编码中的立即数和循环移位的位数。 a) 0x0000ef00 b) 0 c) 0xf0000009 d) 0 e) 0 f) 0xffffffff g) 0x00ab0000 h) 0x0001ffff i) 0xf000001a j) 0 k) 0x00001f80 l) 0xf0f0f0f0 2、 STMFD sp!, {R0-R5,LR}是一条批量存储指令,画出该指令执行前后内存中数据存放及栈指针变化情况,并简述该指令的操作过程。 #后接0x或表示十六进制数,0b表示二进制数,0d或缺省表示十进制数。 * * 212=4096; 第3章 ARM微处理器的指令系统 - 寻址方式 - 算术指令 - 特殊指令 - 应用举例 Assemble Language of ARM * 本章的主要内容有: ARM指令集、Thumb指令集概述 ARM指令的寻址方式 ARM指令集的分类与具体应用 Thumb指令集简介及应用场合 Assemble Language of ARM * 3.1? ARM微处理器的指令集概述 3.1.1? ARM微处理器的指令的分类与格式 ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。 ARM微处理器的指令集可以分为: 跳转指令 数据处理指令 加载/存储指令 程序状态寄存器(PSR)处理指令 协处理器指令 异常产生指令 六大类,具体的指令及功能如下表所示(表中指令为基本ARM指令,不包括派生的ARM指令)。 Assemble Language of ARM * ARM指令及功能描述 助记符 指令功能描述 ADC 带进位加法指令 ADD 加法指令 AND 逻辑与指 B 跳转指令 BIC 位清零指令 BL 带返回的跳转指 BLX 带返回和状态切换的跳转指令 BX 带状态切换的跳转指令 CDP 协处理器数据操作指令 Assemble Language of ARM * 助记符 指令功能描述 CMN 比较反值指令 CMP 比较指令 EOR 异或指令 LDC 存储器到协处理器的数据传输指令 LDM 加载多个寄存器指令 LDR 存储器到寄存器的数据传输指令 MCR 从ARM寄存器到协处理器寄存器的数据传输指令 MOV 数据传送指令 Assemble Language of ARM * 助记符 指令功能描述 MRC 从协处理器寄存器到ARM寄存器的数据传输指令 MRS 传送CPSR或SPSR的内容到通用寄存器指令 MSR 传送通用寄存器到CPSR或SPSR的指 MUL 32位乘法指 MLA 32位乘加指令 MVN 数据取反传送指令 ORR 逻辑或指令 RSB 逆向减法指令 RSC 带借位的逆向减法指令 Assemble Language of ARM * 助记符 指令功能描述 SBC 带借位减法指令 STC 协处理器寄存器写入存储器指 STM 批量内存字写入指令 STR 寄存器到存储器的数据传输指 SUB 减法指令 SWI 软件中断指令 SWP 交换指令 TEQ 相等测试指 TST 位测试指 Assemble Language of ARM * ARM指令编码格式 说明 Cond 指令执行的条件编码 Opcode 指令操作符编码 S 决定指令的操作是否影响CPSR的值 Rd 操作目标寄存器编码 Rn 包含第一操作数的寄存器编码 Shifter_operand 表示第二操作数 Shifter_operand Rd Rn s opcode 001 cond 31 28 27 25 24 21 20 19 16 15 12 11 8 7 0 参见“ARM Architecture Reference Manual” Assemble Language of ARM * 3.1.2? 指令的条件域 当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。 每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码可用两个字符表示,这
原创力文档

文档评论(0)