您的位置 首页 资料

常用 ARM指令集及汇编

一、ARM处理器的寻址方式二、指令集学习(一)ARM指令集1.指令格式2.条件码3.ARM存储器访问指令1)LDR/STR-加载/存…

一、 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 -空操作伪指令

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/276384.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部