《ARM v7指令集.docx》由会员分享,可在线阅读,更多相关《ARM v7指令集.docx(3页珍藏版)》请在三一办公上搜索。
1、ARM v7指令集ARM v7指令集 内容简介: 在本文档的汇编语法中,用 # 前缀表示立即值,用 & 表示十六进制值,用 % 表示二进制值,用 花括号 表示指令中可选的设置字段或位。下面表格中粗体的指令是核心 ARM 指令,其他的是值得包含的位和片. 在本文档的汇编语法中,用 # 前缀表示立即值,用 & 表示十六进制值,用 % 表示二进制值,用 花括号 表示指令中可选的设置字段或位。下面表格中粗体的指令是核心 ARM 指令,其他的是值得包含的位和片段、移位选项和汇编器助记码(mnemonic). 还列出了协处理器指令。但是用于 RISC OS 机器的 ARM 处理器不支持协处理器,只在一个可
2、访问的芯片中提供了实际上的协处理器功能。其中包括设置 ARM、cache、MMU 的设施,等. 指令 ADC ADD AND ASL ASR B BIC BL BX CDP CMN CMP EOR LDC LDM LDR 意义 带进位的加法 加法 逻辑与 算术左移 算术右移 分支 位清除 带连接的分支 分支到 Thumb 代码 协处理器数据操作 比较取负的值 比较值 异或两个值 装载内存到协处理器 装载多个寄存器 装载寄存器 最早的 CPU / 注释 - - - 这是一个选项,不是指令 这是一个选项,不是指令 - - - StrongARM SA1110 ? - - - - - - - - S
3、trongARM StrongARM StrongARM 这是一个选项,不是指令 这是一个选项,不是指令 - - - LDRB 装载字节到寄存器 LDRH 装载半字到寄存器 LDRSB 装载有符号字节到寄存器 LDRSH 装载有符号半字到寄存器 LSL LSR MCR MLA MOV 逻辑左移 逻辑右移 协处理器寄存器传送 带累加的乘法 传送值/寄存器到一个寄存器 MRC MRS MSR MUL MVN ORR ROR RRX RSB RSC SBC 协处理器寄存器传送 传送状态标志到一个寄存器 传送一个寄存器的内容到状态标志 乘法 传送取负的(值) 逻辑或 循环右移 带扩展的循环右移 反向减
4、法 带借位的反向减法 带借位的减法 - ARM 6 ARM 6 - - - 这是一个选项,不是指令 这是一个选项,不是指令 - - - StrongARM StrongARM - - - - StrongARM SMLAL 带累加的有符号长(64 位)乘法 SMULL 有符号长(64 位)乘法 STC STM STR 协处理器数据传送 存储多个寄存器 存储一个寄存器 STRB 存储一个字节(从一个寄存器) STRH 存储一个半字(从一个寄存器) STRSB 存储一个有符号字节(从一个寄存器) StrongARM STRSH 存储一个有符号半字(从一个寄存器) StrongARM SUB SWI
5、 SWP TEQ TST 减法 导致一个软件中断 交换寄存器与内存 测试等价(概念上的 EOR) 测试并屏蔽(概念上的 AND) - - ARM 3 - - StrongARM StrongARM UMLAL 带累加的无符号长(64 位)乘法 UMULL 无符号长(64 位)乘法 RISC OS 的 BASIC 汇编器的伪指令 ADR ADRL DCx EQUx OPT 得到目标的地址(4K 之内) 得到目标的地址(超过 4K) ALIGN 把程序计数器设置到下个字的边界 定义字节(B)、半字(W)、字(D)、字符串(S)、或浮点(F)值 定义字节(B)、半字(W)、字(D)、字符串(S)、或浮点(F)值 选择汇编选项