div.htm

来自「Programmer s Reference Manual is an impr」· HTM 代码 · 共 91 行

HTM
91
字号
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>80386 Programmer's Reference Manual -- Opcode DIV</TITLE></HEAD><BODY><B>up:</B> <A HREF="c17.htm">Chapter 17 -- 80386 Instruction Set</A><BR><B>prev:</B><A HREF="DEC.htm"> DEC Decrement by 1</A><BR><B>next:</B><A HREF="ENTER.htm"> ENTER Make Stack Frame for Procedure Parameters</A><P><HR><P><H1>DIV -- Unsigned Divide</H1><PRE>Opcode    Instruction        Clocks   DescriptionF6 /6     DIV AL,r/m8        14/17    Unsigned divide AX by r/m byte                                      (AL=Quo, AH=Rem)F7 /6     DIV AX,r/m16       22/25    Unsigned divide DX:AX by r/m                                      word (AX=Quo, DX=Rem)F7 /6     DIV EAX,r/m32      38/41    Unsigned divide EDX:EAX by r/m                                      dword (EAX=Quo, EDX=Rem)</PRE><H2>Operation</H2><PRE>temp := dividend / divisor;IF temp does not fit in quotientTHEN Interrupt 0;ELSE   quotient := temp;   remainder := dividend MOD (r/m);FI;</PRE><EM><H3>Note</H3>  Divisions are unsigned. The divisor is given by the r/m operand.  The dividend, quotient, and remainder use implicit registers. Refer to  the table under "Description"</EM><H2>Description</H2>DIV performs an unsigned division. The dividend is implicit; only thedivisor is given as an operand. The remainder is always less than thedivisor. The type of the divisor determines which registers to use asfollows:<PRE>    Size    Dividend     Divisor   Quotient   Remainder    byte    AX           r/m8       AL          AH    word    DX:AX        r/m16      AX          DX    dword   EDX:EAX      r/m32      EAX         EDX</PRE><H2>Flags Affected</H2>OF, SF, ZF, AR, PF, CF are undefined.<H2>Protected Mode Exceptions</H2>Interrupt 0 if the quotient is too large to fit in the designated register(AL, AX, or EAX), or if the divisor is 0; #GP(0) for an illegal memoryoperand effective address in the CS, DS, ES, FS, or GS segments; #SS(0)for an illegal address in the SS segment; #PF(fault-code) for a page fault<H2>Real Address Mode Exceptions</H2>Interrupt 0 if the quotient is too big to fit in the designated register(AL, AX, or EAX), or if the divisor is 0; Interrupt 13 if any part of theoperand would lie outside of the effective address space from 0 to 0FFFFH<H2>Virtual 8086 Mode Exceptions</H2>Same exceptions as in Real Address Mode; #PF(fault-code) for a pagefault<P><HR><P><B>up:</B> <A HREF="c17.htm">Chapter 17 -- 80386 Instruction Set</A><BR><B>prev:</B><A HREF="DEC.htm"> DEC Decrement by 1</A><BR><B>next:</B><A HREF="ENTER.htm"> ENTER Make Stack Frame for Procedure Parameters</A></BODY>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?