.\" Copyright 2024 Andrew V.Kosteltsev (kx@radix-linux.su)
.\"
.\"
.TH iadd 3 "December 27, 2024" "libmpu" "LibMPU Programmer's Manual"
.SH NAME
\fBiadd\fP \- signed and unsigned addition
.SH SYNOPSIS
.nf
.B #include <libmpu.h>
.PP
.BI "void iadd( mpu_int *" c ", mpu_int *" a ", mpu_int *" b ", int " nb " );
.fi
.SH DESCRIPTION
The \fBiadd()\fP function performs the operation of addition of integers located at addresses \fBa\fP and
\fBb\fP, with the result placed at address \fBc\fP. The operands can be numbers with or without a sign.
The memory contents at addresses \fBa\fP, \fBb\fP are not changed, the previous memory contents at address
\fBc\fP are lost. The \fBnb\fP parameter defines the size in bytes of the operands located at addresses
\fBc\fP, \fBa\fP, \fBb\fP.
.PP
The function affects the flags \fBA\fP, \fBC\fP, \fBO\fP, \fBP\fP, \fBS\fP, \fBZ\fP, and \fBV\fP.
.PP
Flags \fBА\fP and \fBP\fP are set only when the size of operands \fBa\fP, \fBb\fP is one or
two bytes (\fBnb\fP == 1 || \fBnb\fP == 2).
.sp
.SH EXAMPLES
.nf
.sp
#include <libmpu.h>
#include <stdio.h>
int main( void )
{
int rc = 0;
__mpu_init();
__mpu_extra_warnings = 1;
{
mpu_int128_t c, a, b;
int nb = NB_I128;
__mpu_char8_t s[256];
iatoi( a, "237", nb ); /* evaluate the A variable */
iatoi( b, "37", nb ); /* evaluate the B variable */
iadd( c, a, b, nb );
iitoa( s, c, RADIX_DEC, LOWERCASE, nb ); /* convert C value to ASCII string S */
printf( "c = %s;\\n", s ); /* c = 274; */
}
__mpu_free_context();
return( rc );
}
.fi
.sp
.SH SEE ALSO
.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 idiv(3),
.BR isdiv(3),
.BR iatoi(3),
.BR iatoui(3),
.BR iitoa(3),
.BR iuitoa(3).