План Язык программирования Ассемблер и его возможности


Download 95.62 Kb.
bet6/12
Sana17.06.2023
Hajmi95.62 Kb.
#1549318
TuriЛекция
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
Лекция №17b

Арифметические операторы.
Они делятся на двоичные и двоично - кодированные десятичные инст-рукции. Второй из этих классов используется редко, т.к. применяемый в нем способ кодирования данных неэффективен по затратам памяти. В свою оче-редь, двоичные арифметические инструкции разделяются на знаковые и без-знаковые. Первые из них выполняют операции как над положительными так и над отрицательными двоичными числами, в то время как беззнаковые инструкции имеют дело только с положительными числами. Рассмотрим основные типы операторов ассемблера, выполняющие операции над двоичными числами.
Операторы сложения:
1)ADD (сложить) суммирует два операнда (слова или байты). Результат записывается на место первого операнда.
Примеры:
ADD АХ, Mem ; (АХ) + (Mem) -> АХ , Mem - слово в ОП ADD Mem, АХ ; (Mem) + (АХ) -> Mem
ADD AL,40 ;(AL) + 40 -> AL
ADD Mem, OFh ; (Mem) + OFh -> Mem
Запрещается суммировать содержимое двух ячеек ОП, а также записывать в качестве первого операнда непосредственное значение;
2)ADC (сложить с переносом) суммирует два операнда (слова или байты), а также флаг переноса CF. Результат помещается на место первого операнда.
Совместное применение инструкций ADD и ADC позволяет выполнить суммирование двух чисел даже тогда, когда результат не вмещается в 16 битов.
3)INC инкремент) увеличивает операнд на 1. Пример: INC АХ ; (АХ) + 1 ->АХ
Операторы вычитания:
1)SUB (вычесть) выполняет вычитание второго операнда из первого операнда (операнды - байты или слова). Результат помещается в качестве первого операнда.
Примеры:
SUB АХ, СХ ; (АХ) - (СХ) -> АХ SUB АХ, Mem ; (АХ) - (Mem) -> АХ SUB Mem, АХ ; (Mem) - (АХ) -> Mem SUB AL, 10 ; (AL) - 10 -> AL
Запрещается брать в качестве обоих операндов ячейки ОП, а также задавать в качестве первого операнда непосредственное значение;
2)DEC (декремент) уменьшает операнд на 1.
Пример:
DEC AX ; (АХ)-1->АХ
3)NEG (изменить знак) вычитает из нулевого значения значение операнда. Результат записывается на место операнда.
Пример:
NEG АХ ; -(АХ) -> АХ
4) СМР (сравнить два операнда) выполняет вычитание 1-го и 2-го операндов, но в отличие от оператора SUB результат вычитания никуда не записывается, а лишь используется для установки флажков.
Примеры:
СМР АХ,ВХ ; (АХ)-(ВХ) CMP Mem,АН ; (Mem)-(АН) СМР AL, 10 ; (AL) -10

Download 95.62 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling