3-7 Bレジスタ,Cレジスタ |
BレジスタとCレジスタは、ACCと組み合わせて乗除算命令で使用する8ビットのレジスタです。SFRの102H番地(Bレジスタ)と103H番地(Cレジスタ)に割り当てられ、リセット時には00Hに初期化されます。
乗除算命令以外の実行時には、汎用レジスタとして使用可能です。
シンボル | アドレス | 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 |
シンボル | アドレス | 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)となります。
[←] | [INDEX] | [→] |
(C)SEGA ENTERPRISES, LTD., 1999