|
Ghidra 11.4.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 |