您的位置 首页 动态

ARM汇编指令学习之开篇

指令集学习(一)ARM指令集1.指令格式2.条件码3.ARM存储器访问指令1)LDR/STR-加载/存储指令2)LDM/STM-多寄存器加载/存储指令3)SWP-…

指令集学习

(一)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/news/dongtai/276852.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部