MUL – умножение беззнаковое
F6 /4 | MUL r/m8 | AX:= AL * r/m8 | |||
F7 /4 | MUL r/m16 | DX, AX:= AX * r/m16 |
Описание.
Эта команда производит целочисленное умножение двух беззнаковых двоичных чисел.
Один из множителей располагается в регистре AL или AX (в зависимости от разрядности), второй – в регистре общего назначения или ячейке памяти, что определяется байтом ModRegR/M.
Произведение имеет разрядность, вдвое превышающую разрядность множителей. Оно размещается в регистре AX (8-разрядные множители, 16-разрядный результат) или в регистровой паре DX:AX (16-разрядные множители, 32-разрядный результат, старшая часть в регистре DX, младшая – в AX).
Флажки SF, ZF, AF и PF не изменяются.
Флажки OF и CF устанавливаются, если разрядность результата превышает разрядность исходных операндов. Если результат вмещается в разрядность исходных операндов, эти флажки будут сброшены.