|
עמוד:125
התכנית : MOV DX , 379 h קלט של מספר INPUT : IN AL , DX ; מיסוך כדי לזהות את סיבית האישור שנקלט באוגר TEST AL , 40 h ; הקלט לא אושר , ולכן נחזור ונקלוט מספר JNZ INPUT ; מיסוך לקבלת 2 הסיביות שיש לחבר AND AL , 00110000 b ; שמירת המספר שנקלט באוגר MOV AH , AL ; AH חישוב ערכו של המספר העוקב למספר שנקלט INC AH ; חיבור הערך של המספר והערך של המספר העוקב ל ADD AL , AH ; הצגת תוצאת החישוב MOV DX 378 h ; AL OUT DX , AL בדוגמה שהצגנו התייחסנו רק לשתי הסיביות של הנתון והתעלמנו ממיקומן בבית . למעשה ערך הנתון 00110000 b = 30 h ואילו ערך הסיביות . 11 b = 3 h בהמשך נלמד כיצד לשנות על-ידי סיבוב סיביות את הערך 30 h ל . 3 h- לסיום סעיף זה שנושאו הוראות החשבוניות , נציג את הוראת העזר המשמשת לחיבור מספרים בקוד . BCD כזכור , כאשר מייצגים מספר עשרוני באמצעות קוד , BCD משתמשים בארבע סיביות עבור כל ספרה עשרונית . ארבע סיביות אלה מכילות את שווה הערך הבינרי של הספרה העשרונית . לפיכך , הצירופים החוקיים בBCD- הם רק עשרת הצירופים שבין , 1001 – 0000 כלומר , אלה המבטאים את הספרות העשרוניות , 9 – 0 בהתאמה . במקרים רבים , פעולות חיבור וחיסור בינריות על מספרים המיוצגים באמצעות קוד BCD נותנות תוצאות המבוטאות באופן אוטומטי בקוד . BCD אך לא תמיד אלה הם פני הדברים . נתבונן למשל בחיבור העשרוני שלהלן : + 7 16 23 אם נבטא את שני המספרים שחיברנו באמצעות BCD ונבצע ביניהם חיבור בינרי רגיל , נקבל את התוצאה : 0000 0111 = 7 h + 0001 0110 = 16 h 0001 1101 1 Dh
|
|