2011-12-22 5 views
3

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

+0

あなたの友人は8051とmsp430を混同していると思います。 –

答えて

4

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

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

たとえば、「MSP430x2xxファミリユーザーガイド」の「図3-1 CPUのブロック図」(SAU144H)を参照してください。レジスタはCPUの一部として表示されます。

例として、特定機能レジスタを示すMSP430F2619-HT device specific datasheetの14ページを参照してください。汎用レジスタの記述はありません。

関連する問題