[an error occurred while processing this directive]
|
16x16
a*b=
((hi(a) << 8)+lo(a))*((hi(b) << 8)+lo(b))=
((hi(a)*hi(b)) << 16)+ ((hi(a)*lo(b)) << 8) + ((hi(b)*lo(a)) << 8) + (lo(a)+lo(b))
Ну и в том-же духе. Сдвиг на 16 и 8 это просто прямая запись в соответствующие байты 4ёх байтового слова.
E-mail: info@telesys.ru