Does DIVU division by zero trap?
No. The specification defines an all-ones quotient; the instruction itself does not raise an integer divide-by-zero exception.
Unsigned division: rs1 / rs2, quotient stored in rd
DIVU performs unsigned integer division of rs1 by rs2. On division by zero, the quotient has all bits set (2^XLEN-1, the largest unsigned number). Unsigned division cannot overflow.
Starts with machine-code field decoding, then shows operand reads, instruction-specific execution, and ISA-visible state update.
This selector chooses only specification-defined division-result branches; it is not an exception, trap, or performance model.
The machine code is split by the current instruction format; the animation starts from encoding/decode.
This animation shows ISA-visible decode and state changes, not any specific CPU pipeline, cache, prediction, or timing implementation.
DIVU uses an M-extension R-type encoding to divide rs1 by rs2 as XLEN-bit unsigned integers. A zero divisor produces an all-ones quotient; this is not an exception path, and unsigned division has no overflow special case.
Understand this scenario with real code like «divu a0, a1, a2 # a0 = unsigned(a1 / a2)».
Understand this scenario with real code like «divu a0, a1, a2 # a0 = unsigned(a1 / a2)».
No. The specification defines an all-ones quotient; the instruction itself does not raise an integer divide-by-zero exception.