Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Арифметические команды сложения и вычитания.




Арифметические операции выполняются над целыми числами четырех типов: знаковыми и беззнаковыми двоичными, упакованными и неупакованными десятичными числами. Длина чисел может быть 8 или 16 бит.

Одни и те же команды сложения и вычитания могут использоваться для операций как над беззнаковыми, так и знаковыми числами. Результат арифметических операций помещается по адресу первого операнда. Контроль над типами чисел должен выполнять сам программист. В таблице 5.1. приведены арифметические команды сложения и вычитания.

Таблица 3.2.

Арифметические команды сложения и вычитания.

Мнемокод Операнды Краткое описание  
 
Команды сложения  
ADD dst, src Сложение, результат помещается в 1-й операнд  
INC dst Инкремент, значение операнда увеличивается на 1  
Команды вычитания  
SUB dst, src Вычитание, результат помещается в 1-й операнд  
DEC dst Декремент, значение операнда уменьшается на 1  
CMP dst, src Сравнение, изменяет флаги в соответствии с результатом сравнения  
NEG dst Изменение знака операнда на противоположный  

Таблица 3.3.

Допустимые комбинации операндов для команд ADD, SUB.

dst src размер операнда
r8 i8, r8, m8 сложение и вычитание байтов
m8 i8, r8
r16 i16, r16, m16 сложение и вычитание слов
m16 i16, r16

Допустимые типы операндов для команд INC, DEC и NEG: dst: r8, m8, r16, m16.

Examle 3.8. Фрагмент программы использования арифметических команд сложения и вычитания.

; описание данных

BYTE_A DB 64h

BYTE_B DB 40h

BYTE_C DB 16h

WORD_A DW 4000h

WORD_B DW 2000h

WORD_C DW 1000h

; фрагмент кода программы

; сложения чисел размером в байт

ADD BL, 10h; непосредственное число и регистр

ADD BYTE_A, 25h; непосредственное число и память

MOV AL, BYTE_A;

MOV BL, BYTE_B;

ADD AL, BL; регистр и регистр

ADD AL, BYTE_C; память и регистр

ADD BYTE_A, BL; регистр и память

; вычитания слов

MOV AX, WORD_A;

MOV BX, WORD _B;

SUB AX, BX; регистр из регистра

SUB AX, WORD _C; память из регистра

SUB WORD _A, BX; регистр из памяти

SUB BX, 1000h; непосредственное число из регистра

SUB WORD _A, 256h; непосредственно число из памяти

Examle 3.9. Фрагмент программы использования команд INC, DEC и NEG.

; описание данных

BYTE_A DB 64h

WORD_A DW 4000h

; фрагмент кода программы

; инкремент

MOV AL, BYTE_A;

INC AL; инкремент регистра AL

MOV BX, WORD _A;

INC BX; инкремент регистра BX

INC WORD _A; инкремент памяти

; изменение знака операнда

NEG WORD _A;

MOV AL, 80h;

NEG AL;






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных