| 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Enum
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.lang.Comparable
| |||||||||||
[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.