第2章 寄存器、存储器及其扩展
2.1 ARM寄存器
ADgC702x采用ARM7TDMI内核,ARM7TDMI处理器一共有37个寄存器,即31个通用寄存器和6个状态寄存器。由于用户并不能同时对以上的37个寄存器进行访问,因而处理器的工作模式和状态决定了用户能够访问的寄存器。每种工作模式和工作状态都使用专有的寄存器组。例如:当在用户级模式下编程时,15个通用32位寄存器(R0~R14)、程序计数器(R15)和当前程序状态寄存器(CPSR)是可用的,其他寄存器仅用于系统设计和异常处理。当一个异常操作发生时,一些标准寄存器被属于该异常操作模式下专有的寄存器组所替代。所有的异常操作模式都有替代堆栈指针寄存器(R13)和程序链接寄存器(R14)的寄存器组。快速中断模式需要更多的寄存器(R8~R12)进行快速中断处理。这就意味着,中断处理过程不需要保存和恢复这些寄存器就可以进行,因而在中断处理过程中节省了关键的时间。ARM处理器各种模式下可访问的寄存器。
……