- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 ARM寻址方式与指令系统 §3.1 ARM编程模型 §3.2 ARM指令格式和寻址方式 §3.3 ARM指令集 §3.4 Thumb指令集 §3.5汇编语言程序格式 §3.6汇编语言调试 §3.1 ARM编程模型 一、处理器模式 二、处理器工作状态 三、寄存器组织 四、异常中断 §3.1 ARM编程模型 一、处理器模式 ARM7TDMI 基于V4T ARM架构 指令集: 32位ARM集和16位Thumb指令集 ARM结构支持7种处理器模式 §3.1 ARM编程模型 一、处理器模式 1、模式改变:改变程序状态寄存器CPSR中的M[4:0] 软件控制改变 外部中断\异常 2、用户模式 用户模式下不能访问保护受资源 不能使用指令改变模式 用户模式下只有异常发生可改变模式 §3.1 ARM编程模型 一、处理器模式 3、特权模式 可使用指令改变模式 可访问系统受保护资源 异常发生时,进入对应 模式 每种模式都有附加寄存器 系统模式又称保留模式: 是可访问系统资源的一种特权模式; 用于执行操作系统任务 §3.1 ARM编程模型 二、处理器状态 1、工作状态 (1)ARM状态:处理器执行32位的ARM指令时,工作ARM状态。 (2)Thumb状态:处理器执行16位的指令时,工作在Thumb状态。 2、状态转换 通过跳转指令实现两状态之间转换 三、寄存器组织 1、通用寄存器 ARM微处理器共有37个32位寄存器 31个为通用寄存器,包括PC 6个为状态寄存器CPSR,SPSR-svc,SPSR-abt,SPSR-und,SPSR-irq,SPSR-fiq 微处理器的状态及模式决定具体哪些寄存器可以编程访问。 三、ARM状态下寄存器组织 1、通用寄存器 三、寄存器组织 1、通用寄存器 通用寄存器(R0-R15)分类 (a)不分组的寄存器 R0-R7 (b)分组寄存器 R8-R15 (c)程序计数器R15(PC) (1)、不分组的通用寄存器R0-R7 所有模式下使用同一组物理寄存器 工作模式切换时,需要保存 通用寄存器只要能用到,都可使用 三、寄存器组织 1、通用寄存器 (2)、分组寄存器R8-R14 (a)、分组寄存器R8-R12 (a)FIQ模式 使用fiq-r8、 fiq-r9、 fiq-r10、 fiq-r11、 fiq-r12 不用保存和恢复现场,中断过程加快 (b)非FIQ模式:FIQ以外的4种异常模式 4种异常模式共用一组寄存器R8-R12 需要现场保护与恢复 三、寄存器组织 1、通用寄存器 (b)、分组寄存器R13,R14 (I)R13,R14有6组物理寄存器 用户模式与系统模式共用一组 其他5种模式各一组 三、寄存器组织 1、通用寄存器 (II)R13 ARM状态 习惯使用R13作为堆栈指针,不是强制 也可以使用其他寄存器作为堆栈指针 Thumb状态 强制使用R13作为堆栈指针 初始化时,R13指向堆底 三、寄存器组织 1、通用寄存器 ( III ) R14 作用:保存程序断点地址(返回地址 ),称作LR,链接寄存器. 例如: 程序A执行过程中调用程序B; 程序跳转至标号Lable,执行程序B。同时硬件将“BL Lable”指令的下一条指令所在地址存入R14(LR); 程序B执行最后,将R14寄存器的内容放入PC,返回程序A; 三、寄存器组织 1、通用寄存器 当执行BL子程序调用指令时,R14得到R15(PC)的备份。其他情况下,R14用作通用寄存器。 当异常或中断发生时,相应的分组寄存器R14用于保存PC的返回值 BL SUB1 …… /* 将R14存入堆栈 */ SUB1: STMFD SP!, {regs, LR} …… /* 完成子程序返回 */ LDMFD SP!,{regs, PC} 三、寄存器组织 1、通用寄存器 (IV)、程序计数器R15 R15用作程序计数器,称为PC R15值的改变将引起程序执行顺序的改变 向R15内写入一个值,程序将跳转到以R15值为地址的程序执行 PC中,实际地址为D31~~~D2. D1D0=00 ARM指令为字对齐 ARM7 采用3级流水线,PC值并不是当前指令地址,而是当前指令后的两条指令地址 三、寄存器组织 2、状态寄存器CPSR 32位寄存器
您可能关注的文档
- (6-1)第六讲Authorware课件开发――交互课件开发.ppt
- (6-2)第六节Authorware课件开发――交互课件开发.ppt
- (ERP基本操作方法部分)知识.doc
- (NVIDIA)系列显卡双屏幕配置说明知识.doc
- (xuesheng)第八章评判性思维及临床护理决策.pdf
- (第4章-2)表文件的显示和维护.ppt
- (电大2010年秋)计算机应用基础形成性考核册题目与答案.doc
- (翻译及注解)“El Torito”可引导CD-ROM格式规范V1.0Bootable CD-ROM Format Specification.pdf
- (改)食品安全管理方法Microsoft Word 文档 2副本.doc
- (简体)债券等殖成交系统T 0融资性附条件交易教材.doc
- 2024-2025学年贵州省遵义市求是高级中学高三下学期第二次模拟考试(语文试题文)试题含解析.doc
- 2024-2025学年广东省潮州市重点中学高三第二学期3月高考诊断性测试语文试题含解析.doc
- 2024-2025学年甘肃省陇东中学高三下学期适应性考试语文试题含解析.doc
- 2024-2025学年广东省“十二校”高三下学期期中考试(语文试题理)试题含解析.doc
- 2024-2025学年甘肃省武夷市民勤县第一中学高三下学期期末模拟卷(一)语文试题含解析.doc
- 2024-2025学年广东省深圳市龙文教育高三5月月考(语文试题理)试题含解析.doc
- 2024-2025学年贵州省铜仁一中高三第二学期期末考试语文试题试卷含解析.doc
- 2024-2025学年广州顺德区高三第一次诊断性考试语文试题试卷含解析.doc
- 2024-2025学年贵阳市高考二轮语文试题原创押题密卷(一)含解析.doc
- 2024-2025学年河北省保定市曲阳县一中高三教学质量检测试题(一模)语文试题试卷含解析.doc
文档评论(0)