一,arm的工作模式有哪些?
User:非特权模式
FIQ:高优先级中断进入
IRQ:低优先级中断进入
Supervisor:当复位或软中断指令进入
Abort: 当存取异常时
Undef:当执行未定义指令时会进入这种模式
System:使用和User模式相同寄存器集的特权模式
Cortex-A:特有模式
Monitor:为了安全而扩展出的用于执行安全监控代码的模式,特权模式
二,arm9的通用寄存器有几个?
其寄存器总共有37个32bit长的寄存器
1 个用作 PC( program counter)
1 个用作 CPSR(current program status register)
5 个用作 SPSR(saved program status registers)
30 个通用寄存器
三,异常向量表中irq的异常向量是多少?
四,cpsr中的那几位是用来设置工作模式的?
Mode位(M位):
处理器模式位:
00000 User mode; 10001 FIQ mode; 10011 SVC mode;10111 Abort mode; 11011 Undfined mode ; 11111 System; 10110 Monitor mode; 10010 IRQ
五,r13,r14,15别名是什么?有什么作用?
Pc寄存器(r15):实现程序的顺序执行,本质是指向的指令地址存起来,指向下一条指令的时候,cpu执行上一条指令
lr寄存器(r14):链接寄存器,函数执行完后,lr保存的主函数的指令(保护现场)重新放在PC中,返回现场
Sp(r13) 栈指针,一直指向栈顶,放着lr嵌套的函数地址