Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Команды арифметических операций





Арифметические операции выполняются над целыми числами четырех типов: знаковыми и беззнаковыми двоичными, упакованными и неупакованными десятичными. Ограничимся рассмотрением операций с двоичными числами.

Числа занимают 1 или 2 байта, в беззнаковых все разряды значащие, в знаковых старший разряд определяет знак числа 0 - положительное, 1 - отрицательное. Знаковые числа хранятся в дополнительном коде. Диапазон значений -128 +127 для байтовых и -32768 +32767 для двухбайтовых. Признаки (особенности) результата арифметических операций записываются в регистр флагов.

 

СЛОЖЕНИЯ.

ADD dst, src; dst:= (dst) + (src) Команда складывает содержимое источника и приемника и помещает результат в приемник. Например:

Используется индексная адресация. Перед выполнением операции должны быть определены аргументы - первый аргумент в регистре AX, второй в ячейке с адресом (DS) * 16 + (DI) + 8. Результат в AX. Складываются два отрицательных числа. Результат больше 2 байт. Устанавливаются флаги переноса CF = 1 и отрицательного результата SF = 1

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. Например:

Индексная адресация. Складывается содержимое ячейки с адресом (DS) * 16 + (DI), регистра AX и флага CF. Результат в ячейку памяти. (123000) = 5h, все флаги нулевые.

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) Команда вычитает содержимое источника из приемника и помещает результат в приемник. Например:

Базовая адресация. Из содержимого регистра CL вычитается содержимое ячейки с адресом (SS) * 16 + (BP) + 8. Т. к. используется регистр BP обращение происходит к сегменту стека. Результат записывается в CL. Результат положительный, значит SF = 0 и не было заема, значит CF = 0.  

SUB CL, [BP + 8]

(CL) = 30h

(BP) = FFFE

(SS) = 1000

(20006) = 20h

(CL) = 10h

SBB dst, src; dst:= (dst) - (src) - (CF) Команда вычитания с заемом. Из разности вычитает еще значение флага CF. Например:

Базовая адресация, но через регистр BX. Значит обращение будет происходить к ячейке в сегменте данных с адресом (DS) * 16 + (BX) + 40.

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 СРАВНЕНИЯ

Date: 2015-09-02; view: 362; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.014 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию