- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
*;2.3.1 ARM指令系统概述;*; (3)ARM指令的格式
ARM指令基本的语法格式为:
Opcode {cond}{s} Rd, Rn {, Operand2}
Opcode:指令操作码。
cond:指令的条件码。
S:决定指令的操作是否影响cpsr的值。
Rd:目标寄存器编码。
Rn:包含第一个操作数的寄存器编码。
Operand2:第2操作数。
ARM指令典型的编码格式为:
(数据处理指令类); (4)指令的条件码
条件码的位数和位置:每条ARM指令包含4位条件码域cond,它占用指令编码的最高四位[31:28]。
条件码的表示:条件编码共 24 =16 种,其中,15种用于指令的条件码。每种条件码用2个英文缩写字符表示。(见P47 表2-6)
带条件指令的执行:ARM处理器根据指令的执行条件是否满足,决定当前指令是否执行。
只有在cpsr中的条件标志位满足指定的条件时,指令才会被执行。不符合条件的代码依然占用一个时钟周期(相当于一个NOP指令)。
条件码的书写方法:条件码的位置在指令助记符的后面(因此也称为条件后缀)。
例如: MOVEQ R0, R1;指令条件码表;2.3.2 ARM指令集;1)跳转指令;(续);(2)BX
分枝并可选地交换指令集指令,其句法如下:
BX {cond} Rm
其中:Rm是含有转移地址的寄存器。Rm的位[0]不用来作为地址的一部分。若Rm的位[0]为1,则指令将CPSR中的标志T置位,且将目标地址的代码解释为Thumb代码;若Rm的位[0]为0,则位[1]就不能为1。
BX指令将引起处理器转移到Rm中的内容所指向的地址处,若Rm的位[0]为1,则指令集变换到Thumb集。 ;(续);(3)BLX
带链接分枝并可选地交换指令集,这条指令的句法结构有如下两种形式:
BLX {cond} Rm 带链接有条件转移到寄存器中的绝对地址;
BLX label 带链接无条件转移到程序相对偏移地址;
其中:Rm是含有转移地址的寄存器。Rm的位[0]不用来作为地址的一部分。若Rm的位[0]为1,则指令将CPSR中的标志T置位,且将目标地址的代码解释为Thumb代码;若Rm的位[0]为0,则位[1]就不能为1。 ;(续);
;3)乘法指令和乘加指令;包含两条指令:
MRS 将CPSR或SPSR_mode内容移到通用寄存器。
MSR 将立即数或通用寄存器内容移到CPSR或SPSR_mode。
使用说明:
用户模式,CPSR的控制bits(bit7~0,I、F、T、M4~M0)不能被改变,其他模式(Privileged)整个CPSR能被改变。
永远不能通过软件改变CPSR的T bit,否则处理会进入不可预知的状态。
SPSR寄存器的访问依赖于异常时的模式,例如,而SPSR_fiq只能在FIQ模式访问。
用户模式不能访问SPSR,因为用户模式没有相应的SPSR寄存器。
不能使用R15做源或目的寄存器。
强烈建议使用读-修改-写的策略修改PSR寄存器。;通用寄存器和32位地址空间内的存储单元之间的数据传送。
加载指令:
LDR:字数据加载指令,由存储器到Rd。
格式:LDR{条件} Rd, 存储器地址
举例: LDR R1,[R2]
存储指令
STR:字数据存储指令,由Rn到存储器。
格式:STR{条件} Rn, 存储器地址
举例: STR R1,[R2]
说明
后缀B表示字节存储,H表示半字,S表示符号…
本节讨论均以字及无符号字、字节的访问为准。
以H、SH、SB、D后缀的指令的寻址方式略有不同。;指令格式:
LDM|STM{cond}FD|ED|FA|EA|IA|IB|DA|DB Rn{!},Rlist{^}
多字节存取指令:
LDM:将Rn指向的存储空间的数据,装入Rlist所列寄存器组。
STM:将Rlist所列寄存器组内的数据存入Rn指向的存储空间。
常用于在寄存器和内存之间传递多个字节,例如,用堆栈方式保存与恢复程序现场时传递参数。
一般数据传递时附加码含义:
I:Increase 递增,传递过程中Rn是递增的。
D:Decrease递减,传递过程中Rn是递减的。
B:Before,传递前更新Rn。
A:After ,传递后更新Rn。;7)数据交换指令;MCR;(1)CDP
协处理器数据操作指令,其句法如下:
CDP {cond} coproc,opcode1,CRd,CRn,CRm{,opcode2}
其中:coproc 指令操作的协处理器名。标准名为pn,其中n为0~15;
opcode1 协处理器特定操作码;
CRd,CRn,CRm 协处理器寄存器;
opcode
您可能关注的文档
- 地产项目操盘策略绪论.ppt
- 第二学时LearningaboutLanguage总汇.ppt
- 第7单元电子表格中的数据处理总汇.ppt
- 第二章 数学模型总汇.ppt
- 第7讲_电子光学基础_111028总汇.ppt
- 地方感的营造与拟真绪论.ppt
- 第二章(第三节纱线对织物外观和性能的影响)总汇.ppt
- 第7讲国际市场细分50总汇.ppt
- 地理:4.3.2《新工业区》绪论.ppt
- 第7讲区域地理-非洲总汇.ppt
- 芜湖市区中心软装方案.pdf
- 综合文学spanish liture paper西牙.pdf
- 知识讲解平面向量线性运算.pdf
- 有线双向电视业务系统.pdf
- 飞机系统冰雨水有意剩下空白a318 a319 a320 csn tf dsc.pdf
- 内容网络工作组txt.pdf
- 管线系统用户功能确认书smartpipet2查询统计.pdf
- redemittel zur diskussion演讲者进行讨论.pdf
- labview tm乐高思维风暴nxt advanced programming guide.pdf
- 课件2 x-03 p1 tablette murale tm verone平板电脑.pdf
文档评论(0)