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


Команды изменения размера операнда



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

Команды изменения размера операнда. Арифметические команды не позволяют выполнять операции над операндами разного размера. Например, операция BX:=BX+AL недопустима, т.к. здесь требуется сложить слово с байтом. Поэтому для выполнения такой операции необходимо привести операнды к одной размерности – расширить байт AL до слова. Если число беззнаковое, то расширение заключается в дополнении числа слева нулями.
Например, если AL=32=20h, то AX=0020h и реализуется это записью 0 в регистр АН:

MOV АН, 0 ; AL > АХ (без знака)


Такое расширение называется расширением без знака. Для знаковых чисел следует учитывать знак. Если число неотрицательно, то его достаточно дополнить нулями. Если число отрицательное, тогда слева надо дописать двоичные единицы (FF в шестнадцатеричной системе). Например, число -32 (-20h) в дополнительном коде как байт имеет вид 256-32 = 100h-20h = 0E0h, а как слово -10000h-20h = 0FFE0h. Такое расширение называется расширением со знаком.
Для расширения со знаком в системе команд предусмотрена команда CBW (табл. 31).
Табл. 31. Команда CBW.

Код

Инструкция

Описание

98

CBW

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

Содержимое регистра AL, рассматриваемое как число со знаком, расширяется на регистр AH (рис. 19). Флаги не изменяются. Если в AL содержалось отрицательное число (т.е. если старший разряд регистра AL равен 1), все разряды регистра AH устанавливаются в единицу.


Рис. 19. Расширение со знаком байта до слова.


Если в AL содержался нуль или положительное число (старший разряд регистра AL равен 0), регистр AH обнуляется:


00h при AL >=0


AH =

0FFh при AL < 0


Приведем примеры расширения беззнаковых и знаковых чисел:

; числа без знака:


MOV АН, 0
AL > АХ (расширение без знака)
ADD ВХ, АХ

; числа со знаком:


CBW
; AL > АХ (расширение со знаком)
ADD BX, AX

Необходимость расширения байта до слова возникает при делении байтов. Разрешено делить слово на байт, но не байт на байт. Если такое деление необходимо, следует первый байт (делимое) расширить до слова. Обычно расширяют слово в регистре АХ до двойного слова, занимающего два регистра – DX и АХ (в DX находится старшая часть числа, а в АХ – младшая):


АХ > (DX, AX)


При этом расширение беззнакового числа АХ реализуется обнулением регистра DX:


MOV DX, 0 ; АХ > (DX, AX) (без знака)


Если число АХ рассматривается как знаковое, тогда для его расширения в регистр DX следует записать 0000h, если число неотрицательно, или FFFFh, если отрицательно. Для такого расширения в системе команд предусмотрена команда CWD (табл. 32).
Табл. 32. Команда CWD.


Download 1,87 Mb.

Do'stlaringiz bilan baham:
1   ...   39   40   41   42   43   44   45   46   ...   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