Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
10.09.2019
Размер:
9.47 Mб
Скачать

Команды сложения ADD, ADC, INC

Командам БЕЗРАЗЛИЧНО какие числа

складываются (знаковые или нет).

Если в результате сложения результат НЕ поместился в отведенное место, устанавливается флаг переноса CF=1. Команда ADC как раз и реагирует на этот флаг. Вырабатываются еще 4 флага: PF, SF, ZF, OF

Состояние флагов после выполнения команд ADD, ADC, INC

Команда ADD

ADD (ADDition — сложение).

Синтаксис:

ADD Приемник, Источник

Логика работы:

<Приемник> = < Приемник> + <Источник>

Команда ADC - сложение с переносом

Эта команда от команды ADD отличается использованием бита переноса CF при сложении (ADdition with Carry). Поэтому она может использоваться при сложении 32-разрядных чисел.

Синтаксис:

ADC Приемник, Источник

Логика работы:

<Приемник> = <Приемник> + <Источник> + <CF>

Обычно эта команда работает в паре с командой ADD(складывание младших частей числа).

Команда INC

Мнемокод этой команды получен в результате сокращения такого предложения: INCrement operand

by 1 — Увеличение значения операнда на 1. Команда содержит один операнд и имеет следующий

синтаксис:

INC Операнд

Логика работы команды:

< Операнд > = < Операнд > + 1

В качестве операнда допустимы регистры и память: R8, R16, Мет8, Мет16.

Команды вычитания SUB, SBB,

DEC и NEG

Команды вычитания SUB, SBB, DEC ОБРАТНЫ соответствующим командам сложения ADD, ADC и INC. Они имеют те же самые операнды.

SUB (SUBtract — Вычитание).

SBB (SuBtract with Borrow CF — Вычитание с заемом флага переноса CF).

DEC (DECrement operand by 1 — Уменьшение значения операнда на 1).

title subaL ;x=a-b

data segment para public Extrn x:Dword,a:Dword,b:Dword

data

Ends

 

code

segment para public

assume cs:code,ds:data

Public suba

 

suba

proc

far

mov

ax,WORD PTR a

mov

bx,WORD PTR a+2

mov

cx,WORD PTR b

mov

dx, WORD PTR b+2

sub

ax,cx

 

sbb

bx,dx

 

mov

WORD PTR x,ax

mov

WORD PTR x+2,bx

ret

 

 

suba

endp

 

code

ends

 

end

 

 

Команда NEG

Команда NEG (NEGate operang — изменение знака операнда).

Синтаксис:

NEG Операнд

Логика работы команды:

< Операнд > = — < Операнд >

В качестве операнда допустимы регистры и память: R8, R16, Мем8, Мем16

Соседние файлы в папке Файлы преподавателя (наиболее достойные)