### 3-8　プログラムステータスワード（PSW）

プログラムステータスワード（PSW）は、演算結果の状態を示すフラグと、RAMバンクおよび間接アドレスレジスタのバンク指定フラグから構成されています。 SFRの101H番地に割り当てられ、リセット時には各ビットが‘0’に初期化されます。

##### ■プログラムステータスワード（PSW）

シンボル | アドレス | R/W | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0
PSW | 101H | R/W | CY | AC | − | IRBK1 | IRBK0 | OV | RAMBK0 | P
リセット時 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0

##### ■CY（ビット7）：キャリーフラグ

CYは、演算結果で桁上がり（キャリー）、あるいは減算や比較で桁下がり（ボロー）が発生するとセットされ（1）、発生しないとリセット（0）されます。CYを含むローテート命令実行に影響を受け、乗除算命令実行時にはリセット（0）されます。

##### ■AC（ビット6）：補助キャリーフラグ

ACは、演算結果でACCビット3より桁上がり（キャリー）、あるいは減算で桁下がり（ボロー）が発生するとセット（1）され、発生しないとリセット（0）されます。

##### ■IRBKx：間接アドレスレジスタバンクフラグ

IRBK1（ビット4）とIRBK0（ビット3）で構成され、それぞれ間接アドレスレジスタバンクフラグ1、間接アドレスレジスタバンクフラグ0を示しています。

RAMの各バンク内の間接アドレッシング命令用の間接アドレスレジスタとして使用される4バンクからなるレジスタ群のバンク指定を行います。

バンク | IRBK1 | IRBK0
0 | 0 | 0
1 | 0 | 1
2 | 1 | 0
3 | 1 | 1

##### ■OV（ビット2）：オーバーフローフラグ

OVは、オーバーフローが発生するとセット（1）され、発生しないとリセット（0）されます。

負数＋負数、または負数−正数の演算結果が正数、正数＋正数、または正数−負数の演算結果が負数となった場合セット（1）され、それ以外ではリセット（0）されます。乗除算の結果で、Bレジスタの内容が0でないときにセットされ（1）、0のときにリセット（0）されます。

##### ■RAMBK0（ビット1）：RAMバンクフラグ

RAMのバンク指定を行います。RAMへのアクセス命令実行時には指定されているバンク内のRAMアドレスがアクセスされます。

バンク | RAMBK0
0 | 0
1 | 1

##### ■P（ビット0）：アキュムレータ（ACC）のパリティーフラグ

ACCにセットされているビットの総数が、奇数個の場合セット（1）され、偶数個の場合リセット（0）されます。このビットは、読み出し専用です。書き込みはできません。

[←] | [INDEX] | [→]