.TH imul 3 "December 27, 2024" "libmpu" "LibMPU Programmer's Manual"
.SH NAME
\fBimul\fP \- беззнаковое умножение целых чисел
.SH SYNOPSIS
.nf
.B #include <libmpu.h>
.PP
.BI "void imul( mpu_int *" prod ", mpu_int *" num ", mpu_int *" mul ", int " nb_prod ", int " nb_num " );
.fi
.SH DESCRIPTION
Функция \fBimul()\fP выполняет операцию беззнакового умножения переменной, расположенной
по адресу \fBnum\fP, на переменную, расположенную по адресу \fBmul\fP. Результат размещается
по адресу \fBprod\fP. Содержимое памяти по адресам \fBnum\fP, \fBmul\fP не изменяется, предыдущее
содержимое памяти по адресу \fBprod\fP теряется. Параметр \fBnb_prod\fP определяет размер операнда
(в байтах), расположенного по адресу \fBprod\fP, а параметр \fBnb_num\fP \- размер операндов
(в байтах), расположенных по адресам \fBnum\fP, \fBmul\fP.
.PP
Функция воздействует на флаги \fBA\fP, \fBC\fP, \fBO\fP, \fBP\fP, \fBS\fP, \fBZ\fP, \fBR\fP.
.PP
Флаг \fBA\fP сбрасывается в 0. Флаг \fBP\fP выставляется только в том случае, когда размер
операнда \fBprod\fP равен одному или двум байтам (\fBnb\fP == 1 || \fBnb\fP == 2).
Флаг \fBR\fP (major || remainder) выставляется в том случае, если полученное произведение
требует большего размера, чем предусмотрено параметром \fBnb_prod\fP.
.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 ismul(3),
.BR idiv(3),
.BR isdiv(3),
.BR iatoi(3),
.BR iatoui(3),
.BR iitoa(3),
.BR iuitoa(3).