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