- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
特殊的软件调用。进入特权模式的一种方式。 不同模式具有不同的特殊功能。 几个特殊寄存器,SP,LR,PC,PSR 注意BL这条指令的含义。 简单介绍异常,异常是程序执行过程中发生的意外时间。 异常处理包括中断(外围硬件产生的意外消息)的处理。 PC是表示正在取值的地址。 其他指令中pc的偏移量为8,而str/stm指令取决于芯片类型。 如MOV PC, R0 将程序跳转至R0记录的地址。 * 条件代码标志位通常用于条件的判断, 控制位表示当前CPU的一些状态。 CPSR和SPSR寄存器,保存状态。 Q 位(27位): 仅ARM 5TE/J架构支持 指示增强型DSP指令是否溢出 J 位(24位) 仅ARM 5TE/J架构支持 J = 1: 处理器处于Jazelle状态 读这些位,程序可以知道当前cpu所处的状态。 Mmu也可以知道当前程序的权限。简单描述mmu的内存保护机制。 提一句,高寄存器可有限制使用。 若为数据中止ARM LR为当前指令地址加8 堆栈方式处理异常入口和出口主要是用于现场保护。 此时简单讲解STM,LDM指令的意义。 LR等信息保存在堆栈上。 LR减法相当于将LR的值先算好。 * 现场保护储存当时状态。 CPU正常执行时处于一种运行模式。 中断服务程序中处于另一种运行模式。 处理器模式 说明 备注 用户(usr) 正常程序执行模式 不能直接切换到其它模式 系统 (sys) 运行操作系统的特权任务 与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq) 支持高速数据传输及通道处理 FIQ异常响应时进入此模式 中断 (irq) 用于通用中断处理 IRQ异常响应时进入此模式 管理 (svc) 操作系统保护模式 系统复位和软件中断响应时进入此模式 中止 (abt) 用于支持虚拟内存和/或存储器保护 在ARM7TDMI没有大用处 未定义 (und) 支持硬件协处理器的软件仿真 未定义指令异常响应时进入此模式 ARM处理器的运行模式 除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。 未定义(und) 中止(abt) 管理(svc) 中断(irq) 快中断(fiq) 系统(sys) 这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。 这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。 系统模式是特权模式,操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。 系统(sys) 用户 (usr) 寄存器类别 寄存器在汇编中的名称 各模式下实际访问的寄存器 用户 系统 管理 中止 未定义 中断 快中断 通用寄存器和程序计数器 R0(a1) R0 R1(a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5(v2) R5 R6(v3) R6 R7(v4) R7 R8(v5) R8 R8_fiq R9(SB,v6) R9 R9_fiq R10(SL,v7) R10 R10_fiq R11(FP,v8) R11 R11_fiq R12(IP) R12 R12_fiq R13(SP) R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14(LR) R14 R14_svc R14_abt R14_und R14_irq R14_fiq R15(PC) R15 状态寄存器 CPSR CPSR SPSR 无 SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq 无 CPSR R15 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 用户 无 CPSR R15 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 系统 SPSR_svc CPSR R15 R14_svc R13_svc R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 管理 SPSR_abt CPSR R15 R14_abt R13_abt R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 中止 SPSR_und CPSR R15 R14_und R13_und R12 R11 R1
原创力文档


文档评论(0)