[信息与通信]嵌入式系统--ARM7指令集.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]嵌入式系统--ARM7指令集

ARM指令长度概述 ARM指令长度 指令集可以是以下任一种 32 bits 长 (ARM状态) 16 bits 长 (Thumb 状态) ARM7TDMI 支持3种数据类型 字节 (8-bit) 半字 (16-bit) 字 (32-bit) 字必须被排成4个字节边界对齐,半字必须被排列成2个字节边界对齐 向后兼容:新版本增加指令,并保持指令向后兼容; Load-store 结构* load/store –从存储器中读某个值,操作完后再将其放回存储器中 只对存放在寄存器的数据进行处理 对于存储器中的数据,只能使用load/store指令进行存取 ARM7TDMI(-S)指令系统 简介 ARM7TDMI(-S)指令系统 ARM指令集与Thumb指令集的关系 1 ARM处理器寻址方式 寻址方式分类 1 ARM处理器寻址方式 寻址方式分类——寄存器寻址 1 ARM处理器寻址方式 寻址方式分类——立即寻址 1 ARM处理器寻址方式 寻址方式分类——寄存器移位寻址 1 ARM处理器寻址方式 寻址方式分类——寄存器间接寻址 1 ARM处理器寻址方式 寻址方式分类——基址寻址 1 ARM处理器寻址方式 寻址方式分类——基址寻址 1 ARM处理器寻址方式 寻址方式分类——多寄存器寻址 1 ARM处理器寻址方式 寻址方式分类——堆栈寻址 1 ARM处理器寻址方式 寻址方式分类——堆栈寻址 1 ARM处理器寻址方式 寻址方式分类——堆栈寻址 1 ARM处理器寻址方式 寻址方式分类——堆栈寻址 1 ARM处理器寻址方式 寻址方式分类——块拷贝寻址 1 ARM处理器寻址方式 寻址方式分类——相对寻址 简单的ARM程序 简单的ARM程序 ARM指令一般编码格式 opcode操作码功能表 指令的条件码 ARM指令集——基本指令语法格式 ARM指令集——第2个操作数 4.2 指令集介绍 ARM指令集——第2个操作数 4.2 指令集介绍 ARM指令集——第2个操作数 4.2 指令集介绍 ARM指令集——第2个操作数 4.2 指令集介绍 ARM指令集——第2个操作数 1)跳转指令 在 ARM 中有两种方式可以实现程序的跳转:一种是跳转指令:另一种是直接向 Pc 寄存器( R15 )中写入目标地址值。通过直接向 PC 寄存器中写入目标地址值可以实现在 4 GB 的地址空间中任意跳转,这种跳转指令又称为长跳转。如果在长跳转指令之前使用 MOV、 LR 、 PC 等指令,可以保存将来返回的地址值,就实现了在 4 GB 的地址空间中的子程序调用。 ARM 的跳转指令可以从场前指令向前或向后的 32 MB 的地址空间跳转。这类跳转指令有以下 4 种: B 跳转指令。 BL 带返回的跳转指令。 BLX 带返回和状态切换的跳转指令。 BX 带状态切换的跳转指令。 2)数据处理指令 数据处理指令又可大致分为 3 类: 数据传送指令,如 MOV。数据传送指令用于向寄存器中传入一个常数。该指令包括一个目标寄存器和一个源操作数。 算术逻辑运算指令,如 ADD 、 SUB 和 AND 等;算术逻辑运算指令通常包括一个目标寄存器和两个源操作数。其中一个源操作数为寄存器的值。算术逻辑运算指令将运算结果存入目标寄存器,同时更新 CPSR 中相应的条件标志位。 比较指令,如 TST 。比较指令不保存运算结果,只更新 CPSR 中相应的条件标志位。 2)数据处理指令 MOV 数据传送指令。 MVN 数据求反传送指令。 CMP 比较指令。 CMN 基于相反数的比较指令。 TST 位测试指令。 TEQ 相等测试指令。 ADD 加法指令。 SUB 减法指令。 2)数据处理指令 RSB 逆向减法指令. ADC 带位加法指令。 SBC 带位减法指令。 RSC 带位逆向减法指令。 AND 逻辑与操作指令。 BIC 位清除指令。 EOR 逻辑异或操作指令。 ORR 逻辑或操作指令, 3)乘法指令 ARM 有两类乘法指令:一类为 32 位的乘法指令,即乘法操作的结果为 32 位;另一类为 64 位的乘法指令,即乘法操作的结果为 64 位。两类指令共有以下 6 条: MUL 32 位乘法指令。 MLA 32 位带加数的乘法指令。 SMULL 64 位有符号数乘法指令。 SMLAL 64 位带加数的有符号数乘法指令。 UMULL 64 位无符号数乘法指令。 UMLAL 64 位带加数的无符号数乘法指令。 4)杂类的算术指令 在ARM v5 及以上的版本中包含一条特别的指令 CLZ ,用于计算操作数最高端 0 的个数。这条指令主要用于以下两种场合:

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档