.TH idiv 3 "December 27, 2024" "libmpu" "LibMPU Programmer's Manual"
.SH NAME
\fBidiv\fP \- unsigned division of integers
.SH SYNOPSIS
.nf
.B #include <libmpu.h>
.PP
.BI "void idiv( mpu_int *" quot ", mpu_int *" rem ", mpu_int *" num ", mpu_int *" den ", int " nb " );
.fi
.SH DESCRIPTION
The \fBidiv()\fP function performs the unsigned division of the variable located at \fBnum\fP
by the variable located at \fBden\fP. The result is placed at \fBquot\fP. The remainder of the
division is placed at \fBrem\fP. The memory contents at addresses \fBnum\fP, \fBden\fP are not
changed, the previous memory contents at addresses \fBquot\fP, \fBrem\fP are lost.
The \fBnb\fP parameter determines the size of the operands (in bytes) located at the addresses
\fBquot\fP, \fBrem\fP, \fBnum\fP, \fBden\fP.
.PP
The function affects the flags \fBA\fP, \fBC\fP, \fBO\fP, \fBP\fP, \fBS\fP, \fBZ\fP, \fBR\fP.
.PP
The \fBA\fP flag is reset to 0. The \fBP\fP flag is set only when the size of the \fBprod\fP
operand is one or two bytes (\fBnb\fP == 1 || \fBnb\fP == 2). The \fBR\fP (major || remainder)
flag is set when the remainder is obtained of the division.
.sp
.SH SEE ALSO
.BR iadd(3),
.BR isub(3),
.BR iadc(3),
.BR isbb(3),
.BR ishl(3),
.BR ishr(3),
.BR isal(3),
.BR isar(3),
.BR irol(3),
.BR iror(3),
.BR ircl(3),
.BR ircr(3),
.BR ishln(3),
.BR ishrn(3),
.BR isaln(3),
.BR isarn(3),
.BR iroln(3),
.BR irorn(3),
.BR ircln(3),
.BR ircrn(3),
.BR ineg(3),
.BR inot(3),
.BR iand(3),
.BR itest(3),
.BR icmp(3),
.BR ior(3),
.BR ixor(3),
.BR iinc(3),
.BR idec(3),
.BR ixchg(3),
.BR icpy(3),
.BR icvt(3),
.BR imul(3),
.BR ismul(3),
.BR isdiv(3),
.BR iatoi(3),
.BR iatoui(3),
.BR iitoa(3),
.BR iuitoa(3).