Команди пересилання даних | Команди цілочисельний арифметики | Команди передачі управління | командні переривання | Команди для роботи зі стеком | Ключові слова | імена користувача | Директива MODEL | Директиви спрощеного визначення сегментів | Директиви визначення сегментів і груп |

загрузка...
загрузка...
На головну

макрозасоби

Макрозасоби мови асемблера дозволяють формувати у вихідній програмі блок команд (макровизначеннями), що має ім'я, і ??потім багато разів використовувати це ім'я для включення цього блоку команд в програму. У процесі трансляції макрокоманда (ім'я з параметрами) заміщається послідовністю команд відповідно до Макровизначення, в результаті чого формується макророзширення. У вихідний текст макрокоманда може включатися стільки раз, скільки це необхідно. Дії виконують ті ж функції, що і підпрограми, тобто забезпечують багаторазове і функціонально закінчену дію. Різниця полягає в тому, що підпрограма присутній в програмі один раз, тоді як макророзширення дублюється стільки раз, скільки разів макрокоманда зустрічається в початковому тексті програми. Код підпрограми незмінний, в той час як макророзширення може залежати від параметрів дії. Параметри макрокоманди включаються в макророзширення в процесі трансляції.

Макровизначення є послідовність команд, що починається директивою MACRO і закінчується директивою ENDM.

формат: <ім'я> MACRO [<формальний_параметр>, .........]

<Тіло макрокоманди> (послідовність рядків на мові асемблера)

ENDM

Іменем макрокоманди вважається ім'я, вказане в директиві MACRO, формальні параметри представляють собою внутрішні по відношенню до даного Макровизначення імена, які використовуються для позначення значень, переданих в макророзширення при трансляції. Може бути визначено будь-яке число параметрів, але всі вони повинні поміщатися в одному рядку і розділятися комами.

Якщо в тілі макроси є мітки, то вони повинні бути описані директивою LOCAL.

формат: LOCAL <метка_1> [, ...........]

Тоді при кожному макровизове значення мітки буде відповідати конкретному макророзширенні. Директива LOCAL повинна слідувати в тексті безпосередньо за директивою MACRO.

Тут розглядалися найбільш часто використовувані директиви. Перелік директив з коротким описом їх призначення наведено в дод. 2.

 



Директиви опису процедури | ОПЕРАЦІЇ В вираженні
загрузка...
© um.co.ua - учбові матеріали та реферати