教案嵌入式系统5(ARM指令系统).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
资料来自网络,请保护知识产权,请您下载后勿作商用,只可学习交流使用。系统)

西安电子科技大学计算机学院 5.6 Thumb指令集 Thumb指令集是针对代码密度的问题而提出的。可以看作是ARM指令集的子集。 所有Thumb指令均有对应的ARM指令,而Thumb编程模型也对应于ARM模型。 Thumb是一个不完整的体系结构,不能指望处理器只执行Thumb代码而不支持ARM指令集。一般Thumb代码只需支持通用功能,必要时可以借助于ARM指令集(例:所有异常自动进入ARM模式) 应用程序可以灵活的将ARM指令和Thumb程序混合,以便提高性能和代码密度。同时达到降低功耗、节约成本和提高性能的目的。 西安电子科技大学计算机学院 5.6.1 Thumb指令集的执行 在任何时刻,对指令流的解释取决于CPSR的第5位,即位T,若T置位,则认为指令流为16位的Thumb指令;否则为标准的ARM指令。 并不是所有的ARM处理器都支持Thumb指令。只有在命名中有字母T的才支持,例如以上提到的ARM7TDMI。 西安电子科技大学计算机学院 5.6.2 Thumb状态切换 进入Thumb模式 复位后,ARM启动并执行ARM指令。转向执行Thumb指令的通常方法是执行一条交换转移指令BX。若BX指令指定的寄存器的最低位为1,则将T置位,并将程序计数器切换为寄存器其它位给出的地址 异常返回也可以将微处理器从ARM状态转换为Thumb状态。通常这种指令用于返回到进入异常前所执行的指令流,而不是特地用于转换到Thumb模式 西安电子科技大学计算机学院 5.6.2 Thumb状态切换 退出Thumb模式 执行Thumb BX指令可以显式地返回到ARM指令流。 利用异常进入ARM指令流 西安电子科技大学计算机学院 5.6.3 Thumb指令集特点 继承ARM指令集的特点 采用Load/Store结构 支持8位、16位、32位数据处理 丢弃了ARM指令集一些特点 大多数Thumb指令无条件执行 大多数Thumb数据处理采用2地址格式 异常时的表现 所有异常都会使处理器返回到ARM状态 由Thumb状态进入时地址偏移(2字节对齐)与ARM(4字节对齐)不同 Thumb的寻址方式几乎对等于ARM的方式 西安电子科技大学计算机学院 谢谢! 嵌入式系统 第五讲 ARM微处理器的指令系统 西安电子科技大学计算机学院 本节内容 ARM指令集简述 ARM指令格式 ARM指令集编码 ARM寻址方式 ARM指令介绍 Thumb指令介绍 西安电子科技大学计算机学院 5.1 ARM指令集简述 Load/Store 结构 在通用寄存器中进行操作; load/store –从存储器中读某个值,操作完后再将其放回存储器中。 指令分类 数据处理指令 load/store指令 跳转指令 CPSR处理指令 协处理器指令 异常产生指令 西安电子科技大学计算机学院 5.2 ARM指令格式 基本格式 opcode{cond}{S} Rd,Rn{,operand2} 说明 opcode 指令助记符,如LDR,STR 等 cond 执行条件,如EQ,NE 等 S 是否影响CPSR 寄存器的值 Rd 目标寄存器 Rn 存放第一操作数的寄存器 operand2 第二个操作数 注:{}为可选项 西安电子科技大学计算机学院 举例 LDR R0,[R1] 读取R1地址上的存储器单元内容,执行条件AL BEQ DATAEVEN 跳转指令,执行条件EQ,即相等则跳转到DATAEVEN ADDS R1,R1,#1 加法指令,R1+1=R1 影响CPSR寄存器(带有S) SUBNES R1,R1,#0xD 条件执行减法运算(NE),R1-0xD=R1,影响CPSR寄存器(带有S) 西安电子科技大学计算机学院 条件码 西安电子科技大学计算机学院 ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行 条件满足时,指令被执行,否则指令被忽略 条件码可用2个字符表示 可以添加在指令助记符的后面和指令同时使用 条件码占指令码的高4位 16种条件标志中,只有15种可用(如图),第16种(1111)为系统保留。 西安电子科技大学计算机学院 5.3 ARM指令集编码 西安电子科技大学计算机学院 5.4 ARM寻址方式 寻址方式是根据指令编码中给出的地址码字段来寻找真实操作数的方法 分类 立即寻址 寄存器寻址 寄存器偏移寻址 寄存器间接寻址 变址寻址 堆栈寻址 块拷贝寻址 相对寻址 西安电子科技大学计算机学院 5.4.1 立即寻址 也叫立即数寻址 操作数就包含在指令的32位编码中 如: ADD R0,R0,#1 AND R3,R4,#0xFF 只有第二源操作数可用立即数 立即数要以“#”为前缀,“#”后加“0x”或“”表示16 进制,“0b”表示二进制

文档评论(0)

bodkd + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档