در مطالب قبلی شما را تعریف کلی ماکرو در زبان اسمبلی آشنا کردیم در این مطلب به طور کامل تر و از جوانب دیگر این مفهوم را مورد بررسی قرار خواهیم داد.
تعریف ماکرو توسط برنامه نویس و با استفاده از راهنمای macro صورت می گیرد. فرم کلی تعریف ماکرو به شکل زیر است:
MacroName MACRO [parameter1, parameter2…]
…
MacroName ENDM
تعریف ماکرو با راهنمای macro شروع و با راهنمای endm پایان می پذیرد. نام ماکرو قبل از هر دو راهنمای باید یکسان باشد.
در ماکرو، برخلاف زیربرنامه، ارسال پارامتر امکان پذیر است.
مثال. تعریف ماکرو ExitPgm برای خروج از برنامه و برگشت به محیط سیستم عامل.
; ExitPgm- Returns control to MS-DOS
ExitPgm MACRO
mov AH, 4ch
int 21h
ExitPgm ENDM
مثال. ماکرو که مکان نما را به موقعیت داده شده منتقل می کند.
Position MACRO Row, Column
push AX
push BX
push DX
mov AH, 02H
mov DH, Row
mov DL, Column
mov BH, 0
int 10H
pop DX
pop BX
pop AX
Position ENDM
برای استفاده از ماکرو تنها کافی است نام آنرا مشابه هر دستور دیگری فراخوانی کنیم. فراخوانی ماکرو مانند زیربرنامه نیازمند دستور call نیست.
ماکرو فوق به صورت زیر فراخوانی می شود.
Position 8, 6