|
صفحة: 172
שאלה 5 . 15 שנו את קטע הקוד שתואר בדוגמה 5 . 7 והשתמשו בהוראה קפיצה מותנית למספרים מכוונים כדי לחשב את הערך המוחלט של המספר . x לכאורה יש כפילות בהוראות קפיצה מותנות עבור מספרים בלתי מכוונים ועבור מספרים מכוונים . כדי להבין מדוע אנו זקוקים לאוסף הוראות נפרד לכל מקרה , נתבונן בדוגמה הבאה . [ דוגמה 5 . 8 קטע התכנית הבא מבצע את האלגוריתם הבא ו אם al < ah אזי inc ah סיום-אם inc ah כלומר אס AL < AH אזי בסיום קטע התכנית ערכו של AH יגדל ב , 2- אחרת ערכו יגדל נרשום הוראות אסמבלי עם דוגמת ערכים , למימוש האלגוריתם : mov ah , 00000010 b mov al , 11111110 b מצב הדגלים : ; al < ah ? sub al , ah ; CF = O , SF = 1 , OF = 1 אם מתקיים al < ah אזי המשך jb next ; next-n אחרת מתקיים next : inc ah inc ah ; al > = ah כעת נבחן שני מקרים . א . מקרה ראשון , כאשר אנו מתייחסים לנתונים כאל מספרים בלתי מכוונים ולכן 1 111 1110 b -00000010 b > 0
|
|