式下实际访问的寄存器
中止
未定义
R0
R1R2
R3R4
R5R6
R7R8
R9R10
R11R12
R13_scv
R13_abt
R13_u
d
R14_svc
R14_abt
R14_u
d
R15CPSR
SPSR_svcSPSR_abtSPSR_u
d
中断
R13_irqR13_irqSPSR_irq
快中断
R8_fiqR9_fiqR10_fiqR11_fiqR12_fiqR13_fiqR14_fiq
SPSR_fiq
答:FIQ模式下私有寄存器有R8fiq,R9fiq,R10fiq,R11fiq,R12fiq,R13fiq,R14fiq,和SPSRfiq。
3
f这些寄存器使得在发生FIQ中断,处理器不必为保护寄存器而浪费时间,从而加速了FIQ的处理速度。
14、ARM7TDMI中的PC指向的是下一条将要执行的指令,这句话对吗?为什么?
答:不对,PC中的内容总是指向正在“取指”指令的地址。
15、简述ARM处理器的CPSR和SPSR的功能、作用和工作方式。
答:CPSR是当前状态寄存器,他可以在任何运行模式下被访问,它包括条件标志位,中断标志位,当前处理器模式标志位,以及其他的一些相关的控制盒状态位。ARM内核就是通过使用CPSR来监视和控制内部操作的。SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR。
16、简述ARM7的内部寄存器R13、R14、R15的主要功能、作用和工作方式。
答:R13作为堆栈指针SP,用于指定堆栈操作出入口的地址。其他6个R13寄存器为堆栈寄存器。为用户模式和系统模式共用一个。R14可以用作通用寄存器,也可以用作链接寄存器。链接寄存器用于保存子程序地址或者返回地址。R15:程序寄存器,总是指向正在“取指”的指令
17、什么是计算机的寻址方式?ARM7TDMI有几种寻址方式?
答:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。
18、什么是堆栈?ARM中的堆栈是如何定义和使用的?
答:堆栈都是一种数据项按序排列的数据结构,只能在一端称为栈顶top对数据项进行插入和删除。
ARM处理器将RB作为堆栈指针SP,用于保存堆栈的出入口处地址。
19、何谓存储的“大端模式”、“小端模式”?写出数据0x12345678在0x20000000字单元中
“小端模式”下的存储细节。答:大端模式:按照数据的低字节存放在高地址中的顺序进行存储。
小端模式:按照数据的高字节存放在高地址中的顺序进行存储。0x20000000存放0x78,0x20000001存放0x56,0x20000002存放0x340x20000003存放0x12。
20、什么是“字对齐”和“半字对齐”?ARM指令必须字对齐存放,Thumb指令必须半字对
齐存放,这句话正确吗?答:如果一个字数据的访问存储地址A能被4整除,即地址的低两位为零,则为
字对齐的存储器访问。如果一个半数据的访问的存储地址A能被2整除,即地址的最低位为零,则
为半r