Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 44.Ассемблер.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
55.65 Кб
Скачать

2.3 Команды сложения, вычитания и сравнения

Команды сложения, вычитания и сравнения — двухадресные.

□ ADDdst,src— сложение двоичных чисел (add— сложить). Прибавляет байт или слово из памяти, регистра непосредственно к содержимому регистра или прибавляет байт или слово из регистра непосредственно к памяти (содержимое src складывается с содержимым dst). Операнды dst и src должны иметь одинаковый формат (оба или байт или слово) и тип данных: src— -г,m,i; dst— г, т (невозможно rsegm,і и нельзя, чтобы оба типа были m или оба rsegm). Команда ADD формирует флаги AF,CF,OF,PF,SF и ZF.

□ SUBdst,src— вычитание двоичных чисел (substract— вычесть). Вычитает байт или слово, взятое из памяти, регистра или непосредственно из содержи­мого регистра, или вычитает байт или слово, взятое из регистра или непо­средственно из памяти (содержимо еsrc вычитается из содержимого dst). Операнды dst и src должны иметь одинаковый формат (оба или байт или сло­во) и могут быть: src—г,m,i; dst—г, т (невозможно rsegm и нельзя, чтобы оба типа были т). Команда SUB формирует флаги AF,CF,OF,PF,SFиZF.

CMP dst,src— сравнение (compare— сравнить). Сравнивает содержимое двуж полей данных; фактически, команда вычитает второй операнд (src) из перво­го (dst), но значение dstне изменяет, а лишь формирует флаги. Операнды dst и src должны иметь одинаковый формат (оба или байт или слово) и могут быть:src— г,m,i;dst— г, т (невозможно rsegm, і и нельзя, чтобы оба типа были m или оба rsegm). Команда СМР формирует флаги: CF,ZF при сравне­нии чисел без знака; CF,OF,SF,ZF при сравнении чисел со знаком; флаги AF.

PFне определены.

2.4 Команды приращения

Команды приращения — одноадресные.

  • INC dst: инкремент (increment— нарастить, увеличить).Прибавляет 1 к содержимому dst. Операнд dst может быть представлен оператором типа г или т. Команда INC формирует флаги PF,AF,ZF,SF,OF.

  • DEC dst: декремент (decrement— уменьшить). Вычитает 1 из содержимого dst Операнд dst может быть представлен оператором типа г или т. Команда DBC формируем флаги PF,AF,ZF,SF,OF.

2.5 Команды умножения

Команды умножения — одноадресные. Указывается только SRC (множитель); DST (множимое) задается строго определенным образом.

Основные команды ассемблера ' 360

  • MULsrc— умножение (multiply— умножить). Выполняет умножение беззна­кового множимого (8 или 16 бит) на беззнаковый множитель (8 или 16 бит). Команда одноадресная — указывается только SRC(множитель);DST(множи­мое) берется строго определенным образом. SRC может быть представлен оператором типа г или m(і — нельзя). Если формат SRC— байт, то множимое (байт) находится в AL, произведение (слово) будет в АХ; если формат SRC— слово, то множимое (слово) извлекается из АХ, произведение (двойное слово) помещается в DX:AX(старшие два байта в DX, младшие — в АХ). Команда MUL формирует флаги CF,OF; воздействует на флаги AF,PF,SF,ZF(флаги не определены).

  • IMULsrc— целое умножение знаковых чисел (integermultiply— умножение целых чисел со знаком). Выполняет умножение знакового множимого (8 или 16 бит) на знаковый множитель (8 или 16 бит). Команда одноадресная — указывается только SRC(множитель);DST(множимое) берется строго определенным образом, SRC может быть представлен оператором типа г или m(і не допускается). Если формат SRC— байт, то множимое (байт) извлекается из AL, произведение (слово) будет в АХ; если формат SRC— слово, то множимое (слово) находится в АХ, произведение (двойное слово) заносится в DX:AX(старшие два байта результата в DX, младшие — в АХ). Команда IMUL формирует флаги CF,OF; воздействует на флаги AF,PF;SF,ZF(флаги не определены).