אסמבלי x86/פקודות/פקודות כפל וחילוק

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
קפיצה לניווט קפיצה לחיפוש
Icono copyedit2.png יש לשכתב דף זה
ייתכנו לכך מספר סיבות: ייתכן שהמידע המצוי בדף זה מכיל טעויות, או שהניסוח וצורת הכתיבה שלו אינם מתאימים לוויקיספר. אתם מוזמנים לסייע ולתקן את הבעיות בדף זה, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה שלו.



אסמבלי x86











פקודת MUL

מבצע הכפלה של אופרנד בגודל בית ב AL כשהתוצאה נכנסת לתוך AX.
או הכפלה של אופרנד בגודל מילה ב AX כשהתוצאה נכנסת לתוך שילוב האוגרים (DX AX)
בפקודה זו לא מתייחסים לביט הסימן.
פרמטרים: אוגר; זכרון
תחביר: MUL Operand
לדוגמה: כאשר AL=5 ,BL=3:
MUL BL; AX = 15
אלגוריתם: כשאופרנד היעד מסוג בית: AX = AL * Operand
כשאופרנד היעד מסוג מילה: XD AX) = AX * Operand)
הדגלים המשתנים: Carry, Overflow


פקודת DIV

מבצע חילוק של AX באופרנד בגודל בית כשהתוצאה נכנסת לתוך AL והשארית לתוך AH.
או חילוק של (XD AX) באופרנד בגודל מילה כשהתוצאה נכנסת לתוך AX והשארית לתוך DX.
בפקודה זו לא מתייחסים לביט הסימן.
פרמטרים: אוגר; זכרון
תחביר: DIV Operand
לדוגמה: כאשר AX=15,BL=6:
DIV BL; AH=3,AL=2
אלגוריתם: כשאופרנד היעד מסוג בית: AL = AX / operand
כשאופרנד היעד מסוג מילה: AX = (XD AX) / operand
הדגלים המשתנים: Carry, Overflow


פקודת IMUL

מבצע את אותה הפעולה של MUL. אלא שכאן מתייחסים לביט הסימן. כלומר מדובר במספרים מסומנים.
פרמטרים: אוגר; זכרון
תחביר: MUL Operand
לדוגמה: כאשר AL=5 ,BL=3:
MUL BL; AX = 15
אלגוריתם: כשאופרנד היעד מסוג בית: AX = AL * Operand
כשאופרנד היעד מסוג מילה: DX AX) = AX * Operand)
הדגלים המשתנים: Carry, Overflow


פקודת IDIV

מבצע את אותה הפעולה של DIV. אלא שכאן מתייחסים לביט הסימן. כלומר מדובר במספרים מסומנים כאשר יש מספר מסומן נבצע את שיטת המשלים ל-2. לאחר מכן נבצע את החילוק עם המספר שקיבלנו.
פרמטרים: אוגר; זכרון
תחביר: DIV Operand
לדוגמה: כאשר AX=15,BL=6:
DIV BL; AH=3,AL=2
אלגוריתם: כשאופרנד היעד מסוג בית: AL = AX / operand
כשאופרנד היעד מסוג מילה: AX = (DX AX) / operand
הדגלים המשתנים: Carry, Overflow