رتبه موضوع:
  • 33 رای - 2.91 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ماکرو
#1
ماکرو مجموعه ای از دستورات است که مشابه زيربرنامه يکبار نوشته می شود و چندين بار استفاده می شود.

تعريف ماکرو
کتابخانه ماکرو

ماکرو (macro) نام مخففی برای مجموعه ای از دستورالعمل ها، راهنماها يا ماکروهای ديگر است که يکبار نوشته می شود و به هر تعداد دفعات لازم قابل استفاده است.

اسمبلر هنگام ترجمه برنامه در مواجهه با نام ماکرو دستورات معادل را قرار می دهد.
تعريف ماکرو

تعريف ماکرو توسط برنامه نويس و با استفاده از راهنمای 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
کتابخانه ماکرو

يکی از مزايای استفاده از ماکرو ها ايجاد کتابخانه ای از ماکروهاست که می تواند در برنامه ضميمه شود. برای ايجاد کتابخانه کافی است کليه ماکروها را درون يک فايل متن جداگانه ذخيره کنيد. برای استفاده از اين ماکروها بايد ابتدا فايل ماکرو به فايل برنامه با راهنمای include ضميمه کنيد..دستور include معمولا در ابتدای برنامه قبل از راهنمای .model نوشته می شود.

INCLUDE NameOfTheFile
در صورتی که سوال دارید و سوالتون مختصر هست با شماره 09120642214 میتونید تماس بگیرید.
کسانی که دوست دارن در کانال فروشگاه ما و یا کانال انجمن عضو بشن یک پیامک در تلگرام برای من بفرستید که عضوشون میکنم.

ادرس فروشگاه :

http://www.amshop.ir



ای ام شاپ را در اینستگرام دنبال کنید

ای ام شاپ رو در کانال تلگرام دنبال کنید



This forum uses Lukasz Tkacz MyBB addons.
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان
<------> <____> <<<<----------------->>>> <<<<--->>>>>
This forum uses Lukasz Tkacz MyBB addons.