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选择汇编选项
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值