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



Download 12,06 Mb.
Pdf ko'rish
bet172/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   168   169   170   171   172   173   174   175   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Листинг 14.3. Использование директив повторения
резервирования памяти
WHILE
label byte
len=ln
while len
0
len=len-l
endm
def_sto_2 macro
резервирования памяти длиной len
;Используется REPT
id_table label byte
rept len
db 0
endm
endm
data segment para public
def_sto_l
def_sto_2
data ends
init_ds macro
настройки ds на сегмент данных
endm
exit macro
конца программы
mov
int 21h
endm
code segment para public "code"
assume cs:code,ds:data
main proc


Макродирективы 307
main
code ends
end main
Таким образом, директивы REPT и WHILE удобно применять для «размножения»
в тексте программы последовательности одинаковых строк без внесения в эти стро-
ки каких-либо изменений на этапе трансляции. В частности, эти директивы мож-
но использовать при построении элементов списочных структур [8]. Следующие
две директивы, IRP и IRPC, делают процесс «размножения» более гибким, позволяя
модифицировать на каждой итерации некоторые элементы последовательности
строк.
Директива IRP
Директива IRP имеет следующий синтаксис:
IRP
Действие данной директивы заключается в том, что она повторяет последова-
тельность строк п раз, то есть столько раз, сколько строк символов заключено в уг-
ловые скобки во втором операнде директивы IRP. Но это еще не все. Повторение
последовательности строк сопровождается заменой в этих строках формального
аргумента очерёдной строкой символов из второго операнда. Так, при первой ге-
нерации последовательности строк формальный аргумент в них заменяется пер-
вой строкой символов (то есть аргументом
Если есть вторая
строка символов
это приводит к генерации второй копии по-
следовательности строк, в которой формальный аргумент заменяется второй стро-
кой символов. Эти действия продолжаются до последней строки символов
включительно.
К примеру, рассмотрим результат определения в программе такой конструк-
ции:
irp
db
ini
Макрогенератором будет сгенерировано следующее макрорасширение:
db
1
db
2
db
3
db
4
db
5
Директива IRPC
Директива IRPC имеет следующий синтаксис:
IRPC
последовательность строк
ENDM
Действие данной директивы подобно действию директивы
но отличается
тем, что она на каждой очередной итерации заменяет формальный аргумент оче-
редным символом из строки символов. Понятно, что количество повторений


308 Глава
Макросредства языка ассемблера
последовательности строк будет определяться количеством символов в строке сим-
волов. К примеру,
push rg&x
В процессе макрогенерации эта директива развернется в следующую последо-
вательность строк:
push ax
push bx
push
push
Если строка символов, задаваемая в директиве IRP, содержит спецсимволы вроде
точек и запятых, то она должна быть заключена в угловые скобки:

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   168   169   170   171   172   173   174   175   ...   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