レジスタ |
レジスタ | サイズ | 用途 |
---|---|---|
アキュムレータ
|
8bit
|
算術演算および演算結果の出力
|
インデクスレジスタ(X/Y)
|
8bit
|
インデクスアドレッシング時に使用するポインタの保持
|
スタックポインタ
|
8bit
|
空きスタック領域の開始位置の指定
|
プログラムカウンタ
|
16bit
|
アセンブリの実行位置の保持
|
プログラムステータスワード
|
8bit
|
プロセッサの内部状態の保持
|
ビット | フラグ | 記号 | 内容 |
---|---|---|---|
7
|
ネガティブフラグ
|
N
|
演算結果が負の場合にセット。ゼロ以上の場合クリア。
|
6
|
オーバーフローフラグ
|
V
|
算術オーバーフローが発生した場合にセット。
|
5
|
ダイレクトページフラグ
|
P
|
ダイレクトページの切替。
クリア時0ページ、セット時1ページ。 |
4
|
ブレークフラグ
|
B
|
割込処理の実行時にセットされ、割込処理からの復帰時にクリアされる。
SNES APUではSPC700の割込はサポートされないためアクセス不可。 |
3
|
ハーフキャリーフラグ
|
H
|
算術演算実行後、ビット3からビット4への繰上りがあった場合、もしくは繰り下がりがなかった場合にセット。
直接操作できないが、CLRV命令でオーバーフローフラグとともにクリア可能。 |
2
|
割込禁止フラグ
|
I
|
割込要求を許可するかどうかを規定する。クリア時IRQ禁止。
SNES APUではSPC700の割込がサポートされないためアクセス不可。 |
1
|
ゼロフラグ
|
Z
|
演算結果がゼロの場合セット。
|
0
|
キャリーフラグ
|
C
|
算術演算で繰上りがあった場合、もしくは繰り下がりがなかった場合にセット。
|