|
עמוד:164
5 . 4 . 1 הוראת קפיצה שאינה מותנית ( J 11 MP ) JMP - הוראת הקפיצה שאינה מותנית מתבצעת ללא התניה ; operand JMP operand האופרנד בהוראה זו היא כתובת בזיכרון . במקום כתובת זו ניתן להשתמש בשם הנקרא " תווית" ( label ) או "כתובת סמלית . " התווית מציינת את כתובת ההוראה במקטע הקוד . ניתן להתייחס לתווית כאל כתובת סמלית המציינת הוראה מסוימת אליה היא מוצמדת , באופן דומה לשם משתנה שהוא כתובת סמלית המציינת כתובת של תא בזיכרון ( שנמצא במקטע הנתונים . ( לדוגמה ההוראה JMP label : nmvDwn קפוץ להוראה שאליה מוצמדת התווית . כאשר תכנית נטענת לזיכרון לשם הרצה , מוחלפת התווית בכתובת האקטואלית שבה מאוחסנת ההוראה אליה היא צמודה , ובשלב ביצוע ההוראה , מוחלף תוכנו של IP בכתובת עליה מצביעה התווית כלומר IP < - label את התווית להוראה מגדירים על-ידי שם ולאחריו שימוש בנקודתיים הנרשמים משמאל להוראה . לדוגמה נצמיד את התווית nextSection להוראת nextSection : mov ex , OFh MOV ואז , לדוגמה , ההוראה jmp nextSection משמעותה היא 1 קפוץ להוראה שאליה מוצמדת התווית , כלומר להוראה . mov ex , OFh הוראה זו אינה משנה את מצב הדגלים . אנו נקפיד לבחור לתווית שם משמעותי אותו נרשום באותיות קטנות . אם התווית מכילה מספר מילים נתחיל כל מילה ( החל מהמילה השנייה ) באות גדולה . כמובן שתווית לא יכולה להיות מילה שמורה כמו הוראה או הנחיית אסמבלר . נשתמש בדוגמה 5 . 6 כדי לעקוב אחר מהלך ביצוע הוראת Jwp
|
|