beautypg.com

Intel 253666-024US User Manual

Page 311

background image

Vol. 2A 3-265

INSTRUCTION SET REFERENCE, A-M

DIV—Unsigned Divide

Operation

IF SRC

=

0

THEN #DE; FI; (* Divide Error *)

IF OperandSize = 8 (* Word/Byte Operation *)

THEN

temp ← AX / SRC;

IF temp > FFH

THEN #DE; (* Divide error *)
ELSE

AL ← temp;

AH ← AX MOD SRC;

FI;

ELSE IF OperandSize

=

16 (* Doubleword/word operation *)

THEN

temp ← DX:AX / SRC;

IF temp > FFFFH

THEN #DE; (* Divide error *)

ELSE

AX ← temp;

DX ← DX:AX MOD SRC;

FI;

FI;

ELSE IF Operandsize = 32 (* Quadword/doubleword operation *)

THEN

temp ← EDX:EAX / SRC;

IF temp > FFFFFFFFH

THEN #DE; (* Divide error *)

ELSE

EAX ← temp;

EDX ← EDX:EAX MOD SRC;

FI;

FI;

Table 3-20. DIV Action

Operand Size

Dividend

Divisor

Quotient

Remainder

Maximum

Quotient

Word/byte

AX

r/m8

AL

AH

255

Doubleword/word

DX:AX

r/m16

AX

DX

65,535

Quadword/doubleword

EDX:EAX

r/m32

EAX

EDX

2

32

− 1

Doublequadword/
quadword

RDX:RAX

r/m64

RAX

RDX

2

64

− 1