先生は、8 ビット長の 2 つの数を乗算するプログラムを作成する課題を私たちに与えました。当社のマイクロ コントローラは 8 ビット レジスタのみをサポートするため、結果を 2 つのレジスタに配置する必要があります。これは私が立ち往生しているところです。
2 つの数値を乗算するには、そのうちの 1 つを左にシフトする必要があります。左にシフトするとき、数字を貼り付けることができるキャリービットが残っているため、これを行う方法がわかりませんが、1ビット以上シフトする必要がある場合は、キャリー-ビットが足りない。
また、これらの数値を追加する方法がわかりません。例:
Number1: Number2:
0000'0111 * 1111'1111
---------------------
1111'1111
1'1111'111< The 1 number on the left would be outside the register.
11'1111'11<< The 2 numbers on the left would be outside the register.
------------
110'1111'1001
紙に書いてある方法です。しかし、どうすればそれを実装できますか?