java.lang.Object | ||
↳ | java.lang.Enum<E extends java.lang.Enum<E>> | |
↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.OperationType |
Operation
types.
Enum Values | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
OperationType | ADD | integer addition, signed or unsigned | |||||||||
OperationType | AND | binary-AND (careful not to confuse with LOG_AND |
|||||||||
OperationType | CARRY | resulting carry from the addition of two operands | |||||||||
OperationType | CAST | ||||||||||
OperationType | CAST_S | ||||||||||
OperationType | DIV2_S | [NO NOT USE FOR NOW] signed integer division: input=(2N, N), output=(N, N) | |||||||||
OperationType | DIV2_U | [NO NOT USE FOR NOW] unsigned integer division: input=(2N, N), output=(N, N) | |||||||||
OperationType | DIV_S | signed integer division, simple: input=(N, N), output=N (remainder discarded) | |||||||||
OperationType | DIV_U | unsigned integer division, simple: input=(N, N), output=N (remainder discarded) | |||||||||
OperationType | DP2EDP | ||||||||||
OperationType | GE_S | signed greater or equal | |||||||||
OperationType | GE_U | unsigned greater or equal | |||||||||
OperationType | GT_S | signed greater (strict) | |||||||||
OperationType | GT_U | unsigned greater (strict) | |||||||||
OperationType | INT2EDP | ||||||||||
OperationType | LE_S | signed less or equal | |||||||||
OperationType | LE_U | unsigned less or equal | |||||||||
OperationType | LOG_AND | logical-AND (careful not to confuse with binary-AND |
|||||||||
OperationType | LOG_EQ | logical equality | |||||||||
OperationType | LOG_NEQ | logical inequality | |||||||||
OperationType | LOG_NOT | logical-NOT (careful not to confuse with binary-NOT . |
|||||||||
OperationType | LOG_OR | logical-OR (careful not to confuse with binary-OR |
|||||||||
OperationType | LONG2EDP | ||||||||||
OperationType | LT_S | signed less (strict) | |||||||||
OperationType | LT_U | unsigned less (strict) | |||||||||
OperationType | MUL2_S | [NO NOT USE FOR NOW] signed integer multiplication: input=(N, N), output=2N | |||||||||
OperationType | MUL2_U | [NO NOT USE FOR NOW] unsigned integer multiplication: input=(N, N), output=2N | |||||||||
OperationType | MUL_S | signed integer multiplication, truncated: input=(N, N), output=N | |||||||||
OperationType | MUL_U | unsigned integer multiplication, truncated: input=(N, N), output=N (same as MUL_S since the output is truncated) |
|||||||||
OperationType | NOT | binary-NOT (careful not to confuse with LOG_NOT . |
|||||||||
OperationType | OR | binary-OR (careful not to confuse with LOG_OR |
|||||||||
OperationType | PAR | Standard parity operator: single operand, single-bit result; result is 1 if number of bits (in operand) set to 1 is even. | |||||||||
OperationType | POW | ||||||||||
OperationType | REM_S | signed integer modulo, simple: input=(N, N), output=N (quotient discarded) | |||||||||
OperationType | REM_U | unsigned integer modulo, simple: input=(N, N), output=N (quotient discarded) | |||||||||
OperationType | ROL | Rotate left, always unsigned | |||||||||
OperationType | ROR | Rotate right, always unsigned | |||||||||
OperationType | SAR | shift right with count modulo bitsize, signed (arithmetic) | |||||||||
OperationType | SHL | shift left with count modulo bitsize, always unsigned | |||||||||
OperationType | SHR | shift right with count modulo bitsize, unsigned. | |||||||||
OperationType | SP2EDP | ||||||||||
OperationType | SUB | integer subtraction, signed or unsigned | |||||||||
OperationType | XOR | binary-XOR |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | getMaxParameters() | ||||||||||
int | getMinParameters() | ||||||||||
boolean | isValid(int nbParameters) | ||||||||||
String | toString() | ||||||||||
static OperationType | valueOf(String name) | ||||||||||
final static OperationType[] | values() |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
[NO NOT USE FOR NOW] signed integer division: input=(2N, N), output=(N, N)
[NO NOT USE FOR NOW] unsigned integer division: input=(2N, N), output=(N, N)
signed integer division, simple: input=(N, N), output=N (remainder discarded)
unsigned integer division, simple: input=(N, N), output=N (remainder discarded)
logical-NOT (careful not to confuse with binary-NOT
. In practice in C, same as binary-NOT.
[NO NOT USE FOR NOW] signed integer multiplication: input=(N, N), output=2N
[NO NOT USE FOR NOW] unsigned integer multiplication: input=(N, N), output=2N
signed integer multiplication, truncated: input=(N, N), output=N
unsigned integer multiplication, truncated: input=(N, N), output=N (same as MUL_S
since the output is truncated)
Standard parity operator: single operand, single-bit result; result is 1 if number of bits (in operand) set to 1 is even.
Cannot be translated to a simple operator, for convenience only. It will need ad-hoc translators in C.
signed integer modulo, simple: input=(N, N), output=N (quotient discarded)
unsigned integer modulo, simple: input=(N, N), output=N (quotient discarded)
shift right with count modulo bitsize, unsigned. Note: in C, also represented '>>'; unsigned or signed shift depends on the type of the variable to be shifted.