文件名称:学习ARM汇编的经典参考资料
文件大小:42KB
文件格式:RAR
更新时间:2021-04-17 15:50:00
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
【文件预览】:
常用ARM指令集及汇编(经典).txt