public final enum

O

extends Enum<E extends Enum<E>>
java.lang.Object
   ↳ java.lang.Enum<E extends java.lang.Enum<E>>
     ↳ com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.O

Class Overview

Operator for IR template.

Summary

Enum Values
O  ADD   
O  AND   
O  CARRY   
O  COMPOSE_2  pseudo-operation (convenience): represents an IECompose of two parts (low bits, high-bits)  
O  COMPOSE_2EQ  pseudo-operation (convenience): represents an IECompose of two equal-length parts  
O  COND  pseudo-operation: represents an IECond (operands: predicate, trueExp, falseExp)  
O  DIV  pseudo-arithmetic wildcard operation for DIV_U and DIV_S  
O  DIV_S   
O  DIV_U   
O  EQ   
O  EXT  Sign-extend  
O  EXT128  Sign-extend to 128 bits  
O  EXT16  Sign-extend to 16 bits  
O  EXT32  Sign-extend to 32 bits  
O  EXT64  Sign-extend to 64 bits  
O  EXT8  Sign-extend to 8 bits  
O  GE_S   
O  GE_U   
O  GT_S   
O  GT_U   
O  LAND   
O  LE_S   
O  LE_U   
O  LNOT   
O  LOR   
O  LT_S   
O  LT_U   
O  MUL   
O  NCADD  wildcard for no-carry add, will match ADD, XOR, OR  
O  NCSUB  wildcard for no-carry sub, will match SUB, XOR  
O  NE   
O  NEG  pseudo-operator: negate the operand (NEG(X) is equivalent to SUB(0, X))
usage in reserved for multiplicative or additive sequences
O  NOT   
O  OR   
O  PARITY   
O  POW   
O  REM  pseudo-arithmetic wildcard operation for REM_U and REM_S  
O  REM_S   
O  REM_U   
O  SAR   
O  SHL   
O  SHR   
O  SLICE  pseudo-operation: represents an IESlice (operands: exp, beginSlice, endSlice)  
O  SLICE_FIRST32  pseudo-operation (convenience): represents an IESlice of the first 32 bits  
O  SLICE_FIRSTBIT  pseudo-operation (convenience): represents an IESlice of the first bit, at position 0 (LSB)  
O  SLICE_HALF1  pseudo-operation (convenience): represents an IESlice of the first half of the expression  
O  SLICE_HALF2  pseudo-operation (convenience): represents an IESlice of the second half of the expression  
O  SLICE_HALFBIT  pseudo-operation (convenience): represents an IESlice of the half bit, at position N/2-1 (HSB) (e.g. 
O  SLICE_LASTBIT  pseudo-operation (convenience): represents an IESlice of the last bit, at position N-1 (MSB)  
O  SUB   
O  TRN  Truncate or zero-extend  
O  TRN128  Truncate or zero-extend to 128 bits  
O  TRN16  Truncate or zero-extend to 16 bits  
O  TRN32  Truncate or zero-extend to 32 bits  
O  TRN64  Truncate or zero-extend to 64 bits  
O  TRN8  Truncate or zero-extend to 8 bits  
O  XOR   
Public Methods
OperationType getOperationType()
int getResultingBitsize()
boolean isAssociative()
boolean isCommutative()
boolean isNormal()
static O valueOf(String name)
final static O[] values()
[Expand]
Inherited Methods
From class java.lang.Enum
From class java.lang.Object
From interface java.lang.Comparable

Enum Values

public static final O ADD

public static final O AND

public static final O CARRY

public static final O COMPOSE_2

pseudo-operation (convenience): represents an IECompose of two parts (low bits, high-bits)

public static final O COMPOSE_2EQ

pseudo-operation (convenience): represents an IECompose of two equal-length parts

public static final O COND

pseudo-operation: represents an IECond (operands: predicate, trueExp, falseExp)

public static final O DIV

pseudo-arithmetic wildcard operation for DIV_U and DIV_S

public static final O DIV_S

public static final O DIV_U

public static final O EQ

public static final O EXT

Sign-extend

public static final O EXT128

Sign-extend to 128 bits

public static final O EXT16

Sign-extend to 16 bits

public static final O EXT32

Sign-extend to 32 bits

public static final O EXT64

Sign-extend to 64 bits

public static final O EXT8

Sign-extend to 8 bits

public static final O GE_S

public static final O GE_U

public static final O GT_S

public static final O GT_U

public static final O LAND

public static final O LE_S

public static final O LE_U

public static final O LNOT

public static final O LOR

public static final O LT_S

public static final O LT_U

public static final O MUL

public static final O NCADD

wildcard for no-carry add, will match ADD, XOR, OR

public static final O NCSUB

wildcard for no-carry sub, will match SUB, XOR

public static final O NE

public static final O NEG

pseudo-operator: negate the operand (NEG(X) is equivalent to SUB(0, X))
usage in reserved for multiplicative or additive sequences.

public static final O NOT

public static final O OR

public static final O PARITY

public static final O POW

public static final O REM

pseudo-arithmetic wildcard operation for REM_U and REM_S

public static final O REM_S

public static final O REM_U

public static final O SAR

public static final O SHL

public static final O SHR

public static final O SLICE

pseudo-operation: represents an IESlice (operands: exp, beginSlice, endSlice)

public static final O SLICE_FIRST32

pseudo-operation (convenience): represents an IESlice of the first 32 bits

public static final O SLICE_FIRSTBIT

pseudo-operation (convenience): represents an IESlice of the first bit, at position 0 (LSB)

public static final O SLICE_HALF1

pseudo-operation (convenience): represents an IESlice of the first half of the expression

public static final O SLICE_HALF2

pseudo-operation (convenience): represents an IESlice of the second half of the expression

public static final O SLICE_HALFBIT

pseudo-operation (convenience): represents an IESlice of the half bit, at position N/2-1 (HSB) (e.g. bit #31 of a 64-bit value)

public static final O SLICE_LASTBIT

pseudo-operation (convenience): represents an IESlice of the last bit, at position N-1 (MSB)

public static final O SUB

public static final O TRN

Truncate or zero-extend

public static final O TRN128

Truncate or zero-extend to 128 bits

public static final O TRN16

Truncate or zero-extend to 16 bits

public static final O TRN32

Truncate or zero-extend to 32 bits

public static final O TRN64

Truncate or zero-extend to 64 bits

public static final O TRN8

Truncate or zero-extend to 8 bits

public static final O XOR

Public Methods

public OperationType getOperationType ()

public int getResultingBitsize ()

Returns
  • 0 if unknown (common case); else, the expected resulting bitsize of the operation

public boolean isAssociative ()

public boolean isCommutative ()

public boolean isNormal ()

public static O valueOf (String name)

public static final O[] values ()