当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

清华大学自动化系:《常用ARM指令集及汇编》电子书

资源类别:文库,文档格式:PDF,文档页数:137,文件大小:1.73MB,团购合买
ARM( Advanced rIsC Machines)是微处理器行业的一家知名企业,该企业设计了 大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本 低和能耗省的特点,适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移 动式应用等。 ANM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的 都是独一无二的ARM相关技术及服务,利用这种合作关系,ARM很快成为许多全球性RISC 标准的缔造者。
点击下载完整版文档(PDF)

常用ARM指令集及汇編 2003年12月1日

常用 ARM 指令集及汇编 2003 年 12 月 1 日

常用▲RM指令集及汇编 ver:10.12 前言 ARM( Advanced rIsC Machines)是微处理器行业的一家知名企业,该企业设计了 大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本 低和能耗省的特点,适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移 动式应用等。 ANM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的 都是独一无二的ARM相关技术及服务,利用这种合作关系,ARM很快成为许多全球性RISC 标准的缔造者。 目前,AM内核的微处理器正在我国迅速普及和发展,许多朋友已经开始着手学习、 研究和利用这类芯片进行商品化设计,为了帮助广大朋友更快的学习和使用这种先进的 技术,广州周立功单片机发展有限公司〔htp://ww, zlgmcu,com)曾面向大众推出了 款 EasyARM试验板,本文的大部分内容来自此款试验板的配套教材一《AN微控制器基 础》,并且得到周立功正式授权。本文主要是针对ARM7TDMI(-S)内核,经本人重新排版, 制作成PDF格式,便于大家查阅和使用。 本文仅仅用于大家的学习和研究使用,由于本文的原因造成元器件的损坏、设计方 案的缺陷与失败等一切损失,概不负责。 感谢周立功老师为我们提供了丰富的资源并亲自审阅了本文,感谢单片机学习网 http://www.mcustudy.com为我们提供了交流和学习的空间,感谢我的女友对我这项 工作的支持,她自己放弃了大量的业余时间帮我录入和排版 由于时间仓促,本文难免会存在不当之处,欢迎大家来信(email:mcu8031@163.com) 或在网上(QQ:57523799)批评指正和交流,以便在今后的版本加以更正,也希望大家能 把自己在工作中的心得体会和经验拿出来,和众多的同行及爱好者交流,共同提高, 起进步 宛城布衣 2003年12月1日星期 %%嗡%嗡嗡%嗡%嗡嗡吼嗡%嗡嗡嗡吼哈嗡嗡%嗡 By宛城布衣QQ:57523799emai:mcu8031@163cm

常用 ARM 指令集及汇编 Ver:1.0.12 前言 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,该企业设计了 大量高性能、廉价、耗能低的 RISC 处理器、相关技术及软件。技术具有性能高、成本 低和能耗省的特点,适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP 和移 动式应用等。 ARM 将其技术授权给世界上许多著名的半导体、软件和 OEM 厂商,每个厂商得到的 都是独一无二的ARM相关技术及服务,利用这种合作关系,ARM很快成为许多全球性RISC 标准的缔造者。 目前,ARM内核的微处理器正在我国迅速普及和发展,许多朋友已经开始着手学习、 研究和利用这类芯片进行商品化设计,为了帮助广大朋友更快的学习和使用这种先进的 技术,广州周立功单片机发展有限公司(http://www.zlgmcu.com)曾面向大众推出了一 款EasyARM试验板,本文的大部分内容来自此款试验板的配套教材--《ARM微控制器基 础》,并且得到周立功正式授权。本文主要是针对ARM7TDMI(-S)内核,经本人重新排版, 制作成PDF格式,便于大家查阅和使用。 本文仅仅用于大家的学习和研究使用,由于本文的原因造成元器件的损坏、设计方 案的缺陷与失败等一切损失,概不负责。 感谢周立功老师为我们提供了丰富的资源并亲自审阅了本文,感谢单片机学习网 (http://www.mcustudy.com)为我们提供了交流和学习的空间,感谢我的女友对我这项 工作的支持,她自己放弃了大量的业余时间帮我录入和排版。 由于时间仓促,本文难免会存在不当之处,欢迎大家来信(email:mcu8031@163.com) 或在网上(QQ:57523799)批评指正和交流,以便在今后的版本加以更正,也希望大家能 把自己在工作中的心得体会和经验拿出来,和众多的同行及爱好者交流,共同提高,一 起进步。 宛城布衣 2003 年 12 月 1 日星期一 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 i 页

常用▲RM指令集及汇编 ver:10.12 目录 前言 目录 ARM7TDM(S)指令集及汇编 ARM处理器寻址方式 寄存器寻址 立即寻址 寄存器偏移寻址 寄存器间接寻址 基址寻址 222334 多寄存器寻址 堆栈寻址 块拷贝寻址 相对寻址 指令集介绍 ARM指令集 指令格式 第2个操作数 #f immed 8r Rm shift I.88LLLLL 条件码 ARM存储器访问指令 LDR和STR LDM和STM SWP 1479 ARM数据处理指令 数据传送指令 MOV MVN… 算术逻辑运算指令 ADD 乙7乙00 SBC 2 AND ORR BIC By宛城布衣QQ:57523799emai:mcu8031@163cm

常用 ARM 指令集及汇编 Ver:1.0.12 目录 前言 ................................................................................................................................................................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 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII BIC...............................................................................................................23 By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 I 页

常用▲RM指令集及汇编 ver:10.12 比较指令 23 CMP MN 222 TSI TEQ 乘法指令 MUL MLA UMULL UMLAL SMULL SMLAL ARM跳转指令 ARM协处理器指令 CDP STC MCR 30 MRC ARM杂项指令 SWI MSR ARM伪指令 ADRL LDR 36 NOP Thumb指令集 Thumb指令集与ARM指令集的区别 Thumb存储器访问指令 LDR和STR PUSH和POP LDMA和 STMIA Thumb数据处理指令 45 数据传送指令 MOV 算术逻辑运算指令 By宛城布衣QQ:57523799emai:mcu8031@163cm

常用 ARM 指令集及汇编 Ver:1.0.12 比较指令......................................................................................................................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 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 II 页

常用▲RM指令集及汇编 ver:10.12 49 SBC UL EOR BIC 5555 ASR LSL ROR 比较指令 P CMN TST Thumb跳转指令 B 45555 BX Thumb杂项指令 SWI Thumb伪指令 ADR 伪指令 符号定义伪指令 GBLA、GBLL、GBLS.. LCLA、LCLL、LCLS SETA、SETL、SETS RLIST CN DN、SN. 数据定义伪指令 LTORG 64 FIELD SPACE 666 DCD和DCDU DADO %%嗡%%%嗡%嗡%嗡嗡吼嗡%嗡嗡嗡哈嗡嗡%%嗡哈 By宛城布衣QQ:57523799emai:mcu8031@163cm 第Ⅲ页

常用 ARM 指令集及汇编 Ver:1.0.12 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 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 III 页

常用▲RM指令集及汇编 ver:10.12 DCFD和 DCFDU DCFS和 DCESU 和DC DCW和DCWU 报告伪指令 ASSERT OPT TTL和SUBT 汇编控制伪指令. IF、ELSE和 ENDIF 772334 MACRO和MEND WHL和WEND 杂项伪指令 AlIGN AREA CODE16和CODE32 78y END ENTRY EQU EXPORT和 GLOBA IMPORT和 EXTERN GET和 INCLUDE INCBIN KEEP NOFP REQUIRE PEQUIRE8和 PRESERⅤE8 ROUT ARM伪指令 ADR ADRL LDR 66666 LDFD LDFS Thumb伪指令 ADR LDR ARM汇编程序设计 .88 文件格式 By宛城布衣QQ:57523799emai:mcu8031@163cm

常用 ARM 指令集及汇编 Ver:1.0.12 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 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 IV 页

常用▲RM指令集及汇编 ver:10.12 ARM汇编的一些规范 汇编语句格式 88 标号 基于PC的标号 基于寄存器的标号 绝对地址 局部标号 符号 常量 数字常数 字符常量 布尔常量 段定义 宏定义及其作用 子程序的调用 数据比较跳转 循环 数据块复制 栈操作 特殊寄存器定义及应用 散转功能 查表操作 长跳转 对信号量的支持… 999 伪指令使用 个完整的例子 外围部件控制 三级流水线介绍 C与汇编混合编程 内嵌汇编 10 内嵌汇编的指令用法 内嵌汇编器与 armas汇编器的差异 内嵌汇编注意事项 访问全局变量 C与汇编相互调用 107 寄存器的使用规则 堆栈使用规则 参数传递规则 C程序调用汇编程序 10 编程序调用C程序 ARM指令集列表 ARM存储器访问指令表列表 ARM数据处理指令列表 ARM乘法指令列表 嗡嗡%%嗡嗡嗡嗡嗡吼嗡嗡嗡嗡%嗡嗡嗡%嗡嗡嗡吼嗡嗡嗡嗡嗡嗡 By宛城布衣QQ:57523799emai:mcu8031@163cm

常用 ARM 指令集及汇编 Ver:1.0.12 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 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 V 页

常用▲RM指令集及汇编 ver:10.12 ARM跳转指令列表 116 ARM协处理器指令列表 117 ARM杂项指令列表 118 ARM伪指令列表 Thumb指令集列表 Thumb存储器访问指令列表 Thumb数据处理指令列表 Thumb跳转指令及软中断指令列表 Thumb伪指令列表 汇编预定义变量及伪指令 预定义的寄存器和协处理器名 通用寄存器 程序状态寄存器 浮点数寄存器 协处理器及协处理器寄存器 内置变量列表 125 伪指令列表 126 指令条件码列表 .128 CPSR和SPSR分配图 129 嗡嗡%%嗡嗡嗡嗡嗡吼嗡嗡嗡嗡%嗡嗡嗡%嗡嗡嗡吼嗡嗡嗡嗡嗡嗡 By宛城布衣QQ:57523799emai:mcu8031@163cm

常用 ARM 指令集及汇编 Ver:1.0.12 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 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 VI 页

常用▲RM指令集及汇编 ver:10.12 ARMTTDMIO(S)指令集及汇编 AM处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制 较为简单,ARM7TDMI(-S)具有32位AM指令集和16位 Thumb指令集,ARM指令集效率 高,但是代码密度低,而 Thumb指令集具有更好的代码密度,却仍然保持ARM的大多数 性能上的优势,它是ARM指令集的子集。所有AM指令都是可以有条件执行的,而 Thumb 指令仅有一条指令具备条件执行功能。ARM程序和 Thumb程序可相互调用,相互之间的 状态切换开销几乎为零。 %%嗡%嗡嗡%嗡%嗡嗡吼嗡%嗡嗡嗡吼哈嗡嗡%嗡 By宛城布衣QQ:57523799emai:mcu8031@163cm

常用 ARM 指令集及汇编 Ver:1.0.12 ARM7TDMI(-S)指令集及汇编 ARM 处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制 较为简单,ARM7TDMI(-S)具有 32 位 ARM 指令集和 16 位 Thumb 指令集,ARM 指令集效率 高,但是代码密度低,而 Thumb 指令集具有更好的代码密度,却仍然保持 ARM 的大多数 性能上的优势,它是 ARM 指令集的子集。所有 ARM 指令都是可以有条件执行的,而 Thumb 指令仅有一条指令具备条件执行功能。ARM 程序和 Thumb 程序可相互调用,相互之间的 状态切换开销几乎为零。 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 1 页

常用▲RM指令集及汇编 ver:10.12 ARM处理器寻址方式 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM 处理器有9种基本寻址方式。 寄存器寻址 操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直 接取出寄存器值操作。 寄存器寻址指令举例如下 MOV RI, R2 R2->RI SUB RO. R1 R2 R-R2->R0 立即寻址 立即寻址指令中的操作码字段后面的地址码部分就是操作数本身,也就是说,数据 就包含在指令当中,取出指令也就取出了可以立即使用的操作数(立即数)。 立即寻址指令举例如下 SUBS RO RO.#1 R0-1->R0 Mov RO. #Oxff00 Oxff00-> RO 立即数要以“#”为前缀,表示16进制数值时以“0x”表示。 寄存器偏移寻址 寄存器偏移寻址是ARM指令集特有的寻址方式,当第2操作数是寄存器偏移方式时 第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。 寄存器偏移寻址方式指令举例如下 MOV RO, R2 LSL #3 R2的值左移3位,结果放入R0,即R0=R2*8 ANDS R1,R1,R2,LSLR3;R2的值左移R3位,然后和R1相与操作,结果放入R1 可采用的移位操作如下 LSL:逻辑左移( Logical Shift Left),寄存器中字的低端空出的位补0 y宛城布衣QQ:57523799 email: mcu8031@163cm 第2页

常用 ARM 指令集及汇编 Ver:1.0.12 ARM 处理器寻址方式 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM 处理器有 9 种基本寻址方式。 寄存器寻址 操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直 接取出寄存器值操作。 寄存器寻址指令举例如下: MOV R1,R2 ;R2 -> R1 SUB R0,R1,R2 ;R1 - R2 -> R0 立即寻址 立即寻址指令中的操作码字段后面的地址码部分就是操作数本身,也就是说,数据 就包含在指令当中,取出指令也就取出了可以立即使用的操作数(立即数)。 立即寻址指令举例如下: SUBS R0,R0,#1 ;R0 – 1 -> R0 MOV R0,#0xff00 ;0xff00 -> R0 立即数要以“#”为前缀,表示 16 进制数值时以“0x”表示。 寄存器偏移寻址 寄存器偏移寻址是ARM指令集特有的寻址方式,当第2操作数是寄存器偏移方式时, 第 2 个寄存器操作数在与第 1 个操作数结合之前,选择进行移位操作。 寄存器偏移寻址方式指令举例如下: MOV R0,R2,LSL #3 ;R2 的值左移 3 位,结果放入 R0,即 R0 = R2 * 8 ANDS R1,R1,R2,LSL R3 ;R2 的值左移 R3 位,然后和 R1 相与操作,结果放入 R1 可采用的移位操作如下: LSL:逻辑左移(Logical Shift Left),寄存器中字的低端空出的位补 0 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII By 宛城布衣 QQ:57523799 email: mcu8031@163.com 第 2 页

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共137页,可试读30页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有