назад

Инструкция умножения

 Чтобы вычислить произведение чисел, хранящихся в регистрах AX и BX, нужно выполнить двухбайтную инструкцию [F7h, E3h], которая имеет мнемокод MUL AX, BX.

 Рассмотрим умножение двух максимальных по размеру чисел, которые можно записать в регистр: FFFFh ? FFFFh = FFFE0001h

 Такое 32-битное число в регистр не поместится. Поэтому, результат операции умножения заносится в регистровую пару [DX:AX]: DX=FFFE, AX=0001.

 Введите коды F7h и E3h по адресам 100h и 101h. Установите AX=FFFFh, BX=FFFFh и IP=100. Просмотрите регистры. В листинге регистров инструкция умножения выглядит так: MUL BX. Мнемокод инструкции не содержит регистр AX. Микропроцессор всегда умножает регистр указанный в инструкции, на регистр AX, и сохраняет результат в регистровой паре [DX:AX]. Самостоятельно завершите умножение.

Умножение чисел можно выполнять и с другими регистрами общего назначения, например: MUL CX. Но результат всегда сохраняется в регистровой паре [DX:AX].

Упражнение №4

Используя инструкцию MUL,  выполните следующие действия:

1. 0FEFh x 0100h     2. 543Fh x 32CEh     3. 12E8h x 1AD7h