Ghidra 11.3.2
Ghidra internal decompiler documentation.
|
Multi-precision integers. More...
#include "error.hh"
Functions | |
void | ghidra::leftshift128 (uint8 *in, uint8 *out, int4 sa) |
128-bit INT_LEFT operation with constant shift amount | |
bool | ghidra::uless128 (uint8 *in1, uint8 *in2) |
128-bit INT_LESS operation | |
bool | ghidra::ulessequal128 (uint8 *in1, uint8 *in2) |
128-bit INT_LESSEQUAL operation | |
void | ghidra::udiv128 (uint8 *numer, uint8 *denom, uint8 *quotient_res, uint8 *remainder_res) |
128-bit INT_DIV | |
void | ghidra::add128 (uint8 *in1, uint8 *in2, uint8 *out) |
128-bit INT_ADD operation | |
void | ghidra::subtract128 (uint8 *in1, uint8 *in2, uint8 *out) |
128-bit INT_SUB operation | |
void | ghidra::set_u128 (uint8 *res, uint8 val) |
Set a 128-bit value (2 64-bit words) from a 64-bit value. | |
Multi-precision integers.
void ghidra::add128 | ( | uint8 * | in1, |
uint8 * | in2, | ||
uint8 * | out | ||
) |
128-bit INT_ADD operation
in1 | is the first 128-bit value (as 2 64-bit words) to add |
in2 | is the second 128-bit value to add |
out | will hold the 128-bit result |
void ghidra::leftshift128 | ( | uint8 * | in, |
uint8 * | out, | ||
int4 | sa | ||
) |
128-bit INT_LEFT operation with constant shift amount
in | is the 128-bit input (as 2 64-bit words) |
out | will hold the 128-bit result |
sa | is the number of bits to shift |
|
inline |
Set a 128-bit value (2 64-bit words) from a 64-bit value.
res | will hold the 128-bit value |
val | is the 64-bit value to set from |
References ghidra::set_u128().
Referenced by ghidra::RuleDivTermAdd::applyOp(), ghidra::RuleDivTermAdd2::applyOp(), ghidra::RuleDivOpt::calcDivisor(), and ghidra::set_u128().
void ghidra::subtract128 | ( | uint8 * | in1, |
uint8 * | in2, | ||
uint8 * | out | ||
) |
128-bit INT_SUB operation
in1 | is the first 128-bit value (as 2 64-bit words) |
in2 | is the second 128-bit value to subtract |
out | will hold the 128-bit result |
void ghidra::udiv128 | ( | uint8 * | numer, |
uint8 * | denom, | ||
uint8 * | quotient_res, | ||
uint8 * | remainder_res | ||
) |
128-bit INT_DIV
numer | holds the 2 64-bit words of the numerator |
denom | holds the 2 words of the denominator |
quotient_res | will hold the 2 words of the quotient |
remainder_res | will hold the 2 words of the remainder |
bool ghidra::uless128 | ( | uint8 * | in1, |
uint8 * | in2 | ||
) |
128-bit INT_LESS operation
in1 | is the first 128-bit value (as 2 64-bit words) to compare |
in2 | is the second 128-bit value |
bool ghidra::ulessequal128 | ( | uint8 * | in1, |
uint8 * | in2 | ||
) |
128-bit INT_LESSEQUAL operation
in1 | is the first 128-bit value (as 2 64-bit words) to compare |
in2 | is the second 128-bit value |