用户名: 密  码:
英达社区 / 加入收藏 / 设为首页
网站首页 | 学校简介 | 就业中心 | 软件测试 | 企业外包 | 单片机开发 | ARM开发 | DSP开发 | PLC开发 | 在线咨询 | 在线报名 | 联系我们
   高新:029-88259409,88278304   小寨:029-85399057, 85268103
您所在的位置:首页 >> 单片机、ARM、DSP >> 正文
ARM汇编指令学习之开篇
http://www.yd-itedu.com/  添加日期:08-03-12 17:33:55  来源:    进入论坛

  常用 ARM指令集及汇编

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

上一篇:
下一篇:
 
最新动态
就业明星 更多>>
技术文章
推荐论坛
英达概况 | 在线报名 | 在线咨询 | 联系我们
版权所有: 西安英达科技培训学校
电话:029-88259409 88278304 传真:88259409 E_mail:tukx@21cn.com
高新校区:西安市太白南路263号新一代国际公寓C座1508室(太白南路与科技路什字东南角)
小寨校区:西安市雁塔西路161号 世纪经典大厦A座1906室(小寨南纬二街什字东50米)