Макростар


POP ;; стек ( R POP bx
ENDM
11.3 Макростар
Қайталау блогі көмегімен кейіннен макрогенератормен бірнеше рет
көшірілетін бағдарламаның қандай да фрагменті бір рет сипатталады. Бірақта
қайталау блоктарын тек егер бұл көшірмелер бір-біріне қатар орналасқанда
ғана қолдануға болады. Ал егер бағдарлама фрагменті бағдарламаның әртүрлі
жерінде, қайталану керек болса не істеу керек? Бұл жағдайда макростар
қолданылады: бұл бағдарлама фрагменті әдейі сипатталып оған есім беріледі
және бағдарламаның керек жерлерінде осы макросқа (оның есімі көрсетіледі)
сілтеме жазады, ал макрогенератор бағдарлама тексін қарағанда және осындай
сілтеме кездестіргенде оның орнына қорытынды бағдарламаға – бағдарламаның
сәйкес фрагмент макростың өзін қояды және бағдарламаның қай жерінде
кездессе де әрбір макросқа сілтеме жасалады.
Макростарды қолданғанда келесі терминология қолданылады. Макростың
сипаттамасы – макроанықтауыш, макросқа сілтеме макрокоманда макрокоманданы
макросқа ауыстырғанда процесін – макроқою, ал мұндай қоюдың нәтижесін –
макроұлғаю деп атайды.
11.3.1 Макроанықтаулар
Макростың сипатталауы, яғни макроанықтаулар келесі түрге ие:
макрос есімі MACROүтір арқылы формальді параметр макрос денесі
ENDM
Екі нақты мысал:
SUM MACRO X,Y ; X:=X+4 VAR MACRO NM, TP, VL
MOV AX,4 NM D & TP VL
ADD X,AX ENDM
ENDM
Макроанықтаудың бірінші жолы – ол макрос атауы деп аталатын MACRO
директивасы. Онда біріншіден, үтір арқылы макростың формальды параметрлері
келтіріледі. Параметрлерде қажеттілік макрос жалпы жағдайда өзгертілмеген
түрде емес, ал кейбір модификациялармен көшірілуі керек; ал параметрлер осы
модификацияларға ықпал жасайтын шамаларды білдіреді. Формальды
параметрлерге кез-келген есім беруге болады, бұл есімдер макрос денесінде
жергіліктенеді егер параметрдің есімі бағдарламаның басқа объект есімімен
сәйкес келсе, онда макроанықтау ішінде бұл есім объекті емес параметрді
білдіреді.
Макрос денесі ол содан кейін бірнеше рет көшірілетін бағдарлама
фрагменті. Дене макростың формальды параметрлерін қолдануға болатын кез-
келген сөйлем соңынан тұра алады қайталау болктарында сияқты формальды
параметрлер дене сөйлемдерінің кез-келген бөлігін білдіре алады. Сонымен
қатар, егер параметрлердің жанында есім не сан көрсету керек болса, немесе
егер параметрлерді жолдың ішінде көрсету керек болса, онда &
макрооператорын қолдану керек. (қар D&TP VAR макросында). Макрос денесінде
екі үтірлі нүктеден бастап түсіндірмелерді қолдануға болады.
Макроанықтауды ENDM (end of macro) директивасы аяқтайды. Бұл
директивада макрос есімін қайталап керегі жоқтығына ерекше көңіл аударыңыз
(егер мұнда макрос есімін көрсетсек, онда бұл сөйлем макростың рекурсивті
шақырылуы ретінде қарастырылады). Тағыда дәл осы директива қайталау
блоктарының соңында көрсетілетінін айтып кетейік (&A-да бұл блоктар
макростарды ... жалғасы
ENDM
11.3 Макростар
Қайталау блогі көмегімен кейіннен макрогенератормен бірнеше рет
көшірілетін бағдарламаның қандай да фрагменті бір рет сипатталады. Бірақта
қайталау блоктарын тек егер бұл көшірмелер бір-біріне қатар орналасқанда
ғана қолдануға болады. Ал егер бағдарлама фрагменті бағдарламаның әртүрлі
жерінде, қайталану керек болса не істеу керек? Бұл жағдайда макростар
қолданылады: бұл бағдарлама фрагменті әдейі сипатталып оған есім беріледі
және бағдарламаның керек жерлерінде осы макросқа (оның есімі көрсетіледі)
сілтеме жазады, ал макрогенератор бағдарлама тексін қарағанда және осындай
сілтеме кездестіргенде оның орнына қорытынды бағдарламаға – бағдарламаның
сәйкес фрагмент макростың өзін қояды және бағдарламаның қай жерінде
кездессе де әрбір макросқа сілтеме жасалады.
Макростарды қолданғанда келесі терминология қолданылады. Макростың
сипаттамасы – макроанықтауыш, макросқа сілтеме макрокоманда макрокоманданы
макросқа ауыстырғанда процесін – макроқою, ал мұндай қоюдың нәтижесін –
макроұлғаю деп атайды.
11.3.1 Макроанықтаулар
Макростың сипатталауы, яғни макроанықтаулар келесі түрге ие:
макрос есімі MACROүтір арқылы формальді параметр макрос денесі
ENDM
Екі нақты мысал:
SUM MACRO X,Y ; X:=X+4 VAR MACRO NM, TP, VL
MOV AX,4 NM D & TP VL
ADD X,AX ENDM
ENDM
Макроанықтаудың бірінші жолы – ол макрос атауы деп аталатын MACRO
директивасы. Онда біріншіден, үтір арқылы макростың формальды параметрлері
келтіріледі. Параметрлерде қажеттілік макрос жалпы жағдайда өзгертілмеген
түрде емес, ал кейбір модификациялармен көшірілуі керек; ал параметрлер осы
модификацияларға ықпал жасайтын шамаларды білдіреді. Формальды
параметрлерге кез-келген есім беруге болады, бұл есімдер макрос денесінде
жергіліктенеді егер параметрдің есімі бағдарламаның басқа объект есімімен
сәйкес келсе, онда макроанықтау ішінде бұл есім объекті емес параметрді
білдіреді.
Макрос денесі ол содан кейін бірнеше рет көшірілетін бағдарлама
фрагменті. Дене макростың формальды параметрлерін қолдануға болатын кез-
келген сөйлем соңынан тұра алады қайталау болктарында сияқты формальды
параметрлер дене сөйлемдерінің кез-келген бөлігін білдіре алады. Сонымен
қатар, егер параметрлердің жанында есім не сан көрсету керек болса, немесе
егер параметрлерді жолдың ішінде көрсету керек болса, онда &
макрооператорын қолдану керек. (қар D&TP VAR макросында). Макрос денесінде
екі үтірлі нүктеден бастап түсіндірмелерді қолдануға болады.
Макроанықтауды ENDM (end of macro) директивасы аяқтайды. Бұл
директивада макрос есімін қайталап керегі жоқтығына ерекше көңіл аударыңыз
(егер мұнда макрос есімін көрсетсек, онда бұл сөйлем макростың рекурсивті
шақырылуы ретінде қарастырылады). Тағыда дәл осы директива қайталау
блоктарының соңында көрсетілетінін айтып кетейік (&A-да бұл блоктар
макростарды ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz
Реферат
Курстық жұмыс
Диплом
Материал
Диссертация
Практика
Презентация
Сабақ жоспары
Мақал-мәтелдер
1‑10 бет
11‑20 бет
21‑30 бет
31‑60 бет
61+ бет
Негізгі
Бет саны
Қосымша
Іздеу
Ештеңе табылмады :(
Соңғы қаралған жұмыстар
Қаралған жұмыстар табылмады
Тапсырыс
Антиплагиат
Қаралған жұмыстар
kz