ARM汇编指令学习之开篇
(一)ARM
指令集
1.指令格式
2.条件码
3.ARM
存储器访问指令
1)LDR/ STR
-加载/存储指令
2)LDM/ STM
-多寄存器加载/存储指令
3)SWP
-寄存器和存储器交换指令
4.ARM
数据处理指令
1)数据传送指令
a)MOV
-数据传送指令
b)MVN
-数据非传送指令
2)算术逻辑运算指令
a)ADD
-加法运算指令
b)SUB
-减法运算指令
c)RSB-
逆向减法指令
d)ADC
-带进位加法指令
e)SBC
-带进位减法指令
f)RSC
-带进位逆向减法指令
g)AND
-逻辑“与”
h)ORR
-逻辑“或”
i)EOR
-逻辑“异或”
j)BIC
-位清除指令
3)比较指令
a)CMP
-比较指令
b)CMN
-负数比较指令
c)TST
-位测试指令
d)TEQ
-相等测试指令
4)乘法指令
a)MUL
-32位乘法指令
b)MLA
-32位乘加指令
c)UMULL
-64位无符号乘法指令
d)UMLAL
-64位无符号乘加指令
e)SMULL
-64位有符号乘法指令
f)SMLAL
-64位有符号乘加指令
5.ARM
分支指令
1)B
-分支指令
2)BL
-带连接的分支指令
3)BX
-带状态切换的分支指令
6.ARM
协处理器指令
1)CDP
-协处理器数据操作指令
2)LDC
-协处理器数据读取指令
3)STC
-协处理器数据写入指令
4)MCR
-ARM处理器到协处理器的数据传送指令
5)MRC
-协处理器到ARM处理器的数据传送指令
7.ARM
杂项指令
1)SWI
-软中断指令
2)MRS
-读状态寄存器指令
3)MSR
-写状态寄存器指令
8.ARM
伪指令
1)ADR
-小范围的地址读取伪指令
2)ADRL
-中等范围的地址读取伪指令
3)LDR
-大范围的地址读取伪指令
4)NOP
-空操作伪指令
(二)Thumb
指令集
1.Thumb
指令集和ARM指令集的区别
2.Thumb
存储器访问指令
1)LDR/ STR
-加载/存储指令
2)PUSH/ POP
-寄存器入栈/出栈指令
3)LDMIA/ STMIA
-多寄存器加载/存储指令
3.Thumb
数据处理指令
1)数据传送指令
a)MOV
-数据传送指令
b)MVN
-数据非传送指令
c)NEG
-数据取负指令
2)算术逻辑运算指令
a)ADD
-加法运算指令
b)SUB
-减法运算指令
c)ADC
-带进位加法指令
d)SBC
-带进位减法指令
e)MUL
-乘法运算指令
f)AND
-逻辑“与”
g)ORR
-逻辑“或”
h)EOR
-逻辑“异或”
i)BIC
-位清除指令
j)ASR
-算术右移指令
k)LSL
-逻辑左移指令
l)LSR
-逻辑右移指令
m)ROR
-循环右移指令
3)比较指令
a)CMP
-比较指令
b)CMN
-负数比较指令
c)TST
-位测试指令
4.Thumb
分支指令
1)B
-分支指令
2)BL
-带连接的分支指令
3)BX
-带状态切换的分支指令
5.Thumb
杂项指令
1)SWI
-软中断指令
6.Thumb
伪指令
1)ADR
-小范围的地址读取伪指令
2)LDR
-大范围的地址读取伪指令
3)NOP-空操作伪指令
ARM汇编指 相关文章:
- ARM汇编指令的一些总结(11-28)
- 常用ARM汇编指令(11-28)
- 第1天-ARM汇编指令ADD/SUB/MUL(11-26)
- 第1天-ARM汇编指令CMP/CMN/TST/TEQ(11-26)
- 第1天-ARM汇编指令B/BL(11-26)
- 第1天-ARM汇编指令MOV/MVN(11-26)