|
صفحة: 302
7 . 9 מקרו מקרו ( macro ) הוא כלי שמספק האסמבלר - הוא מאפשר לייצג בתכנית קטע טקסט ( שיכול להכיל הוראות או נתונים ) באמצעות שם לוגי ! בזמן ההידור אפשר להחליף את השם הלוגי בקטע הטקסט עצמו . כלי זה מסופק על-ידי מהדרים רבים , בשפות שונות , לאו דווקא בשפת אסמבלי . כאשר יש בתכנית קטעי קוד שחוזרים על עצמם , המקרו מקל את תהליך הכתיבה . מגדירים את המקרו פעם אחת בתכנית , ובכל מקום שקטע קוד זה דרוש , מחליפים את השם בקוד עצמו . נדגיש כי במקרו החלפת הקוד מתבצעת בשלב האסמבלר כך שביצוע התכנית הוא לפי סדר ההוראות הרשומות בתכנית , ואילו לביצוע הפרוצדורה יש לקפוץ למיקום אחר במקטע הקוד בו נמצאות ההוראות של הפרוצדורה ( ערכו של IP מתעדכן לכתובת ההוראה הראשונה של הפרוצדורה ) . 7 . 9 . 1 מבנה של מקרו כתיבת מקרו מתחילה בכותרת המכילה את שם המקרו , אחריו נכתב גוף המקרו המכיל הוראות והנחיות לביצוע , ולסיום נכתבת הנחיה המציינת את סיום המקרו : [ paramet 1 , paramet 2 ,... ] שם MACRO גוף המקרו ENDM אפשר להגדיר את המקרו בכל מקום בקובץ התכנית . כאשר המהדר נתקל בקריאה למקרו , הוא משבץ את גוף המקרו במקום שבו הופיעה הקריאה . אפשר להעביר למקרו פרמטרים , אותם יש לציין בכותרת של המקרו . פרמטרים אלה נקראים פרמטרים פורמליים . בהמשך נתייחס אליהם . דוגמה 7 . 14 לדוגמה , נכתוב מקרו המבצע השמה של תחילת מקטע הנתונים לאוגר סגמנט הנתונים 1 DS ENDM mov ds , ax mov ax , @ DATA MACRO setDS
|
|