这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 下载专区 » ARM汇编指令学习之开篇

共1条 1/1 1 跳转至

ARM汇编指令学习之开篇

院士
2007-01-04 18:12:15     打赏
由于工作的需要,需要学习ARM了,其实接触ARM7也有几个月了,但是感觉很浮躁,好像学会了很多,也还是什么都不会。决心从头好好学习。踏踏实实的走好每一步。做学问需要沉下心来,慢慢搞,虽然现在的这个社会节奏太快,要学的东西实在是太多了。但是,如果没有扎实的基础恐怕也都是空谈和幻想。

决定从最简单的指令开始学习。

常用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-空操作伪指令




关键词: 汇编     指令     习之     开篇     数据     逻辑    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]