|
صفحة: 182
5 . 5 הוראות כפל וחילוק מבנה של הוראות כפל וחילוק בשפת אסמבלי הוא מורכב יותר מאשר חיבור וחיסור משום שבפעולות כפל וחילוק יש צורך בשני אופרנדים המשמשים כאופרנד יעד . לביצוע פעולת חילוק מוקצים שני אופרנדי יעד : אופרנד אחד מכיל את המנה והשני את השארית . באופן דומה , בפעולת כפל אופרנד היעד תמיד כפול מגודל אופרנד המקור וזאת משום שרבים הסיכויים שהתוצאה שתתקבל בביצוע כפל תהיה גדולה מגודל טיפוס אופרנד המקור . לדוגמה ? אם נכפיל מספר עשרוני בן 2 ספרות במספר עשרוני בן שתי ספרות , התוצאה יכולה להיות בת 4 ספרות . ( 99 x 99 = 9801 ) באופן דומה , בשיטה הבינארית תוצאת ההכפלה של שני מספרים מטיפוס בית , יכולה להיות בגודל מילה ( OFFxOFF = 0 FE 01 ) ולכן אופרנד היעד בו מאוחסנת התוצאה תמיד כפול בגודלו מגודל טיפוס אופרנד המקור בו מאוחסן הכופל . מהטבלה ניתן לראות כי ערכו של CX גדל בכל מחזור של הלולאה , ולכן ניתן להניח כי ביצוע הלולאה לא יסתיים . למעשה , מאחר שתחום הערכים BX-w יכול לקבל הוא מוגבל , כאשר ערכו יהיה גדול מהמספר המקסימלי האפשרי , תהיה גלישה וערכו יכול לקטון שוב . במעבד 8086 קיימות שתי הוראות לולאה נוספות , בהן סיום הלולאה אינו מותנה רק בכך שערכו של CX הוא אפס , אלא גם במצבו של דגל האפס . הוראות אלה נציג בהמשך . שאלה 5 . 21 א . הריצו את התכנית ובדקו האם ביצוע הלולאה מסתיים ואם כן כיצד . ב . כמה פעמים תתבצע הלולאה הבאה loop doloop inc bx doloop : mov bx , 0 mov ex , 0
|
|