logo

Система команд x86
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

MUL

Беззнаковое умножение

Влияние команды на флаги и форматы команды:

OF

DF

IF

TF

SF

ZF

AF

PF

CF

*

 

 

 

?

?

?

?

*

 

Код

Команда

Описание

Проц.

Пример

F6 /4

MUL r/m8

AX = AL * r/m8

8086

mul ch

F7 /4

MUL r/m16

DX:AX = AX * r/m16

8086

mul bx

F7 /4

MUL r/m32

EDX:EAX = EAX * r/m32

Intel386

mul edi

Операция:

IF (Операция над байтами)

  THEN AX = AL * r/m8

  ELSE (* Операция над словами или двойными словами *)

     IF OperandSize = 16

        THEN DX:AX = AX * r/m16

        ELSE (* OperandSize = 32 *)

           EDX:EAX = EAX * r/m32

     FI;

FI;

Описание:

Команда MUL выполняет беззнаковое умножение операнда-источника на операнд-назначение, результат затем помещается в операнд-назначение. Операнд-назначение команды задан неявно и может быть регистрами AX, DX:AX, EDX:EAX в зависимости от кода команды и атрибута размера операнда.

Действие команды MUL зависит от размера операндов следующим образом:

  • однобайтный операнд умножается на значение AL, результат помещается в регистр AX, флаги CF и OF сбрасываются, если значение в AH равно нулю, иначе устанавливаются в 1;
  • двухбайтный операнд умножается на значение AX, результат помещается в пару регистров DX:AX, регистр DX содержит старшие 16 бит результата, флаги CF и OF сбрасываются, если значение в DX равно нулю, иначе устанавливаются в 1.
  • четырехбайтный операнд умножается на значение EAX, результат помещается в пару регистров EDX:EAX, регистр EDX содержит старшие 32 бита результата, флаги CF и OF сбрасываются, если значение в EDX равно нулю, иначе устанавливаются в 1.

Особые ситуации защищенного режима:

#GP(0), если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.

Особые ситуации режима реальной адресации:

#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
#SS, если любая часть операнда находится вне пространства эффективных адресов в сегменте SS.

Особые ситуации режима V86:

Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память.


Входит в группу команд: Базовая система команд CPU



Все права защищены © 1997-2011 Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru

Яндекс.Метрика               Сервер радиолюбителей России - схемы, документация,

 соревнования, дипломы, программы, форумы и многое другое!   схемы новости электроники