3

メモリ マップ内のプログラム カウンタ (R0) とスタック ポインタ (R1) の位置について非常に混乱しています。それらは CPU 内にあると思われるため、これらのレジスタを示すメモリ マップ内の位置はありません。しかし、私の友人それらはメモリマップの一番下にある特殊機能レジスタ(SFR)にあると主張しています.どれが正しい答えですか?

4

1 に答える 1

6

レジスタ R0 と R1 (および他のすべての汎用レジスタ) は CPU 内に存在し、オペランドに「レジスタ モード」を使用する命令を使用してアクセスされます。これらはメモリ マップされません。

特殊機能レジスタは、使用している MSP430 バリアントのデバイス固有のデータ シートで定義されています。SFR には通常、CPU の実行に直接影響するデバイス (NMI、オシレータ障害など、および最初のシリアル ポートなど) の割り込みイネーブル ビットと割り込みフラグ ビットが含まれますが、通常は他の汎用周辺機器は含まれません。

たとえば、『MSP430x2xx Family Users Guide, SAU144H 』の「Figure 3-1: CPU Block Diagram」を参照してください。レジスタは CPU の一部として示されています。

また、例として、MSP430F2619-HT デバイス固有のデータシートの 14 ページを参照してください。これには、特定の機能レジスタが示されています。汎用レジスタについては言及されていません。

于 2011-12-23T16:26:09.803 に答える