Ассемблер для Windows



         

Инструкции целочисленной арифметики - часть 2


DAA

Коррекция после BCD-сложения.59

DAS

Коррекция после ВСD-вычитания.

MUL r/m

Умножение АL(AX,EAX) на целое беззнаковое число. Результат, соответственно, будет содержаться в АХ, DX:AX, EDX:EAX.

IMUL r/m

Знаковое умножение (аналогично MUL). Все операнды считаются знаковыми. Команда IMUL имеет также двухоперандный и трехоперандный вид. Двухоперандный вид IMUL r,src r<-r*src. Трехоперандный вид IMUL dst,src,imm dst<-src*imm.

DIV r/m (src)

Беззнаковое деление. Аналогично беззнаковому умножению. Осуществляет деление аккумулятора и его расширения (AH:AL, DX:AX, EDX:EAX) на делитель src. Частное помещается в аккумуляторе, а остаток - в расширении аккумулятора.

IDIV r/m

Знаковое деление. Аналогично беззнаковому.

CBW

Расширение байта (AL) в слово с копированием знакового бита.

CWD

Расширение слова (АХ) в двойное слово (DX:AX) с копированием знакового бита.

CWDE

Расширение слова (АХ) в двойное слово (EAX) с копированием знакового бита.

CDQ

Преобразование двойного слова (EAX) в учетверенное слово (EDX:EAX).

59 Напоминаю, что ASCII-число предполагает одну цифру на один байт, BCD-число - одну цифру на половину байта. Т.о. скажем в регистре АХ, может находиться двухразрядное ASCII-число и четырехразрядное BCD-число.




Содержание  Назад  Вперед