文件名称:arm指令集-中文 (ARM微控制器基础)
文件大小:1.73MB
文件格式:PDF
更新时间:2012-11-07 17:59:53
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 比较指令......................................................................................................................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