- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统基础 第4章arm指令系统
主要内容一.ARM处理器寻址方式二.ARM指令集ARM指令集Thumb指令集三.ARM汇编程序设计ARM指令集概述ARM处理器是基于精简指令集原理设计的,与基于复杂指令集原理设计的处理器相比,其指令集及译码机制相对简单。ARM指令集是32位的,程序的启动都从ARM指令集开始,包括所有异常中断都自动转化为ARM状态。所有ARM指令集都可以是有条件执行的。ARM指令集是32位的,程序的启动都是从ARM指令集开始。所有的ARM指令集都可以是有条件执行的。ARM指令集是以32位二进制编码的方式给出的,大部分的指令编码中定义了第一操作数、第二操作数、目的操作数、条件标志影响位以及每条指令所对应的不同功能实现的二进制位。 每条32位ARM指令都具有不同的二进制编码方式,和不同的指令功能相对应 寻址方式就是处理器根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。虽然嵌入式程序都可以用汇编语言、C语言或C++语言等高级语言以及汇编语言与C语言混合编程设计,但是汇编语言是编程效率最高、最直接的编程方法,而且嵌入式程序是更接近底层硬件的,汇编语言更为直接有效。即便大部分程序用高级语言设计,但系统的引导、启动代码必须使用汇编语言设计。指令系统是汇编语言程序设计的基础,而汇编语言编程是在指令集的基础上进行设计的。ARM处理器指令集是基于RISC的指令、是32位指令。说明一 ARM指令长度ARM指令长度指令集可以是以下任一种32 bits 长 (ARM状态)16 bits 长 (Thumb 状态)支持3种数据类型字节 (8-bit)半字 (16-bit)字 (32-bit)1x“双字”(DWORD)=2x“字”(WORD)=4x“字节”(Byte)=32x“位”(Bit)字必须被排成4个字节边界对齐,半字必须被排列成2个字节边界对齐说明二 ARM指令长度向后兼容:新版本增加指令,并保持指令向后兼容;Load-store(加载/存储型) 结构*load/store –从存储器中读某个值,操作完后再将其放回存储器中只对存放在寄存器的数据进行处理对于存储器中的数据,只能使用load/store指令进行存取1.ARM处理器寻址方式2.ARM指令集ARM指令集Thumb指令集3.ARM汇编程序设计简介简介 ARM处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单。ARM7TDMI(-S)具有32位ARM指令集和16位Thumb指令集,ARM指令集效率高,但是代码密度低;而Thumb指令集具有较高的代码密度,却仍然保持ARM的大多数性能上的优势,它是ARM指令集的子集。所有的ARM指令都是可以有条件执行的,而Thumb指令仅有一条指令具备条件执行功能。ARM程序和Thumb程序可相互调用,相互之间的状态切换开销几乎为零。 第4章 ARM指令系统ARM指令集与Thumb指令集的关系Thumb指令集具有灵活、小巧的特点ARM指令集支持ARM核所有的特性,具有高效、快速的特点4.1 ARM处理器寻址方式寻址方式分类 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM处理器具有9种基本寻址方式。1.寄存器寻址; 2.立即寻址;3.寄存器移位寻址; 4.寄存器间接寻址;5.基址寻址; 6.多寄存器寻址;7.堆栈寻址; 8.块拷贝寻址;9.相对寻址。4.1 ARM处理器寻址方式 操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器值来操作。寄存器寻址指令举例如下: MOV R1,R2 ;将R2的值存入R1 SUB R0,R1,R2 ;将R1的值减去R2的值,结果保存到R0 R20xAAR10x55寻址方式分类——寄存器寻址0xAAMOV R1,R24.1 ARM处理器寻址方式立即寻址也叫立即数寻址,这是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数,这个操作数被称为立即数,对应的寻址方式也就叫做立即寻址。立即寻址指令中的操作码字段后面的地址码部分即是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取出了可以立即使用的操作数(这样的数称为立即数)。立即寻址指令举例如下: SUBS R0,R0,#1 ;R0减1,结果放入R0,并且影响标志位MOV R0,#0xFF000 ;将立即数0xFF000装入R0寄存器 程序存储MOV R0,#0xFF00R00x55寻址方式分类——立即寻址从代码中获得数据0xFF00MOV R0,#0xFF004.1 ARM处理器寻址方式 寄存器移位寻址是ARM指令集特有的寻址方式。当第2个操作数是寄存器移位方式时,第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。寄存器移位寻址指令
您可能关注的文档
最近下载
- 2025年湖北机关事业单位工勤技能人员技术等级考试(行政后勤管理员·技师)历年参考题库含答案详解(5.docx VIP
- 基于SWOT分析法探讨公立医院体检中心开展健康体适能检测业务的可行性.doc VIP
- 2025年中职高考中职英语二轮复习语法专项第四章代词课件(共237张PPT).pptx VIP
- AI应用行业年度报告2024-奇异因子.docx
- 产教融合视角下AI智慧营销时代广告策划教学路径研究.docx VIP
- 论意境_袁行霈.pdf
- 02S101矩形给水箱图集标准.pptx
- 二年级语文上册部编版第7单元基础复习(知识梳理+检测).pdf VIP
- 曲氟尿苷替匹嘧啶片说明书.PDF VIP
- 12J6 外装修(标准图集).pdf VIP
原创力文档


文档评论(0)