DIVU

DIVU

Operation:
Destination / Source -->; Destination

Assembler Syntax:
DIVU.W <ea>, Dn 32/16 -->; 16r:16q
DIVU.L <ea>, Dq 32/32 -->; 32q
DIVU.L <ea>, Dr:Dq 64/32 -->; 32r:32q

Attributes: Size = (Word, Long)

Description: Divides the unsigned destination operand by
the unsigned source operand and stores the unsigned
result in the destination. The instruction uses one of
three forms. The word form of the instruction divides
a long word by a word. The result is a quotient in the
lower word (least significant 16 bits) and the remainder
is in the upper word (most significant 16 bits) of the
result.

The first long form divides a long word by a long word.
The result is a long quotient; the remainder is discarded.

The second long form divides a quad word (in any two data
registers) by a long word. The result is a long-word
quotient and a long-word remainder.

Two special condition may arise during the operation:
1. Division by zero causes a trap.
2. Overflow may be detected and set before the inst-
ruction completes. If the instruction detects
an overflow, it sets the overflow condition
code and the operands are unaffected.

Condition Codes:

X Not affected.
N Set if the quotient is negative. Cleared otherwise.
Undefined if overflow or divide by zero occurs.
Z Set if the quotient is zero. Cleared otherwise.
Undefined if overflow or divide by zero occurs.
V Set if the division overflow occurs; undefined if
divide by zero occurs. Cleared otherwise.
C Always cleared.