-
经典参考资料之一是学习ARM汇编的书籍
资源介绍
学习ARM汇编指令的经典资料。 对ARM的各种汇编指令进行了深入全面的讲解,并给出了各种示例和详细注解,并且还对一些值得注意的点或是容易犯错误的地方进行了总结。
目录
前言................................................................................................................................................................i
目录................................................................................................................................................................I
ARM7TDMI(-S)指令集及汇编....................................................................................................................1
ARM处理器寻址方式..........................................................................................................................2
寄存器寻址....................................................................................................................................2
立即寻址........................................................................................................................................2
寄存器偏移寻址............................................................................................................................2
寄存器间接寻址............................................................................................................................3
基址寻址........................................................................................................................................3
多寄存器寻址................................................................................................................................4
堆栈寻址........................................................................................................................................4
块拷贝寻址....................................................................................................................................5
相对寻址........................................................................................................................................5
指令集介绍............................................................................................................................................7
ARM指令集..................................................................................................................................7
指令格式................................................................................................................................7
第2个操作数................................................................................................................7
#immed_8r...........................................................................................................7
Rm..........................................................................................................................8
Rm,shift..................................................................................................................8
条件码............................................................................................................................9
ARM存储器访问指令........................................................................................................11
LDR和STR........................................................................................................11
LDM和STM.......................................................................................................14
SWP.....................................................................................................................17
ARM数据处理指令............................................................................................................19
数据传送指令..............................................................................................................20
MOV............................................................................................................20
MVN............................................................................................................20
算术逻辑运算指令......................................................................................................20
ADD.............................................................................................................20
SUB..............................................................................................................21
RSB..............................................................................................................21
ADC.............................................................................................................21
SBC..............................................................................................................21
RSC..............................................................................................................22
AND.............................................................................................................22
ORR..............................................................................................................22
EOR..............................................................................................................22
BIC...............................................................................................................23
比较指令......................................................................................................................23
CMP.............................................................................................................23
CMN.............................................................................................................23
TST...............................................................................................................24
TEQ..............................................................................................................24
乘法指令......................................................................................................................25
MUL.............................................................................................................25
MLA.............................................................................................................25
UMULL........................................................................................................25
UMLAL........................................................................................................26
SMULL........................................................................................................26
SMLAL........................................................................................................26
ARM跳转指令....................................................................................................................27
B...........................................................................................................................27
BL.........................................................................................................................27
BX........................................................................................................................27
ARM协处理器指令............................................................................................................28
CDP......................................................................................................................28
LDC......................................................................................................................29
STC......................................................................................................................29
MCR.....................................................................................................................30
MRC.....................................................................................................................30
ARM杂项指令....................................................................................................................31
SWI......................................................................................................................31
MRS.....................................................................................................................32
MSR.....................................................................................................................33
ARM伪指令........................................................................................................................34
ADR.....................................................................................................................35
ADRL...................................................................................................................35
LDR......................................................................................................................36
NOP......................................................................................................................37
Thumb指令集.............................................................................................................................39
Thumb指令集与ARM指令集的区别..............................................................................39
Thumb存储器访问指令.....................................................................................................40
LDR和STR........................................................................................................41
PUSH和POP......................................................................................................43
LDMIA和STMIA..............................................................................................43
Thumb数据处理指令.........................................................................................................45
数据传送指令..............................................................................................................46
MOV............................................................................................................46
MVN............................................................................................................46
NEG..............................................................................................................47
算术逻辑运算指令......................................................................................................47
ADD.............................................................................................................47
SUB..............................................................................................................48
ADC.............................................................................................................49
SBC..............................................................................................................49
MUL.............................................................................................................50
AND.............................................................................................................50
ORR..............................................................................................................50
EOR..............................................................................................................51
BIC...............................................................................................................51
ASR..............................................................................................................51
LSL...............................................................................................................52
LSR..............................................................................................................52
ROR..............................................................................................................53
比较指令......................................................................................................................53
CMP.............................................................................................................53
CMN.............................................................................................................54
TST...............................................................................................................54
Thumb跳转指令.........................................................................................................55
B...................................................................................................................55
BL.................................................................................................................55
BX................................................................................................................55
Thumb杂项指令.........................................................................................................56
SWI..............................................................................................................56
Thumb伪指令.............................................................................................................57
ADR.............................................................................................................57
LDR..............................................................................................................57
NOP..............................................................................................................58
伪指令..................................................................................................................................................59
符号定义伪指令..........................................................................................................................59
GBLA、GBLL、GBLS..............................................................................................59
LCLA、LCLL、LCLS................................................................................................60
SETA、SETL、SETS.................................................................................................61
RLIST...........................................................................................................................61
CN................................................................................................................................62
CP.................................................................................................................................62
DN、SN.......................................................................................................................62
FN.................................................................................................................................63
数据定义伪指令..........................................................................................................................63
LTORG.........................................................................................................................64
MAP.............................................................................................................................64
FIELD..........................................................................................................................65
SPACE..........................................................................................................................66
DCB.............................................................................................................................66
DCD和DCDU............................................................................................................67
DCDO..........................................................................................................................67
DCFD和DCFDU........................................................................................................68
DCFS和DCFSU.........................................................................................................68
DCI...............................................................................................................................69
DCQ和DCQU............................................................................................................69
DCW和DCWU..........................................................................................................70
报告伪指令..................................................................................................................................70
ASSERT.......................................................................................................................70
INFO............................................................................................................................71
OPT..............................................................................................................................71
TTL和SUBT..............................................................................................................72
汇编控制伪指令..........................................................................................................................73
IF、ELSE和ENDIF...................................................................................................73
MACRO和MEND.....................................................................................................74
WHIL和WEND.........................................................................................................75
杂项伪指令..................................................................................................................................76
ALIGN.........................................................................................................................77
AREA...........................................................................................................................78
CODE16和CODE32..................................................................................................79
END.............................................................................................................................80
ENTRY.........................................................................................................................80
EQU.............................................................................................................................81
EXPORT和GLOBAL................................................................................................81
IMPORT和EXTERN.................................................................................................82
GET和INCLUDE......................................................................................................83
INCBIN........................................................................................................................83
KEEP............................................................................................................................83
NOFP...........................................................................................................................84
REQUIRE....................................................................................................................84
PEQUIRE8和PRESERVE8.......................................................................................84
RN................................................................................................................................84
ROUT...........................................................................................................................85
ARM伪指令................................................................................................................................86
ADR.............................................................................................................................86
ADRL...........................................................................................................................86
LDR..............................................................................................................................86
NOP..............................................................................................................................86
LDFD...........................................................................................................................86
LDFS............................................................................................................................87
Thumb伪指令.............................................................................................................................87
ADR.............................................................................................................................87
LDR..............................................................................................................................87
NOP..............................................................................................................................88
ARM汇编程序设计............................................................................................................................88
文件格式......................................................................................................................................88
ARM汇编的一些规范................................................................................................................88
汇编语句格式......................................................................................................................88
标号......................................................................................................................................89
基于PC的标号...................................................................................................89
基于寄存器的标号..............................................................................................90
绝对地址..............................................................................................................90
局部标号..............................................................................................................................90
符号......................................................................................................................................91
常量......................................................................................................................................91
数字常数..............................................................................................................91
字符常量..............................................................................................................92
布尔常量..............................................................................................................92
段定义..................................................................................................................................92
宏定义及其作用..................................................................................................................93
子程序的调用..............................................................................................................................94
数据比较跳转..............................................................................................................................95
循环..............................................................................................................................................95
数据块复制..................................................................................................................................95
栈操作..........................................................................................................................................96
特殊寄存器定义及应用..............................................................................................................96
散转功能......................................................................................................................................97
查表操作......................................................................................................................................97
长跳转..........................................................................................................................................97
对信号量的支持..........................................................................................................................98
伪指令使用..................................................................................................................................98
一个完整的例子..........................................................................................................................98
外围部件控制..............................................................................................................................99
三级流水线介绍..........................................................................................................................99
C与汇编混合编程............................................................................................................................100
内嵌汇编....................................................................................................................................100
内嵌汇编的指令用法........................................................................................................103
内嵌汇编器与armasm汇编器的差异.............................................................................104
内嵌汇编注意事项............................................................................................................104
访问全局变量............................................................................................................................106
C与汇编相互调用....................................................................................................................107
寄存器的使用规则............................................................................................................108
堆栈使用规则....................................................................................................................108
参数传递规则....................................................................................................................109
C程序调用汇编程序........................................................................................................110
汇编程序调用C程序.......................................................................................................111
ARM指令集列表..............................................................................................................................113
ARM存储器访问指令表列表..................................................................................................113
ARM数据处理指令列表..........................................................................................................114
ARM乘法指令列表..................................................................................................................115
ARM跳转指令列表..................................................................................................................116
ARM协处理器指令列表..........................................................................................................117
ARM杂项指令列表..................................................................................................................118
ARM伪指令列表......................................................................................................................119
Thumb指令集列表...........................................................................................................................120
Thumb存储器访问指令列表...................................................................................................120
Thumb数据处理指令列表.......................................................................................................121
Thumb跳转指令及软中断指令列表.......................................................................................122
Thumb伪指令列表...................................................................................................................123
汇编预定义变量及伪指令................................................................................................................124
预定义的寄存器和协处理器名................................................................................................124
通用寄存器........................................................................................................................124
程序状态寄存器................................................................................................................124
浮点数寄存器....................................................................................................................124
协处理器及协处理器寄存器............................................................................................125
内置变量列表............................................................................................................................125
伪指令列表................................................................................................................................126
指令条件码列表........................................................................................................................128
CPSR和SPSR分配图.............................................................................................................................129
- 上一篇: 《促进大数据发展行动纲要》(国发[2015]50号).pdf
- 下一篇: arm 64位 cpu手册