<<< DIV Instruction     Index     Signed Integer Division >>>

9. DIV Examples


  1. The following fragment performs 8-bit unsigned division (83h/2), producing a quotient of 41h and a remainder of 1:

        mov ax, 83h ; dividend
        mov bl, 2   ; divisor
        div bl      ; quotient AL = 41h, remainder AH = 01h
    

     

  2. The following instructions perform 16-bit unsigned division (8003h/100h), producing a quotient of 80h and a remainder of 3.
    Note that DX contains the high part of the dividend, so it must be cleared before the DIV instruction executes:

        mov dx, 0       ; clear high part of the dividend
        mov ax, 8003h   ; set low part of the dividend
        mov cx, 100h    ; set divisor
        div cx          ; quotient AX = 0080h, remainder DX = 0003h
    

     

  3. The following fragment performs 32-bit unsigned division using a memory operand as the divisor:

        .data
        dividend QWORD 0000000800300020h
        divisor  DWORD 00000100h
        .code
        mov edx, DWORD PTR [dividend + 4] ; high doub1eword
        mov eax, DWORD PTR [dividend]     ; low doubleword
        div divisor                       ; quotient EAX = 08003000h, remainder EDX = 00000020h
    

     


<<< DIV Instruction     Index     Signed Integer Division >>>