Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet140/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   136   137   138   139   140   141   142   143   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Особенности пакета MASM
Пакет MASM имеет встроенные средства, визуально приближающие написанную
программу к программам на языке высокого уровня. Это директивы для формиро-
вания конструкций, аналогичных условным и циклическим операторам языков
высокого уровня:
.ELSEIF,
Всем директивам предшествует символ . (точка). Использование дан-
ных конструкций можно рекомендовать для повышения надежности кода. Про-
граммист, оставаясь на уровне ассемблера, повышая логический уровень контро-
лируемых им синтаксических конструкций, снижает вероятность ошибок логики,
ускоряя тем самым весь процесс разработки.
Условная конструкция
Конструкция
предназначена для генерации кода, функционально аналогично-
го условному оператору языков высокого уровня. Ее синтаксис:
условие
предложения блока IF
предложения блока ELSEIF
предложения блока ELSE
Здесь слова
— служебные, аусловие представляет один
из следующих операторов:
т
== оп2 — операнды равны;
!= оп2 — операнды не равны;
> оп2 — больше;
>= оп2 — больше или равно;
< оп2 — меньше;
<= оп2 — меньше или равно;
&
— проверка бита;
! onl — инверсия (NOT);
&& оп2 — логическое умножение (AND);
onl on2 — логическое сложение (OR);
CARRY?
OVERFLOW? -
PARITY? -
SIGN? -
ZERO? -
Эти же условия используются в конструкциях
(см. далее). Сочетание операндов
и оп2 должно быть допустимым для команд
ассемблера, то есть выражение типа
(память-память) ассемблер не про-
пустит.


Особенности пакета
243
Допускается вложение конструкций
Назначение и использование дирек-
тив
и
аналогичны соответствующим конструкциям в языках высоко-
го уровня. Завершающая директива условного блока
обязательна.
Интерес для изучения представляет то, как ассемблер преобразует директивы
рассматриваемых нами конструкций высокого уровня в машинный код. Для этого
необходимо вставить в любую программу, не имеющую синтаксических ошибок,
фрагмент, подобный следующему:
ax==0
mov
mov
После этого необходимо выполнить компиляцию примера:
/ Z i
Ключ /Fl предназначен для генерации файла листинга (по умолчанию не созда-
ется). Он намеренно вставлен в командную строку для того, чтобы не увидеть замену
высокоуровневых директив командами ассемблера в тексте листинга. Для визуа-
лизации замены встроенных макросов необходимо загрузить исполняемый модуль
в отладчик CodeView, выбрать в окне Source команду Options Source Window и в
открывшемся окне Source Window Options выбрать режим отображения (Display Mode)
Mixed Source and Assembly. Взору предстанет следующий смешанный код:
25:
al==0
1792:000С 36803Е000100 CMP BYTE PTR
1792:0012 7505 JNZ 0019
26: mov
1792:0014 B80100 MOV
27:
ax==0
1792:0017 EB0C JMP 0025
1792:0019 0BC0 OR
7505 JNZ 0022
28: mov
2
B80200 MOV
29:
1792:0020 EB03 J M P 0025
30: mov ax , 3
1792:0022 B80300 MOV
31:
На примере команд сравнения видно, как ассемблер выполняет оптимизацию
кода. Для приведенного фрагмента программы ассемблер реализовал сравнение
в двух вариантах:
ж для переменной al==0 - CMP BYTE PTR
II для регистра ах==0 — OR AX,AX.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   136   137   138   139   140   141   142   143   ...   357




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