- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 注意跳转和各种异常返回指令差异的内涵。 * 注意:未定义指令和软中断是不会同时发生的。优先级之间的顺序在逻辑上的合理性。 * ARM通过配置,可以同时支持大端格式和小端格式。 大端格式下,字数据的高地址是存储在内存的低地址中。 小端格式下,字数据的低地址是存储在内存的低地址中。 * 大端格式适合网络协议栈等应用。 * x86体系结构为小端格式。 * ARM通过配置,可以同时支持大端格式和小端格式。 大端格式下,字数据的高地址是存储在内存的低地址中。 小端格式下,字数据的低地址是存储在内存的低地址中。 * 注意区分内核系列和体系结构版本的区别。 * * ARM内核的发展历程 * * ARM7TDMI ARM7TDMI-S ARM720T ARM7EJ-S * ARM920T ARM922T * ARM926EJ-S ARM946E-S ARM966E-S ARM968E-S * ARM1020E ARM1022E ARM1026EJ-S * ARM1136J(F)-S ARM1156T2(F)-S ARM1176JZ(F)-S * SC100/SC110 SC200/SC210 * * * * 指令的条件码:为ARM指令的高4位。 * ARM指令的分类 * 单寄存器加载存储指令中,注意有符号加载的特性。多寄存器加载存储指令中,注意配对使用的关系。 * 运行速度和存储器空间两方面的比较 * ARM体系结构版本 ? ? ? ? ARM V1体系是最初的版本,只有26位的寻址空间,没有乘法指令,最终也没有商业化。 ARM V2体系与V1体系同为26位寻址空间具有乘法和乘加指令,支持协处理器。 ARM V3体系的寻址范围扩展到32位,具有乘法和乘加指令,支持协处理器。 ARM V3体系增加了半字存储操作,对调试的支持以及支持嵌入的ICE。 ARM V3体系增加了 DSP指令支持和对 Java指令的支持。 ARM V6体系增加了媒体指令,ARMv6指令集合中加入了超过60条SIMD单指令多数据指令。 ARM V7体系定义了三种独立的内核型-- A(应用领域),R(实时领域),M(控制领域)。 3.2 ARM微处理器的指令系统 ARM指令系统的概述 ARM的寻址模式 ARM的指令集 Thumb的指令集 ARM指令系统的概述 助记符 指令功能描述 ADC 带进位加法指令 ADD 加法指令 AND 逻辑与指令 B 跳转指令 BIC 位清零指令 BL 带返回的跳转指令 BLX 带返回和状态切换的跳转指令 BX 带状态切换的跳转指令 CDP 协处理器数据操作指令 CMN 比较反值指令 CMP 比较指令 EOR 异或指令 LDC 存储器到协处理器的数据传输指令 LDM 加载多个寄存器指令 LDR 存储器到寄存器的数据传输指令 MCR 从ARM MLA 乘加运算指令 MOV 数据传送指令 ? ? ? ? 助记符 指令功能描述 MRC 从协处理器寄存器到ARM MRS 传送CPSR MSR 传送通用寄存器到CPSR MUL 32 MLA 32 MVN 数据取反传送指令 ORR 逻辑或指令 RSB 逆向减法指令 RSC 带借位的逆向减法指令 SBC 带借位减法指令 STC 协处理器寄存器写入存储器指令 STM 批量内存字写入指令 STR 寄存器到存储器的数据传输指令 SUB 减法指令 SWI 软件中断指令 SWP 交换指令 TEQ 相等测试指令 TST 位测试指令 ARM指令系统的概述 ? ? ? ? 条件码 助记符后缀 标志 含义 0000 EQ Z置位 相等 0001 NE Z清零 不相等 0010 CS C置位 无符号数大于或等于 0011 CC C清零 无符号数小于 0100 MI N置位 负数 0101 PL N清零 正数或零 0110 VS V置位 溢出 0111 VC V清零 未溢出 1000 HI C置位 无符号数大于 1001 LS C清零 无符号数小于或等于 1010 GE N等于V 带符号数大于或等于 1011 LT N不等于V 带符号数小于 1100 GT Z清零且(N等于V) 带符号数大于 1101 LE Z 置位或(N 不等于V) 带符号数小于或等于 1110 AL 忽略 无条件执行 ARM的寻址模式 1.立即寻址 立即寻址也叫立即数寻址,这是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即寻址。例如以下指令: ADD R0,R0,#1 ;R0←R0+1 ADD R0,R0,#0x3f ;R0←R0+0x3f 在以上两条指令中
文档评论(0)