### 3-7　Bレジスタ，Cレジスタ

BレジスタとCレジスタは、ACCと組み合わせて乗除算命令で使用する8ビットのレジスタです。SFRの102H番地（Bレジスタ）と103H番地（Cレジスタ）に割り当てられ、リセット時には00Hに初期化されます。

乗除算命令以外の実行時には、汎用レジスタとして使用可能です。

##### ■Bレジスタ

シンボル | アドレス | R/W | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0
B | 102H | R/W | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0
リセット時 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0

##### ■Cレジスタ

シンボル | アドレス | R/W | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0
C | 103H | R/W | C7 | C6 | C5 | C4 | C3 | C2 | C1 | C0
リセット時 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0

乗算は、16ビット×8ビットの演算が行なえます。被乗数（16ビット）は、上位8ビットをACCに、下位8ビットをCレジスタに格納します。乗数（8ビット）は、Bレジスタに格納します。演算結果（積）は24ビットで構成され、最上位8ビットはBレジスタに、上位8ビットはACCに、下位8ビットはCレジスタに格納されます。つまり、（ACC）（C）×（B）＝（B）（ACC）（C）となります。

除算は、16ビット÷8ビットの演算が行なえます。被除数（16ビット）は、上位8ビットをACCに、下位8ビットをCレジスタに格納します。除数（8ビット）は、Bレジスタに格納します。演算結果（商）は16ビットで構成され、最上位8ビットはACCに、下位8ビットはCレジスタに格納され、剰余はBレジスタに格納されます。つまり、（ACC）（C）÷（B）＝（ACC）（C）mod（B）となります。

▽ 乗除演算時のレジスタ内容(図20)

[←] | [INDEX] | [→]