ايران ويج

نسخه‌ی کامل: تفاوت روال و ماکرو
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
تفاوت روال و ماکرو:

فراخواني يک روال در يک زبان سطح بالا به تعدادي دستورالعمل‌هاي مربوط به انتقال دادن آرگومان‌هاي ذکر شده در دستورالعمل call، کامپايل مي‌شود.

فراخواني يک ماکرو عملاً به دستورالعملهاي داده شده در تعريف ماکروي مزبور بسط داده شده و آرگومان‌ها جايگزين پارامترهاي استفاده شده در تعريف ماکروي مربوط مي‌گردد.

کد يک ماکرو با هر بار فراخواني آن تکرار مي‌شود، اما تنها يک نسخه از کد يک روال وجود دارد.

با توجه به اينکه هيچگونه بالا سري براي انتقال دادن پارامترها يا براي دستورالعمل‌هاي call و ret وجود ندارد، معمولاً ماکروها سريعتر از فراخواني روال‌ها اجرا مي‌شوند ولي اين معمولاً به بهاي طولاني تر شدن کد هدف در مورد فراخواني ماکروها، صورت مي‌گيرد.


تعريف يک ماکرو در بين دستورات MACRO و ENDM قرار داده مي‌شود.

شکل تعريف يک ماکرو به صورت زير مي‌باشد:


ليست پارامترها MACRO نام

دستورالعملهاي زبان اسمبلي

ENDM

جایگاه ماکرو :
تعريف يک ماکرو مي‌تواند در هر جاي برنامه اسمبلي ذکر شود به شرط اينکه اين تعريف قبل از فراخواني‌هاي آن بيايد.

تعدادی ماکرو که بطور معمول در برنامه های اسمبلی استفاده می شود را برای شما قرار میدم!
( ساخت فایل - نوشتن در فایل - بستن فایل - مکان نما - ClrScr - و... )

http://www.iranled.com/forum/thread-17486.html
به به به
تبریک The.Ghost جان...
می دونم تو لایق همچین پستی هستی...
بابا بی معرفت یه خبری به ما میدادی تا زودتر بهت تبریک بگیم :))