עבור לתוכן

שגיאה באסמבלי 8086-חלוקה שמשתבשת

Featured Replies

פורסם

אני נותן את הקוד הזה

mov ax,si

mov cx,8

div cx

SI-מכיל 4 במקרה זה

אני עובד עם האמולטור EMU8086,למי שמכיר-זה נותן לי אופציה להריץ את הקוד בתוך האמולטור,שלב שלב,ככה שאני יכול לדבג בנוחות

אחרי הפקודה DIV CX אני אמור לקבל:

AX=0

DX=4

מה שאני בפועל מקבל

AX= 4000H

DX=4

H מסמן מספר בהקסה

אני לא מבין מה גורם לדבר המוזר הזה,זה ממש לא הגיוני

דוגמא נוספת-אני מריץ את הקוד כאשר SI מכיל 6

ואני מקבל AX=8000H

DX=6

למישהו יש רעיון על משהו שיכול להשפיע על החלוקה,או לגרום לכזה מצב?

נ.ב

ניסיתי גם IDIV

פורסם

כי DIV CX מחלק את DX:AX ב CX. תמחוק את הערך שיש ב DX או שתחלק ב CL בלבד.

פורסם
  • מחבר

מה זאת אומרת DX:AX?

ניקח לדוגמא AX=0004

DX=0003

אז המשמעות של DX:AX היא?

פורסם

00030004

פורסם
  • מחבר

סבבה

גם הבנתי

וגם עובד :P

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים