Программирование на JAVA

Умножение на 8:      

MOV    CL,3

SHL    AX,CL Многословноe умножение

Обычно умножение бывает двух типов: умножение байта на байт и умножение слова на слово. Как было показано, максимальное знаковое значение в слове + 32767. Умножение больших чисел требует   выполнения   некоторых   дополнительных   действий. Рассматриваемый подход предполагает умножение каждого слова отдельно и затем сложение полученных результатов.

Рассмотрим следующее умножение в десятичном формате:

                1365

  x12

2730

  1365

  16380

Представим, что Десятичная арифметика может умножать только двузначные числа. Тогда можно умножить 13 и 65 на 12 раздельно:

13                                             65

   x12                                    x12

26                                    130

  13                                       65

  156                                     780

Теперь сложим полученные произведения, но поскольку число 13 представляло сотни, то первое произведение в действительности будет 15600:

15600 +780 =16380

Ассемблерная программа использует аналогичную технику, за исключением того, что данные имеют размерность двойных слов (четыре цифры) в шестнадцатеричном формате.


<< назад вперед >>