上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.6 ARM相关寄存器
ARM7TDMI内核总共有37个寄存器,包括31个通用寄存器和6个状态寄存器。每一种工作模式有专门的寄存器组。
当编写用户级程序时,15个通用32位寄存器(R0~R14)、程序计数器(R15)和当前程序状态寄存器(CPSR)是可用的。余下的寄存器只用于系统级编程和异常处理。
当一个异常发生时,一些标准的寄存器被替换成特定寄存器,从而进入异常模式。所有的异常模式有各自的堆栈指针寄存器(R13)和链接寄存器(R14),如图1.5所示。快速中断模式有更多的寄存器(R8~R12)用于快速中断处理。这意味着无需先保存这些寄存器,就可以进行中断处理,因此在中断处理中可以节省临界时间。
图1.5 ARM7TDMI寄存器组织