ImageVerifierCode 换一换
格式:PPT , 页数:25 ,大小:132.50KB ,
资源ID:138092      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-138092.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(教学计划.ppt)为本站会员(创****公)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

教学计划.ppt

1、2018年7月10日星期二10时49分12秒,教学计划,概述ARM体系结构 ARM指令系统 (NOW BEGIN)实时操作系统嵌入式应用处理器开发及应用实例,2018年7月10日星期二10时49分12秒,ARM指令系统,ARM指令系统特点 ARM指令系统 Thumb指令系统 ARM宏汇编,2018年7月10日星期二10时49分12秒,5.1 ARM指令系统特点,ARM指令系统属于RISC指令系统。标准的ARM指令每条都是32位长 有些ARM核还可以执行Thumb指令集,该指令集是ARM指令集的子集,每条指令只有16位,2018年7月10日星期二10时49分12秒,ARM指令特点,每条指令的多功

2、能所有的指令都带有条件 具有灵活的第二操作数 协处理器的作用 通过扩展协处理器完成更加复杂的功能 Thumb指令 低成本 整体执行速度 快代码密度 高具有RISC指令的特点 立即数和直接地址,5.2 ARM指令系统,ARM指令的寻址方式 ARM指令的条件执行 Load/Store类指令ARM数据处理类指令 ARM转移类指令 ARM协处理器类指令 ARM杂项指令 XScale指令,2018年7月10日星期二10时49分12秒,5.2.1 ARM指令的寻址方式,基本寻址方式每条ARM指令都是32位指令,在大多数情况下,可以有三个操作数,其中第一操作数或目的操作数一般为基本操作数方式 复合寻址方式

3、每条ARM指令中还可以有第二和第三操作数,它们采用复合寻址方式,2018年7月10日星期二10时49分12秒,基本寻址方式,寄存器寻址 例:ADD R0 , R1 , R2; (R1)+(R2)R0 这条指令将两个寄存器(R1和R2)的内容相加,结果放入第3个寄存器R0中。 必须注意写操作数的顺序,第1个是结果寄存器,然后是第一操作数寄存器,最后是第二操作数寄存器。,2018年7月10日星期二10时49分12秒,立即数寻址 例:ADD R3 , R3 , #2 ; (R3)+2R3 指令中在操作码字段后面的地址码部分不是通常意义上的操作数地址,而是操作数本身。 第2个源操作数为一个立即数,以“

4、#”为前缀,十六进制值以在“#”后加“0x”或“&”表示,2018年7月10日星期二10时49分12秒,寄存器间接寻址例:LDR R0 , R3 ; (R3)R0 指令中的地址码给出某一通用寄存器的编号。在被指定的寄存器中存放操作数的有效地址,而操作数则存放在存储单元中,即寄存器为地址指针,2018年7月10日星期二10时49分12秒,寄存器变址 例:LDR R0 , R1, #4 ; (R1)+4)R0 相对寻址 相对寻址是变址寻址的一种变通,由程序计数器PC提供基地址。指令中的地址码字段作为位移量。 例:B rel ; (PC)+relPC,2018年7月10日星期二10时49分12秒,复

5、合寻址方式,第二操作数寻址方式 字和无符号字节寻址方式 半字和有符号字节寻址方式 块寻址 协处理器寻址方式,2018年7月10日星期二10时49分12秒,第二操作数寻址方式,ARM运算指令和某些数据传送指令除了目的操作数和第一操作数(它们为寄存器寻址)外,还具有第二操作数,2018年7月10日星期二10时49分12秒,第二操作数寻址方式,立即寻址 例:MOV R0 , #20寄存器直接 例: MOV R0 , R1寄存器移位(Rm , 移位码 #immed_5) 移位码包括: LSL、LSR、ASR、ROR、RRX中的任何一种,移位数由#immed_5决定 例: MOV R0 , R1 ,LS

6、L #1 ; (R1)*2R0寄存器间接移位 (Rm , 移位码 Rs) 移位码包括:LSL、LSR、ASR、ROR,移位位数由Rs的内容决定。例: MOV R0 , R1 LSL R2 ; (R1)*(R2)R0,2018年7月10日星期二10时49分12秒,字和无符号字节寻址方式,ARM中的取数指令的源操作数和存数指令的目的操作数采用带偏移量的变址方式,可以表示为基址+变址寻址。 有效地址为基地址寄存器的内容加上偏移量的值。对于字和无符号字节,寻址方式通常可以包括三种:寄存器间接寻址,前变址偏移寻址和后变址偏移寻址。带偏移量的变址包括常数或寄存器值,2018年7月10日星期二10时49分1

7、2秒,寄存器间接寻址( Rn ) 例: LDR R0 , R1 ;(R1)R0 STR R0, R1 ;(R0)(R1)前变址偏移寻址( Rn , 偏移量!)在数据传送之前,将偏移量加到Rn中。其结果作为传送数据的存储地址。若使用后缀“!”,则结果写回到Rn中,且Rn不允许是R15,2018年7月10日星期二10时49分12秒,立即数偏移 Rn,#!例: LDR R0 , R1 , #5! (R1)+5)R0,(R1)+5R1寄存器偏移 Rn, Rm!例: LDR R0 , R1 , -R2 ;(R1)-(R2)R0 移位寄存器偏移Rn, Rm,LSL #!Rn, Rm,LSR#!Rn, Rm

8、,ASR#!Rn, Rm,ROR#!Rn, Rm,RRX!例: LDR R0 , R1 , R2 ,LSL #2 ;(R1)+(R2)*4)R0,2018年7月10日星期二10时49分12秒,后变址偏移寻址( Rn , 偏移量),Rn的值用作传送数据的存储器地址。在数据传送后,偏移量加到Rn中,结果写回到Rn。Rn不允许是R15,2018年7月10日星期二10时49分12秒,立即数偏移 Rn, #例: LDR R0 , R1 , #4 ;(R1)R0,(R1)+4R1寄存器偏移 Rn, Rm 例: LDR R0 , R3 , -R8 ;(R3)R0,(R3)-(R8)R3移位寄存器偏移Rn,

9、Rm,LSL #Rn, Rm,LSR#Rn, Rm,ASR#Rn, Rm,ROR#Rn, Rm,RRX例: LDR R0 , R3 , R8 , LSL #2 ; (R3)R0,(R3)+ (R8)*4R3,2018年7月10日星期二10时49分12秒,半字和有符号字节寻址方式,ARM中的半字和有符号字节取数和存数指令的寻址方式与字和无符号字节的寻址方式略有不同 。 (具体介绍请参照相关指令集),2018年7月10日星期二10时49分12秒,块寻址,ARM对堆栈的使用一般用多寄存器传送指令,是一种有效的保存处理器状态和多字节传送的有效方式。ARM硬件中的堆栈分为以下四种类型:满向上生长型:堆栈

10、按高地址方向生长,当前堆栈指针指向一个有效值;空向上生长型:堆栈按高地址方向生长,当前堆栈指针指向一个空值;满向下生长型:堆栈按低地址方向生长,当前堆栈指针指向一个有效值;空向下生长型:堆栈按低地址方向生长,当前堆栈指针指向一个空值。,多寄存器传送示意图,STMIA R9! , R0 , R1 , R5 STMIB R9! , R0 , R1 , R5 ,多寄存器传送示意图,STMDA R9! , R0 , R1 , R5 STMDB R9! , R0 , R1 , R5 ,2018年7月10日星期二10时49分12秒,图中表明了如何将3个寄存器存到存储器中,以及使用自动寻址时如何修改基址寄存

11、器。执行指令之前的基址寄存器值是R9,自动寻址之后的基址寄存器是R9,2018年7月10日星期二10时49分12秒,举例说明:下面的两条指令是从R0指向的位置拷贝8个字到R1指向的位置。 LDMIA R0!,R2-R9 STMIA R1,R2-R9 执行指令后,R0由于“!”的引用自动寻址8个字,其值共增加32,而R1不变。,2018年7月10日星期二10时49分12秒,常见多字节传送指令,注:FD, ED, FA, EA 后缀只在堆栈时使用。F 和 E 分别代表堆栈指针指向为满或空。A 和 D 分别表示堆栈是否向上或向下生长。例如:堆栈如果是向上生长,STM 指令向上存放,LDM指令向下读取。IA, IB, DA, DB 后缀在一般数据传送时使用,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。