ויכוח קטן בשפת סף

  • פותח הנושא netc
  • פורסם בתאריך

netc

New member
ויכוח קטן בשפת סף

היום היה לי מבחן, והופיעה השאלה הבאה:
mov al,8 sub al,5​
איזה דגל ידלק? 1. דגל האפס 2. דגל הסימן 3. דגל הנשא 4. שום דגל אני הייתי היחידי שכתבתי דגל הנשא, בעוד כל השאר (כולל המורה) טענו ששום דגל לא ידלק. זאת הייתה התשובה שלי: 8 בבינרי, משלים 2 זה : 00001000 5 בבינרי זה 101, כלומר 5- בשיטת משלים 2 זה 11111011 עכשו נחבר את 8 ל- 5-: 00001000 11111011 ________ 111110011 יש 9 סיביות, ולכן יש גלישה, ולכן דגל הנשא ידלק... מי צודק?!
 

netc

New member
בעעע טעות קטנה

בתשובה שם במקום 0 רשמתי 1, ורק הספרה התשיעית היא 1 בכל מקרה זה נשאר 9 סיביות.
 

voguemaster

New member
אני אגיד לך למה

כי בעזרת השיטה של משלים ל-2 אפשר לבצע גם חיבור וגם חיסור של מספרים שהם UNSIGNED וגם SIGNED על אותה חומרה ללא בעיות.
 

InfectedM

New member
הבנתי אותך, בכל אופן שומדבר לא נדלק

 

voguemaster

New member
נראה לי שקצת התבלבלת

קודם כל, אם תבצע פעולת חיסור פרופר ללא שימוש במשלים ל-2 תראה שאין שום סיבה ל-CARRY. שנית, יכול להיות שלא כ"כ הבנת את משמעות ה-CARRY. ה-CARRY נועד לפתור בעיות חיבור/חיסור כאשר יש גלישה שלא מאפשרת את ביצוע פעולת החיבור/חיסור. במקרה של חיבור עם משלים ל-2 אין גלישה. כשאתה מחבר 5- ל-8 אתה לא גולש בשום צורה שהיא ולכן החומרה "זורקת" את הערך של ה-CARRY כדי לתקן את התוצאה. ואגב, יש לך טעות חישוב. 5- ועוד 8 זה : 100000011.
 
למעלה