- 1、本文档共97页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM体系结构编程 课程内容复习(1) 1.Arm处理器的工作状态 Arm状态和Thumb状态 2.Arm处理器的工作模式 7种工作模式 工作模式的区别:不同工作模式下的程序能访问的系统资源(CPU寄存器)不同。 改变工作模式的方法:软件改变CPSR的模式位、异常中断的发生 工作模式的最大用途:用于处理不同的中断请求 课程内容复习(2) 3. Arm的寄存器组织 课程内容复习(2) 课程内容复习(3) 4. Arm的异常中断、中断向量表、中断处理、中断引起的工作模式的改变、中断的作用。 Arm存储器格式 ARM体系结构将存储器看作是从零地址开始的字节的线性组合 ARM体系结构可以用两种方法存储字数据,称之为大端格式和小端格式 大端格式:字数据的高字节存储在低地址中,字数据的低字节存储在高地址中。 小端格式:字数据的高字节存储在高地址中,字数据的低字节存储在低地址中。 主要内容 1.Arm指令概要介绍 2.Arm指令的寻址方式 3.Arm指令系统 1.Arm指令概要介绍 从四个方面进行描述 1.1 Arm指令的分类 1.2 典型的Arm指令的语法格式 1.3 Arm指令的条件执行 1.4 Arm指令的一般编码格式 1.1Arm 指令的分类 1 跳转指令 2 数据处理指令 3 乘法指令与乘加指令 4 程序状态寄存器访问指令 5 加载/存储指令 6 批量数据加载/存储指令 7 数据交换指令 8 移位操作指令 9 异常产生指令 10 协处理器指令 1.2典型的Arm指令的语法格式 一条典型的Arm指令语法格式为 例子 ADDEQS R0,R1,#3 1.3Arm指令的条件执行 大多数Arm指令都可以条件执行,也就是根据CPSR中的条件标志位决定是否执行该指令。当条件满足时该指令执行,条件不满足时被当作一条NOP指令 可以条件执行的指令可以在其助记符的扩展域上加上条件码助记符,从而在特定的条件下执行 ARM指令的条件执行 if (ab) a++; else b++; CMP R0, R1 ADDHI R0, R0, #1 ADDLS R1, R1, #1 1.4 Arm指令的编码格式 编码格式: 机器指令格式 在存储器中的指令格式 ARM指令集——第2个操作数 ARM指令集——第2个操作数 ARM指令集——第2个操作数 ARM指令集——第2个操作数 ARM指令集——第2个操作数 ARM指令集——第2个操作数 主要内容 1.Arm指令概要介绍 2.Arm指令的寻址方式 3.Arm指令系统 2. Arm 指令的寻址方式 立即寻址 寄存器寻址 寄存器间接寻址 基址变址寻址 寄存器偏移寻址 相对寻址 多寄存器寻址 堆栈寻址 1.寻址方式-立即寻址 立即寻址也叫立即数寻址 这是一种特殊的寻址方式,操作数本身就在指令中给出(或根据指令可直接计算而得),只要取出指令也就取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即寻址 。 例子 ADD R0,R0,#1 ;R0←R0+1 ADD R0,R0,#0x3f ;R0←R0+0x3f 2.寻址方式-寄存器寻址 寄存器寻址就是利用寄存器中的数值作为操作数 这种寻址方式是各类处理器经常采用的一种方式,也是一种执行效率较高的寻址方式 例子 ADD R0,R1,R2 ;R0←R1+R2 3.寻址方式-寄存器间接寻址 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中 例子 ADD R0,R1,[R2] ;R0←R1+[R2] 将R2中的数值作为地址,取出此地址中的数据与R1中的数据相加,结果存在R0里 4.寻址方式-基址变址寻址 基址变址寻址就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。 基址变址寻址方式常用于访问某基地址附近的地址单元。 例子 LDR R0,[R1,#4] ;R0←[R1+4] 将R1中的数值加4作为地址,取出此地址的数值保存在R0中 LDR R0,[R1,#4]! ;R0←[R1+4]、R1←R1+4 LDR R0,[R1] ,#4 ;R0←[R1]、R1←R1+4 LDR R0,[R1,R2] ;R0←[R1+R2] 5.寻址方式-寄存器偏移寻址 ARM指令集特有的寻址方式,当第二个操作数是寄存器偏移方式时,第二个寄存器操作数在与第一个操作数结合前,选择进行移位操作。 例子: MOV R0, R2, LSL #3; R2的值左移3位,结果放入R0 可选择的移位操作如下: LSL:逻辑左移,寄存器中字的低端空出的位补0 LSR:逻辑右移,寄存器中字的高端空出的位补0 6.寻址方式-相对寻址
您可能关注的文档
- (人教版)2013年中考物理二轮专题复习课件:信息的传递和能源与可持续发展.ppt
- (语文S版)四年级语文上册课件地图上的发现3.ppt
- “营改增”对各行业税负影响的动态分析-基于CGE模型的分析.pdf
- 《学科学习策略与有效学习指导》.ppt
- 【地理】高三专题:东北平原(教案).doc
- 【红对勾】2014年高考地理一轮复习知能升华作业22农业地域的形成与发展.doc
- 【吴大有】团队管理与高绩效团队建设必修课程.ppt
- 02谢毅陈治纲徐广斌个股期权系统关键业务与技术.pdf
- 2第二节我国的环境管理制度机构.ppt
- 14.2.狭义相对论的两个基本假设.ppt
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
文档评论(0)