- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 ARM指令系统
第四章 ARM指令系统
第四章 ARM 指令系统
第四章 ARM 指令系统
主要内容:
ARM微处理器的指令集概述;
ARM指令的寻值方式
ARM指令集
Thumb指令及应用
伪指令
简单汇编实例
4.1 ARM微处理器的
指令集概述
指令系统简介
一、指令系统
指令是规定计算机进行某种操作的命令。
计算机能够执行的各种指令的集合称为指令系统。
4.1.1 ARM微处理器的指令的分类与格式
4.1.1 ARM微处理器的指令的分类与格式
ARM微处理器的指令集是加载/存储(Load/Store)
型的,也即指令集仅能处理寄存器中的数据,而
且处理结果都要放回寄存器中,而对系统存储器
的访问则需要通过专门的加载/存储指令来完成。
ARM微处理器的指令集可以分为跳转指令、数据
处理指令、程序状态寄存器(PSR )处理指令、
加载/存储指令、协处理器指令和异常产生指令六
大类。
基本ARM指令共36条。
4.1.1 ARM微处理器的指令的分类与格式
4.1.1 ARM微处理器的指令的分类与格式
4.1.2 指令的条件域
4.1.2 指令的条件域
当处理器工作在ARM状态时,几乎所有的指令均根据
CPSR 中条件码的状态和指令的条件域有条件的执行。当
指令的执行条件满足时,指令被执行,否则指令被忽略。
每一条ARM指令包含4位的条件码,位于指令的最高4位
[31:28]。条件码共有16种,每种条件码可用两个字符表
示,这两个字符可以添加在指令助记符的后面和指令同时
使用。
例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则
跳转”,即当CPSR 中的Z标志置位时发生跳转
4.1.2 指令的条件域
4.1.2 指令的条件域
在16种条件标志码中,只有15种可以使用,第16种
在16种条件标志码中,只有15种可以使用,第16种
(1111)为系统保留,暂时不能使用。
(1111)为系统保留,暂时不能使用。
4.2 ARM指令的
寻址方式
4.2 ARM 指令的寻址方式
4.2 ARM 指令的寻址方式
寻址方式:处理器根据指令中给出的地址信息来
寻找物理地址的方式。
目前ARM指令系统支持7种常见的寻址方式。
4.2.1 立即寻址
4.2.1 立即寻址
立即寻址也叫立即数寻址,这是一种特殊的寻址方式。
操作数本身就在指令中给出,只要取出指令也就取到了操作
数。这个操作数被称为立即数,对应的寻址方式也就叫做立
即寻址。
ADD R0 ,R0 ,#1 ;R0←R0 +1
ADD R0 ,R0 ,#0x3f ;R0←R0 +0x3f
在以上两条指令中,第二个源操作数即为立即数,要求以“ #”
为前缀,对于以十六进制表示的立即数,还要求在“ #”后加上
“0x”或“
4.2.2 寄存器寻址
4.2.2 寄存器寻址
寄存器寻址就是利用寄存器中的数值作为操作
数,这种寻址方式是各类微处理器经常采用的一
种方式,也是一种执行效率较高的寻址方式。
ADD R0 ,R1 ,R2 ;R0←R1 +R2
该指令的执行效果是将寄存器R1和R2 的内容相
加,其结果存放在寄存器R0 中。
4.2.3 寄存器间接寻址
4.2.3 寄存器间接寻址
寄存器间接寻址就是以寄存器中的值作为操作数的地址,
而操作数本身存放在存储器中。
ADD R0 ,R1 ,[R2] ;R0←R1 +[R2]
在第一条指令中,以寄存器R2 的
文档评论(0)