|
עמוד:174
כדי לבצע פעולה זו , המעבד מבצע את פעולת החיסור , כלומר אופרנד המקור פחות אופרנד היעד , ומעדכן את דגלי המצב : CF , SF , OF , AF , PF בהתאם לתוצאה שהתקבלה . ביצוע הוראה זו אינו משנה את ערכו של אופרנד היעד . בדרך-כלל , לאחר ההוראה , CMP מופיעה בתכנית הוראת קפיצה המותנית במצב הדגלים . צירופי אופרנדים המותרים בהוראה זו מתוארים בטבלה . 5 . 3 דוגמה 5 . 9 לדוגמה , נכתוב תכנית הממיינת שני ערכים , x , y כך x-v יכיל את הערך הגדול מבין השנים , ו > ' - את הערך הקטן . תחילה נרשום אלגוריתם למיון שני ערכים : x-y < 0 ON אזי החלף את x ו > ' - ביניהם סירם-אם נניח כי y -j x מוגדרים במקטע הזיכרון כמספרים בלתי מכוונים מטיפוס בית ונרשום את קטע הקוד המתאים : mov al , x ; al <— x cmp al , y ; x-y ? אם x > = y קפוץ להוראה אליה צמודה ההתווית jae end if ; end if החלף 81 עם end if : mov x , al ; x <— al xchg al , y ; y שאלה 5 . 16 כתבו קטע תכנית הבודקת אם ערכו של AX קטן מ100- ואס כן מכפילה את ערכו . לדוגמה אס , AX = 67 ערכו יוכפל ובסיום ערכו של AX הוא . 134
|
|