| java.lang.Object | ||
| ↳ | java.lang.Enum<E extends java.lang.Enum<E>> | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS.OPS | |
Operators for gendec auto-conversion semantics.
| Enum Values | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| ACS.OPS | ADD | Integer addition. | |||||||||
| ACS.OPS | AND | ||||||||||
| ACS.OPS | CUSTOM | Needs a custom (specific) handler. | |||||||||
| ACS.OPS | DIV_S | ||||||||||
| ACS.OPS | DIV_U | ||||||||||
| ACS.OPS | JUMP | Unconditional branch, for regular branching or call-to-sub branching. | |||||||||
| ACS.OPS | JUMP_IF_EQ | Conditional branch. | |||||||||
| ACS.OPS | JUMP_IF_GE_S | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | JUMP_IF_GE_U | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | JUMP_IF_GT_S | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | JUMP_IF_GT_U | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | JUMP_IF_LE_S | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | JUMP_IF_LE_U | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | JUMP_IF_LT_S | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | JUMP_IF_LT_U | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | JUMP_IF_NE | See JUMP_IF_EQ. |
|||||||||
| ACS.OPS | LOAD | Move from memory. | |||||||||
| ACS.OPS | MOVE | Generic move. | |||||||||
| ACS.OPS | MUL | ||||||||||
| ACS.OPS | NOP | No-operation. | |||||||||
| ACS.OPS | NOT | ||||||||||
| ACS.OPS | OR | ||||||||||
| ACS.OPS | REM_S | ||||||||||
| ACS.OPS | REM_U | ||||||||||
| ACS.OPS | SAR | ||||||||||
| ACS.OPS | SET_IF_EQ | Set/reset destination is 2 source operands are equals/not equals. | |||||||||
| ACS.OPS | SET_IF_GE_S | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SET_IF_GE_U | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SET_IF_GT_S | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SET_IF_GT_U | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SET_IF_LE_S | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SET_IF_LE_U | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SET_IF_LT_S | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SET_IF_LT_U | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SET_IF_NE | See SET_IF_EQ. |
|||||||||
| ACS.OPS | SHL | ||||||||||
| ACS.OPS | SHR | ||||||||||
| ACS.OPS | STORE | Move to memory. | |||||||||
| ACS.OPS | SUB | Integer subtraction. | |||||||||
| ACS.OPS | XOR | ||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| OperationType |
getDirectConversionOperationType()
Straight-up conversion to an
OperationType. | ||||||||||
| static ACS.OPS | valueOf(String name) | ||||||||||
| final static OPS[] | values() | ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Enum
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.lang.Comparable
| |||||||||||
Integer addition.
Bitsize may be specified, as well as extension mode, if parts of the operation takes
place on parts of the sources.
Needs a custom (specific) handler. Can be used for instructions requiring manual conversion.
Unconditional branch, for regular branching or call-to-sub branching.
- Required: src1: the target address.
- Optional: src2: added to the target if provided.
- Optional: dst: a link register that will receive the fall-through address, for
call-to-sub branching.
- Optional: maskOnSource: AND'ed to the calculated before assigning to PC.
Conditional branch. Needs three operands: two sources for comparison; a third source being the target address (could be a register, or an immediate address that was encoded as a PC-relative disp. for ex.)
Move from memory.
DST = xxx_EXTEND_TO_DSTSIZE(SRC1) // src1 must be a mem
or: DST = xxx_EXTEND_TO_DSTSIZE(msize[SRC1]) // bitsize must be specified
or: DST = xxx_EXTEND_TO_DSTSIZE(msize[SRC1 + SRC2]) // bitsize must be specified
Bitsize should be specified. In the general, the destination (register) is larger than
the memory access. The extension mode may be specified.
Set/reset destination is 2 source operands are equals/not equals.
- Required: src1, src2: operands for comparison.
- Required: src3: target address.
Move to memory.
DST = SRC1 (DST must be a MEMORY operand)
or: [SRC2] = SRC1
or: [SRC2 + SRC3] = SRC1
If bitsize is unspecified: bitsize(SRC1) is assumed
Extension mode is N/A
Straight-up conversion to an OperationType.