ARM开发入门教程09_Thumb指令.pdf

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

Thumb指令 TONY 2012 TM 1 Thmb指令集编码 Thumb编程模型 Thumb指令的使用 Tony vopo123@126.com TM 2 2 Thumb指令集概述 Thumb指令集ARM指令集压缩形式的子集,是针对代码 密度的问题而提出的,它具有16位的代码密度。虽然所有 Thumb指令都有相应的ARM指令,但Thumb不是一个完整的 体系结构,处理器不可能只执行Thumb指令集而不支持ARM 指令集。ARM开发工具完全支持Thumb指令,应用程序可灵 活地将ARM和Thumb子程序混合编程,以便提高性能和代码 密度。在ARM指令中要使用BX指令跳转到Thumb指令,以切 换处理器状态。 Tony vopo123@126.com TM 3 3 特点 与ARM指令集相比,Thumb指令集有如下特点: ●采用 位二进制编码,而 指令是 位的。 16 ARM 32 ● 由于是压缩的指令,在ARM指令流水线中实现Thumb指令 时,先动态解压缩,然后作为标准的ARM指令来执行。 ●如何区分指令流取决于CPSR的第5位。若T为1,则认为是 Thumb指令,若T为0,则认为是32位ARM指令。 ● 由ARM模式进入Thumb模式时,是显式进入;由Thumb模式 进入ARM模式时,可以是隐式的,也可以是显式的进入。所谓 “隐式的进入”是指不执行交换转移指令,直接进入另一种模式。 而“显式的进入”就是指使用交换转移指令来实现处理器模式的转 移. Tony vopo123@126.com TM 4 4  特点 与ARM指令集相比,Thumb指令集有如下特点: ●Thumb指令集没有协处理器指令,信号量指令,乘加指令, 64位乘法指令以及访问CPSR或SPSR的指令,而且指令的第2操作 数受到限制。 ● 除了分支指令B有条件指令功能外,其他指令均为无条件指令。 ●大多数Thumb数据处理指令采用2地址格式。 Tony vopo123@126.com TM 5 5 Thumb指令集较ARM指令集有如下限制: 只有B指令可以条件执行,其它指令都不能条件执行; 分支指令的跳转范围有更多限制; 数据处理指令的操作结果必须放入其中一个; 单寄存器访问指令,只能操作R0~R7; LDM和STM指令可以对R0~R7的任何子集进行操作; Tony vopo123@126.com TM 6 6 Thumb状态切换 当系统复位后,ARM启动并执行ARM指令。进入Thumb指 令模式有2中方法。 ●一种是执行一条交换转移指令 ,将指令中的目标地址寄存 BX 器的最低位置1,并将其他位的值放入程序计数器PC,则可进入 Thumb指令。 ● 另一种是利用异常返回,也可把微处理器从ARM模式转换为 Thumb模式。 Tony vopo123@126.com TM 7 7  退出Thumb指令模式也有2种方法:  一种是执行Thumb指令中的交换转移BX指令可以显式地返回

文档评论(0)

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

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

1亿VIP精品文档

相关文档