嵌入式系统/ARM 指令
外观
	
	
< 嵌入式系统
| 指令类型 | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 跳转和带链接跳转 | Cond | 1 | 0 | 1 | L | 24 位带符号字偏移量 | ||||||||||||||||||||||||||
| 跳转和带链接跳转以及交换 | Cond | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | L | 1 | Rm | ||||||
| 1 | 1 | 1 | 1 | 1 | 0 | 1 | H | 24 位带符号字偏移量 | ||||||||||||||||||||||||
| 软件中断 (SWI) | Cond | 1 | 1 | 1 | 1 | 24 位(解释)立即数 | ||||||||||||||||||||||||||
| 数据处理指令 | Cond | 0 | 0 | I | 操作码 | S | Rn | Rd | 操作数 2 | |||||||||||||||||||||||
| 乘法指令 | Cond | 0 | 0 | 0 | 0 | mul | S | Rd/RdHi | Rn/RdLo | Rs | 1 | 0 | 0 | 1 | Rm | |||||||||||||||||
| 统计前导零 | Cond | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Rd | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Rm | |||||||||
| 数据传输指令 | Cond | 0 | 1 | I | P | U | B | W | L | Rn | Rd | 操作数 2 | ||||||||||||||||||||
| Cond | 0 | 0 | 0 | P | U | I | W | L | Rn | Rd | offsetH | 1 | S | H | 1 | offsetL | ||||||||||||||||
| 多寄存器传输指令 | Cond | 1 | 0 | 0 | P | U | S | W | L | Rn | 寄存器列表 | |||||||||||||||||||||
| 交换内存和寄存器指令 | Cond | 0 | 0 | 0 | 1 | 0 | B | 0 | 0 | Rn | Rd | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | Rm | ||||||||||||
| 状态寄存器 <=> 通用寄存器传输指令 | Cond | 0 | 0 | 0 | 1 | 0 | R | 0 | 0 | 1 | 1 | 1 | 1 | Rd | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| Cond | 0 | 0 | I | 1 | 0 | R | 1 | 0 | 字段 | 1 | 1 | 1 | 1 | 操作数 | ||||||||||||||||||
| 协处理器数据操作 | Cond | 1 | 1 | 1 | 0 | Cop1 | CRn | CRd | CP# | Cop2 | 0 | CRm | ||||||||||||||||||||
| 协处理器数据传输 | Cond | 1 | 1 | 0 | P | U | N | W | L | Rn | CRd | CP# | 8 位偏移量 | |||||||||||||||||||
| 协处理器寄存器传输 | Cond | 1 | 1 | 1 | 0 | Cop1 | L | CRn | Rd | CP# | Cop2 | 1 | CRm | |||||||||||||||||||
| 断点指令 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | x | x | x | x | x | x | x | x | x | x | x | x | 0 | 1 | 1 | 1 | x | x | x | x | 
我们在 ARM 微处理器 中更详细地介绍了如何使用 ARM 指令。