レジスタ |
レジスタ | サイズ | 用途 |
---|---|---|
アキュムレータ
|
8bit/ 16bit
|
算術演算および演算結果の出力
|
インデクスレジスタ(X/Y)
|
8bit/ 16bit
|
インデクスアドレッシング時に使用するポインタの保持
|
ダイレクトページレジスタ
|
16bit
|
ダイレクトページの先頭アドレス指定
|
スタックポインタ
|
16bit
|
空きスタック領域の開始位置の指定
|
プログラムバンクレジスタ
|
8bit
|
アセンブリの実行位置の保持
|
データバンクレジスタ
|
8bit
|
メモリアクセス時に対象とするバンクの選択
|
プログラムカウンタ
|
16bit
|
アセンブリの実行位置の保持
|
プロセッサステータスレジスタ
|
8bit
|
プロセッサの内部状態の保持
|
ビット | フラグ | 記号 | 内容 |
---|---|---|---|
7
|
ネガティブフラグ
|
N
|
演算結果が負の場合にセット。ゼロ以上の場合クリア。
|
6
|
オーバーフローフラグ
|
V
|
算術オーバーフローが発生した場合にセット
|
5
|
メモリモードフラグ
|
M
|
アキュムレータのサイズ切り替え。クリア時16ビット、セット時8ビット
エミュレーションモード時は1固定でアクセス不可能。 |
4
|
インデクスフラグ
|
X
|
インデクスレジスタ(X/Y)のサイズ切り替え。クリア時16ビット、セット時8ビット
エミュレーションモード時は1固定でアクセス不可能。 |
3
|
デシマルフラグ
|
D
|
二進化十進数の切り替え。クリア時バイナリ、セット時二進化十進数モード。
十進演算が可能なのはADCおよびSBC命令のみ。 |
2
|
割込禁止フラグ
|
I
|
IRQ許可の可否。セット時IRQ禁止。
|
1
|
ゼロフラグ
|
Z
|
演算結果がゼロの場合セット。
|
0
|
キャリーフラグ
|
C
|
算術演算で繰上りがあった場合、もしくは繰り下がりがなかった場合にセット。
|
|
エミュレーションフラグ
|
E
|
CPU動作モードの切り替え。クリア時ネイティブモード、セット時エミュレーションモード。
|
|
ブレークモードフラグ
|
B
|
エミュレーションモード専用。6502のBフラグに相当する。
IRQ/BRKの識別。セット時BRK、クリア時IRQ。 |