Основы программирования микропроцессоров



Download 1,87 Mb.
bet44/119
Sana23.02.2022
Hajmi1,87 Mb.
#139915
TuriКонтрольные вопросы
1   ...   40   41   42   43   44   45   46   47   ...   119
Bog'liq
Системное программирование

Код

Инструкция

Описание

99

CWD

Расширение слова до двойного слова.

Содержимое регистра AX, рассматриваемое как число со знаком, после расширения будет занимать регистровую пару DX:AX (рис. 20). В регистр DX заносится старшая часть результата. Флаги не изменяются.


Рис. 20. Расширение со знаком слова до двойного слова.


Если в AX содержалось отрицательное число (т.е. старший разряд регистра AX равен 1), все разряды регистра DX устанавливаются в единицу. Если в AX содержался нуль или положительное число (старший разряд регистра AX равен 0), регистр DX обнуляется:


0000h при AX >=0


DX =

FFFFh при AX < 0


Приведем примеры применения команд изменения размерности:

CBW
ADD AX, DX ; сложить байт в AL со словом в DX


CBW
IMUL DX ; умножить байт в AL на слово в DX


CWD
IDIV DX ; разделить слово в AL на слово в BX


Последняя арифметическая команда меняет знак операнда на противоположный (табл. 33). Флаги OF, SF, ZF, AF и PF устанавливаются в соответствии с результатом. Флаг CF сбрасывается, если исходный операнд равен нулю, и устанавливается в противном случае.


Табл. 33. Команда NEG.

Код

Инструкция

Описание

F6 /3

NEG r/m8

r/m8:= – r/m8

F7 /3

NEG r/m16

r/m16:= – r/m16

Пример команды изменения знака операнда:

MOV АН, 1


NEG АН ; АН:=1 (0FFh)

Заметим, что для байтовых чисел, если операнд равен -128 (80h), не меняется, т.к. нет знакового числа +128. Аналогично для чисел-слов: если значение операнда равно -32768 (8000h), то команда не меняет операнд. В этом случае флаг OF получает значение 1 (при других операндах OF=0). При нулевом операнде флаг CF равен 0, при других -1. Флаги SF и ZF меняются обычным образом.


Команда NEG полезна при вычитании значения регистра или ячейки памяти из непосредственного операнда. Допустим, необходимо вычесть из 100 значение регистра AL. Команда SUB 100, AL невозможна, т.к. непосредственный операнд не может быть приемником. Поэтому можно обратить знак содержимого регистра AL и затем добавить к нему 100:

NEG AL
ADD AL, 100



Download 1,87 Mb.

Do'stlaringiz bilan baham:
1   ...   40   41   42   43   44   45   46   47   ...   119




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish