|
עמוד:305
נתבונן תחילה במקרו המתאים . שם המקרו הוא swap והוא משתמש בשני פרמטרים . second-1 first קטע המקרו כולל הוראות בשפת-סף והנחיות מקרו . ההנחיה LOCAL מגדירה כי התווית in order היא תווית מקומית . אנו חייבים להוסיף הנחיה זו , כדי למנוע מצב שבו המקרו יפרוש את קטע קוד פעמיים באותה תכנית ואז יוגדרו שתי תווית עם אותו שם . ההנחיה LOCAL מגדירה תווית לשימוש מקומי בתוך המקרו , וכך ניתן להשתמש באותה תווית בכל הקריאות למקרו ובזמן ההידור מחליף המהדר כל תווית בכתובת של הוראה . swap MACRO first , second . MODEL SMALL הגדרת תווית LOCAL in order ; נתון ראשון mov al , first ; AL השוואת שני הנתונים jnb in order cmp al , second ; החלפת נתונים במידת הצורך ENDM in order : mov first , AL xchg al , second ; . STACK 100 h . CODE c DB 23 b DB 15 a DB 29 . DATA start : אתחול מקטע הנתונים ; mov ax , @ DATA mov ds , ax מיון שלושה איברים ; swap a , b swap b , c
|
|