Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Команды арифметических операцийАрифметические операции выполняются над целыми числами четырех типов: знаковыми и беззнаковыми двоичными, упакованными и неупакованными десятичными. Ограничимся рассмотрением операций с двоичными числами. Числа занимают 1 или 2 байта, в беззнаковых все разряды значащие, в знаковых старший разряд определяет знак числа 0 - положительное, 1 - отрицательное. Знаковые числа хранятся в дополнительном коде. Диапазон значений -128 +127 для байтовых и -32768 +32767 для двухбайтовых. Признаки (особенности) результата арифметических операций записываются в регистр флагов.
СЛОЖЕНИЯ. ADD dst, src; dst:= (dst) + (src) Команда складывает содержимое источника и приемника и помещает результат в приемник. Например:
ADD AX, [DI + 8] (AX) = FFF0 (DI) = 3000 (DS) = 1000 (13008) = 1000 AX = 0FF0.
ADD CX, 123h Непосредственная адресация. Складывается число и содержимое (CX)= 123h регистра CX. Результат в CX. (CX) = 246h, все флаги =0 ADС dst, src; dst:= (dst) + (src) + (CF) Сложение с переносом. К младшему биту результата сложения прибавляется значение флага переноса CF. Например:
ADC [DI], AX (AX) = 2h (DI) = 0300 (DS) = 1200 (12300) = 2h (CF) = 1 INC dst;dst:= dts + 1 Увеличивает содержимое регистра или ячейки памяти на 1. Команда не изменяет флаг CF. Например: INC SI (SI) = FFFF (SI) = 0, CF = 0.
ВЫЧИТАНИЯ. Аналогичны сложению, только операция другая. Флаги переноса становятся флагами заема и устанавливаются в 1 когда уменьшаемое меньше вычитаемого. SUB dst, src; dst:= (dst) - (src) Команда вычитает содержимое источника из приемника и помещает результат в приемник. Например:
SUB CL, [BP + 8] (CL) = 30h (BP) = FFFE (SS) = 1000 (20006) = 20h (CL) = 10h SBB dst, src; dst:= (dst) - (src) - (CF) Команда вычитания с заемом. Из разности вычитает еще значение флага CF. Например:
SBB [BX + 40], 5555h (BX) = 2000h (DS) = 1000h (21000) = 2000h (CF) = 1 (2100) = CAAA, CF = 1 (уменьшаемое меньше вычитаемого) и SF = 1 (отрицательный результат)
DEC dst;dst:= dts - 1 Уменьшает содержимое регистра или ячейки памяти на 1. Команда не изменяет флаг CF. Например: DEC AL (AL) = 10h (AL) = F СРАВНЕНИЯ
|