嵌入式系统讲稿(前言)1.ppt

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

10000 Branch (with optional link) and exchange instruction binary encoding cond Rm 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 31 28 27 6 5 4 3 0 1 L 1 1 1 1 1 0 1 H 24-bit signed word offset 31 28 27 25 24 23 0 (1) BX|BLX Rm (2) BLX label 说 明 第1种格式中,寄存器Rm指定转移目标,Rm的第0位拷贝到CPSR中的T位,位匚31:1]移人PC。 ·如果Rm[0]是1,则处理器切换执行Thumb指令,并在Rm中的地址处开始执行。但须将最低位清0,使之以半字的边界对准。 ·如果Rm[0]是0,则处理器继续执行ARM指令,并在Rm中的地址处开始执行。但须将Rm匚1]清0,使之以字的边界对准。 在第2种格式中,转移目标是这样计算的:将指令中指定的24位偏移进行符号扩展,左移两位形成字的偏移,然后将它加到程序计数器。这时程序计数器的内容为Bx指令地址加8字节。 位)也加到结果地址的第1位,使得可以为目标指令选择奇数的半字地址,而该目标指令将总是Thumb指令(BL用做转向ARM指令)。汇编器将计算正常情况下的正确偏移。转移指令的范围是±32 MB 如果在第1种形式中使位L(第5位)量位,那么这两种形式具有链接属性的转移指令(BLx仅用于v5T处理器),也将转移指令后下一条指令的地址传送到当前处理器模式的链接寄存器(r14)。 当调用Thumb子程序时,一般用这类指令来保存返回地址。 如果用Bx作为子程序返回机制,那么调用程序的指令集能连同返回地址一起保存。 因此,可使用同样的返回机制从ARM或Thumb子程序对称地返回到ARM或Thumb的调用程序。 汇编格式 1)B{L}X(<cond>〉Rm 2)BLX<target address)> “<target address>”一般是汇编代码中的一个标号。汇编器将产生偏移(它将是目标的字地址和转移指令地址加8的差值),并在适当时设置位H。 举 例 无条件跳转: Bx r0 ;转移到ro中的地址 ;如果r0[0]=1,则进入Thumb状态 调用Thumb子程序: CODE32 ;以下是ARM代码 ? BLX TSUB ;调用Thumb子程序 ? CODE16 ;开始Thumb代码 TSUB … ;Thumb子程序 Bx r14 ;返回到ARM代码 注意事项 1)一些不支持Thumb指令集的ARM处理器将捕获这些指令,允许软件仿真Thumb指令。 2)只有实现v5T ARM体系结构的处理器支持BLx指令的任意形式. 四、ARM存储器访问指令 ARM处理器是加载/存储体系结构的典型的RISC处理器,对存储器的访问只能使用加载和存储指令实现。 ARM的加载/存储指令是可以实现字、半字、无符号/有符号字节操作; 批量加载/存储多个寄存器的内容,提高效率;SWP指令是寄存器与存储器内容交换指令; ARM处理器是冯 诺依曼结构;程序空间、RAM空间及I/O映射空间统一编址。 ARM存储器访问指令表 1、LDR/STR 2、LDM/STM 3、SWP 五、数据处理指令 数据处理指令包括: (1)、数据传输指令 (2)、算术逻辑运算指令 (3)、乘法指令 1、数据传输指令 2、算术逻辑运算指令 3、乘法指令 七、ARM协处理器指令 八、ARM杂项指令 ARM杂项指令有以下三条: (1)、软件中断指令 SWI (2)、读状态寄存器 MRS Rd,psr (3)、写状态寄存器 MSR psr_fields,Rd/#immed_8 1、软件中断〔SWI〕指令 ? 软件中断指令用于调用操作系统,常称为“监控调用”。它将处理器置于监控模式,从地址0x08开始执行指令。 如果存储器的这部分区域被适当保护,就有可能在ARM上构建一个全面防止恶意用户的操作系统。但是,由于ARM很少用于多用户应用环境,通常不要求这种级别的保护。 Software interrupt binary encoding cond 1 1 1 1 24-bit (interpreted) immediate 3

文档评论(0)

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

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

1亿VIP精品文档

相关文档