Math Processor Unit Library

libmpu – library of arithmetic functions for integer, real, and complex numbers of increased digit capacity

16 Commits   0 Branches   2 Tags
.TH ismul 3  "December 27, 2024" "libmpu" "LibMPU Programmer's Manual"
.SH NAME
\fBismul\fP \- signed multiplication of integers
.SH SYNOPSIS
.nf
.B #include <libmpu.h>
.PP
.BI "void ismul( mpu_int *" prod ", mpu_int *" num ", mpu_int *" mul ", int " nb_prod ", int " nb_num " );
.fi
.SH DESCRIPTION
The function \fBismul()\fP performs the multiplication operation of the variable located
at the address \fBnum\fP by the variable located at the address \fBmul\fP, taking into account
the sign of the variables. The result is placed at \fBprod\fP. The contents of the memory at
\fBnum\fP, \fBmul\fP are not changed, the previous memory contents at \fBprod\fP are lost.
The parameter \fBnb_prod\fP determines the size of the operand (in bytes) located at the
address \fBprod\fP, and the parameter \fBnb_num\fP defines the size of operands (in bytes)
located at the addresses \fBnum\fP, \fBmul\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). Flag \fBR\fP (major || remainder)
is set in the case that the resulting product requires a larger size than the \fBnb_prod\fP
parameter.
.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 idiv(3),
.BR isdiv(3),
.BR iatoi(3),
.BR iatoui(3),
.BR iitoa(3),
.BR iuitoa(3).