|
עמוד:304
7 . 9 . 2 העברת פרמטרים למקרו ניתן להגדיר פרמטרים למקרו , אל הפרמטרים המועברים מתייחסים במחרוזות , ובזמן שהאסמבלר מחליף את שם המקרו בגוף המקרו , הוא גם מחליף את שמות הפרמטרים המצויים בגוף המקרו " ) הפרמטרים הפורמאליים ( " במחרוזות שהועברו " ) הפרמטרים האקטואליים . ( " שימו לב , שהפרמטרים הפורמאליים מציינים עבור האסמבלר היכן להכניס את הפרמטרים האקטואליים המצורפים להוראה הקוראת למקרו ; הם אינם מציינים כתובות של משתנים בזיכרון . לדוגמה , נכתוב מקרו בשם writeChar המקבל כפרמטר תו ומציגו על הצג . ENDM int 21 h mov ah , 2 mov dl , char writeChar MACRO char בתכנית נזמו את המקרו עם פרמטר אקטואלי המכיל את התו שאנו רוצים להציג ו writeChar 'A ' הקריאה למקרו עם פרמטרים אקטואליים נעשית על-ידי רישום שם המקרו ואחריו רשימה של פרמטרים אקטואליים המופרדים על-ידי פסיקים , רווחים או תווי . TAB ניתן לזמן את המקרו כמה פעמים בתכנית ; במקרה כזה כל זימון יוחלף בקוד המקרו , כך שהתכנית שתתקבל עשויה להיות ארוכה מאוד . נכתוב תכנית למיון שלושה מספרים ו הם יוכנסו לתוך המשתנים a , b , c כך . a > b > c-v ) התכנית תיעזר במקרו swap שתפקידו להחליף בין שני ערכים ולממש את האלגוריתם הזה ו אם bo a pm ^^^^ a < b ביניהם אם b < c החלף את תוכן בין c-b b ביניהם אם m ^^ ^^^^ a < b b- > a vn p ביניהם
|
|