div is a division instruction, should be used with caution div dividing,
1) the divisor: 8-bit and 16-bit, or in memory reg
2) the dividend: Default in dividend: AX or AX on default and DX, if the divisor is 8, a 16-bit dividend, the default on the AX, if the divisor is a 16-bit, 32-bit dividend is then placed in the DX and AX, AX lower 16-bit, 16-bit high discharge DX
3) results: If the divisor 8-bit, the result put the AL business, AH put the remainder, if the divisor is 16, AX put business, DX put the remainder
div byte ptr [bx + si + 8]
Meaning: (al) = (ax) / ((ds) * 16 + (bx) + (si) +8) quotient
(al) = (ax) / ((ds ) * 16 + (bx) + (si) +8) remainder
div word ptr [bx + si + 8]
Meaning: (ax) = (ax) / ((ds) * 16 + (bx) + (si) +8) quotient
(dx) = (ax) / ((ds ) * 16 + (bx) + (si) +8) remainder