- 1、本文档共97页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM体系结构和编程[精品]
第四章 ARM体系结构及汇编程序设计基础 三 .ARM指令系统 1.复习 2.ARM寻址方式 3.ARM指令格式和常见指令使用方法 ARM微处理器的寄存器结构 ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄器包括: 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。 处理器运行模式 ARM微处理器支持7种运行模式,分别为: usr(用户模式):ARM处理器正常程序执行模式。 fiq(快速中断模式):用于高速数据传输或通道处理 irq(外部中断模式):用于通用的中断处理 svc(管理模式):操作系统使用的保护模式 abt (数据访问终止模式): 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 sys(系统模式): 运行具有特权的操作系统任务。 und(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。 注: 大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 异常模式 处理器工作状态 ARM处理器有32位ARM和16位Thumb两种工作状态。 在32位ARM状态下执行字对齐的ARM指令 在16位Thumb状态下执行半字对齐的Thumb指令 在Thumb状态下,程序计数器PC(Program Counter)使用位[1]选择另一个半字。 ARM处理器的寄存器组织 ARM处理器的37个寄存器被安排成部分重叠的组,不能在任何模式都可以使用,寄存器的使用与处理器状态和工作模式有关。如图2.3.1所示,每种处理器模式使用不同的寄存器组。其中15个通用寄存器(R0~R14)、1或2个状态寄存器和程序计数器是通用的。 31 个通用32位寄存器,包括程序计数器PC: 未分组寄器R0-R7; 分组寄存器R8-R14; 程序计数器PC(R15); 6 个状态寄存器; 可访问的寄存器取决于处理器的模式 R14寄存器与子程序调用: 读R15的限制 程序状态寄存器(CPSR) ARM内核包含1个CPSR和5个供异常处理程序使用的SPSR。CPSR反映了当前处理器的状态,其包含: 4个条件代码标志(负(N)、零(Z)、进位(C)和溢出(V); 2个中断禁止位,分别控制一种类型的中断; 5个对当前处理器模式进行编码的位; 1个用于指示当前执行指令(ARM还是Thumb)的位。 条件代码标志 大多数“数值处理指令”可以选择是否影响条件代码标志位。通常如果指令带S后缀,则该指令的执行会影响条件代码标志;但有一些指令的执行总是会影响条件代码标志(比如CMP、TST、TEQ等)。 N、 Z、 C和V位都是条件代码标志。通过算术操作、逻辑操作、MSR或者LDM指令可以对这些位进行设置。所有ARM指令都可按条件来执行,而Thumb指令中只有分支指令可按条件执行。 控制位 CPSR的最低8位为控制位,当发生异常时,这些位被硬件改变。当处理器处于一个特权模式时,可用软件操作这些位。 它们分别是: 中断禁止位; T位; 模式位。 中断禁止位包括I和F位: 当I位置位时,IRQ中断被禁止; 当F位置位时,FIQ中断被禁止。 T位反映了正在操作的状态: 当T位置位时,处理器正在Thumb状态下运行; 当T位清零时,处理器正在ARM状态下运行。 模式位包括M4、M3、M2、M1和M0,这些位决定处理器的操作模式。 程序状态寄存器 条件位: N = 1-结果为负,0-结果为正或0 Z = 1-结果为0,0-结果不为0 C =1-进位,0-借位 V =1-结果溢出,0结果没溢出 Q 位: 仅ARM 5TE/J架构支持 指示增强型DSP指令是否溢出 J 位 仅ARM 5TE/J架构支持 J = 1: 处理器处于Jazelle状态 中断禁止位: I = 1: 禁止 IRQ. F = 1: 禁止 FIQ. T Bit 仅ARM xT架构支持 T = 0: 处理器处于 ARM 状态 T = 1: 处理器处于 Thumb 状态 Mode位(处理器模式位): 0b10000 User 0b10001 FIQ 0b10010 IRQ 0b10011 Supervisor 0b10111 Abort 0b11011 Undefined 0b11111 System ARM微处理器的异常处理 在一个正常的程序流程执行过程中,由内部或外部源产生的一个事件使正常的程序产生暂时的停
您可能关注的文档
- 35KV线路改造工程施工组织设计[精品].doc
- 35KV线路铁塔防腐工程施工组织设计[精品].doc
- 36例脑干梗塞患者临床特点分析[精品].doc
- 38.足疗、保健按摩技师部对外承包合作协议(内)[精品].doc
- 371587--杭城丽人俱乐部异业联盟及俱乐部营销推广方案--cfm0911[精品].ppt
- 35kV送电线路改造工程施工组织设计[精品].doc
- 361别克品牌春夏传播公关传播建议[精品].ppt
- 357614--豪宅营销推广专题--ygy22[精品].doc
- 371587--杭城丽人俱乐部异业联盟及俱乐部营销推广方案--cfm0911.ppt[精品].ppt
- 389758--2009安徽泗县亨运通不锈钢制品有限公司年产4000台套不锈钢橱柜项目可行性报告--企服中心[精品].doc
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)