|
עמוד:128
דוגמה לבעיה ציינו באילו מן המקרים שלהלן תשנה ההוראה DAA את תוכן האוגר ; AL ציינו גם באילו מהם תקבלו תוצאה תקינה בקוד . BCD א . DAA ADD AL , BL MOV BL , 05 h MOV AL , 02 h ב . DAA ADD AL , BL MOV BL , 09 h MOV AL , 03 h ג . DAA ADD AL , BL MOV BL , 0 Ah MOV AL , 0 Ah פתרון א . התוצאה של ההוראה ADD היא : . 0000 0111 = 7 תוצאה זו אינה גורמת למעבר 2 10 של נשא מסיבית 3 לסיבית , 4 והיא גם קטנה מ . 9- ההוראה DAA מיותרת במקרה הזה , שכן התוצאה ממילא מבוטאת בקוד . BCD ב . תוצאת החיבור היא : . 0000 1100 = 0 Ch = 12 ערכן של ארבע הסיביות התחתונות 2 10 של AL גדול מ , 9- ולכן ההוראה DAA תוסיף 6 לתוכנו של ( AL = 12 ) AL ותתאים 10 בכך את התוצאה לקוד . BCD ג . תוצאת החיבור היא : . 0001 0100 = 14 h = 20 תוצאה זו העבירה נשא מסיבית 3 2 10 לסיבית , 4 ולכן ההוראה DAA תוסיף 6 לתוכנו של , AL ויתקבל : . AL = 1 Ah שימו לב , זוהי תוצאה שגויה – היא אינה מבטאת את תוצאת החיבור בקוד . BCD הדבר נובע מכך שהאופרנדים AL וBL- שבהוראה ADD לא היו נתונים בקוד . BCD
|
|