R0和R1寄存在存储器映射中的哪个位置?

时间:2011-12-22 16:27:17

标签: memory memory-management msp430 msp

我对程序计数器(R0)和堆栈指针(R1)在内存映射中的位置感到困惑。我认为它们位于CPU内部,因此内存映射中没有任何位置显示这些寄存器。但我的朋友坚持认为它们位于特殊功能寄存器(SFR)中,它们位于存储器映射的底部。哪一个是正确的答案?

1 个答案:

答案 0 :(得分:5)

寄存器R0和R1(以及所有其他通用寄存器)驻留在CPU中,并使用对操作数使用“寄存器模式”的指令进行访问。它们不是内存映射。

特殊功能寄存器在您使用的MSP430变体的器件特定数据手册中定义。 SFR通常包括中断使能位和中断标志位,用于直接影响CPU执行的器件(如NMI,振荡器故障等和第一个串行端口),但通常不包括其他通用外设。

例如,请参阅“MSP430x2xx系列用户指南”中的“图3-1:CPU框图”,SAU144H。寄存器显示为CPU的一部分。

另外作为示例,请参见MSP430F2619-HT device specific datasheet的第14页,其中显示了指定的函数寄存器。没有提到通用寄存器。