1、arm的工作模式有哪些?
ARM的工作模式分为普通模式、特权模式,其中特权模式又细分为六种模式
普通模式 | |
---|---|
用户模式(User) | 大部分任务执行在这种模式 |
特权模式 | |
---|---|
快速中断模式FIQ | 当一个高优先级(fast) 中断产生时将会进入这种模式 |
普通中断模式IRQ | 当一个低优先级(normal) 中断产生时将会进入这种模式 |
超级用户模式(SVC) | 当复位或软中断指令执行时将会进入这种模式 |
中止模式(Abort) | 当存取异常时将会进入这种模式 |
未定义模式(Undef) | 当执行未定义指令时会进入这种模式 |
系统模式(System) | 使用和User模式相同寄存器集的特权模式 |
2、arm9的通用寄存器有几个?
ARM920T有31个通用的32位寄存器和6个程序状态寄存器,这37个寄存器分为7组,进入某个工作模式时就使用它的那组寄存器。有些寄存器,不同的工作模式下有自己的副本,当切换到另一个工作模式时,那个工作模式的寄存器副本将被使用:这些寄存器被称为备份寄存器。从下图中可以看出fiq模式的备份寄存器最多,这是为了提高fiq的响应速度,减少保存寄存器值所花费的时间。
3、异常向量表中irq的异常向量是多少?
0x18
4、cpsr中的那几位是用来设置工作模式的?
处理器模式位
10011 SVC mode.00000 User mode: 10001 Fl0 mode.10111 Abort mode: 11011 Undfined mode.11111 System:10110 Monitor mode:10010 1RO
5、r13,r14,15别名是什么?有什么作用?
1)、寄存器 r13 是栈指针 sp。它不能用于任何其它用途。sp 中存放的值在退出被调用函数时必须与进入时的值相同。
2)、寄存器 r14 是链接寄存器 lr。如果您保存了返回地址,则可以在调用之间将 r14 用于其它用途,程序返回时要恢复
3)、寄存器 r15 是程序计数器 PC。它不能用于任何其它用途。