嵌入式技术实用教程教学课件作者姜帆第3章嵌入式处理器指令系统课件.pptVIP

嵌入式技术实用教程教学课件作者姜帆第3章嵌入式处理器指令系统课件.ppt

  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文档。上传文档
查看更多
第3章 嵌入式处理器指令系统 学习目标: 1.掌握ARM指令的基本格式。 2.理解ARM指令的寻址方式。 3.熟悉ARM指令集。 4.熟悉Thumb指令集。 ARM指令分类及一般格式 ARM处理器的指令集可以分为数据处理指令、分支指令、程序状态寄存器(CPSR)处理指令、加载/存储指令、协处理器指令和异常产生指令6大类。其指令一般格式如下: Opcode{Cond}{S} Rd,Rn,Op2; 表示其中参数不可缺少,{}中的参数可以省略。具体说明如下: Opcode为指令的操作码,如MOV,SUB,BX等;Cond为指令执行的条件域,指示什么条件执行该指令,指令可以不加条件;S为决定执行指令时是否影响程序状态寄存器(CPSR)的值;Rd为目的寄存器;Rn为第一个源操作数,必须是寄存器;Op2为第二个源操作数;“;”号后为注解。 Opcode、Cond与S之间没有分隔符,S与Rd之间用空格隔开。 ARM指令中的操作数符号 ARM指令格式中的操作数有不同符号,现说明如下: 1.立即数符号“#” 2.二进制符号“%” 3.二进制符号“2 ” 4.十六进制符号“0x” 5. 更新基址寄存器符号“!” 6.复制SPSR到CPSR符号“^” 7.指示寄存器列表范围符号“~” ARM指令中的移位操作 ARM微处理器内嵌的桶型移位器(Barrel Shifter),支持数据的各种移位操作,但在ARM指令集中没有单独的指令供移位操作使用。移位操作在汇编语言中表示为指令中的选项,只能作为指令格式中的一个字段。如当数据处理指令的第2个操作数为寄存器时,就可以加入移位操作选项对它进行各种移位操作。 移位操作包括逻辑左移(LSL)、算术左移(ASL)、逻辑右移(LSR)、算术右移(ASR)、循环右移(ROR)及带扩展的循环右移(RRX)共6种类型。 ARM指令的寻址方式 所谓寻址方式,就是处理器根据指令中给出的地址信息来寻找物理地址的方式。目前ARM指令系统支持的常见寻找方式有立即寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址、堆栈寻址及多寄存器寻址7种。 ARM指令的寻址方式 1立即寻址 立即寻址也叫立即数寻址,是一种特殊的寻址方式。采用立即寻址方式时,操作数本身就在指令中给出,只要取出指令也就取到了操作数,这个操作数被称为立即数。 2寄存器寻址 寄存器寻址就是利用寄存器中的数值作为操作数,这种寻址方式是各类微处理器经常采用的一种方式,也是一种执行效率较高的一寻址方式。 3寄存器间接寻址 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中,用于间接寻址的寄存器必须用方括号“[]”括起来。 4基址加变址寻址 基址加变址寻址就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。基址加变址寻址方式常用于某地至附近的地址单元。 ARM指令的寻址方式 5相对寻址 与基址加变址寻址方式相类似,相对寻址以程序计数器(PC)的当前值为基地址,以指令中的地址标号为偏移量,将两者相加之后的值作为操作数的有效地址。以下程序段的作用是完成子程序的调用和返回,其中跳转指令BL即采用了相对寻址方式。 6堆栈寻址 7多寄存器寻址 多寄存器寻址又称块拷贝寻址,采用多寄存器寻址方式可以用一条指令完成传送最多16个通用寄存器的值。 ARM指令集 ARM微处理器的指令集是加载/存储型的,即指令集仅能处理寄存器中的数据,处理结果仍要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。 Thumb指令集 ARM体系结构除了支持执行效率很高的32位ARM指令集以外,为兼容数据总线宽度为16位的应用系统,也支持16位的Thumb指令集。Thumb指令集是ARM指令系统的一个子集,允许指令编码的长度为16位,与等价的32位代码相比较,Thumb指令集在保留32位代码优势的同时,大大的节省了系统的存储空间。 所有的Thumb指令都有对应的ARM指令,而且Thumb的编程模型也对应于ARM的编程模型,在应用程序的编写过程中,只要遵循一定调用的规则,Thumb子程序和ARM子程序就可以互相调用(如利用上一节中BX、BLX指令等)。当处理器在执行ARM程序段时,称ARM处理器处于ARM工作状态;当处理器在执行Thumb程序段时,称ARM处理器处于Thumb工作状态。 * *

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档