public abstract class

AbstractImmediateOperandBuilder

extends AbstractOperandBuilder<T extends IInstructionOperand>
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.asm.processor.AbstractOperandBuilder<T extends com.pnfsoftware.jeb.core.units.code.IInstructionOperand>
     ↳ com.pnfsoftware.jeb.core.units.code.asm.processor.AbstractImmediateOperandBuilder<T extends com.pnfsoftware.jeb.core.units.code.IInstructionOperand>
Known Direct Subclasses

Class Overview

An operand builder for immediates with default values which can be zero-extended or sign-extended. Only int and long implementations are supported for now.

Summary

Nested Classes
enum AbstractImmediateOperandBuilder.ImmediateType Extension mode and size for integer immediates. 
Constants
int ABS_ADDRESS
int PC_SHIFT_4
int POST_ADD1 Allow an additional 1 added to retrieved value
int REL_ADDRESS
[Expand]
Inherited Constants
From class com.pnfsoftware.jeb.core.units.code.asm.processor.AbstractOperandBuilder
[Expand]
Inherited Fields
From class com.pnfsoftware.jeb.core.units.code.asm.processor.AbstractOperandBuilder
Protected Constructors
AbstractImmediateOperandBuilder(AbstractImmediateOperandBuilder.ImmediateType type, int flags, int defaultValue, IEncodedMemoryArea memoryArea)
AbstractImmediateOperandBuilder(AbstractImmediateOperandBuilder.ImmediateType type, int flags, int defaultValue, int defaultValueMask, IEncodedMemoryArea memoryArea)
Public Methods
T buildOperand(byte[] code, int mode)
int getPostAdd()
boolean isSigned()
void postAdd(int postAdd)
Protected Methods
abstract T buildImmediate(int mode, long value)
int getSize()
long getValue(byte[] code, int mode)
@return
[Expand]
Inherited Methods
From class com.pnfsoftware.jeb.core.units.code.asm.processor.AbstractOperandBuilder
From class java.lang.Object
From interface com.pnfsoftware.jeb.core.units.code.asm.processor.IOperandBuilder

Constants

public static final int ABS_ADDRESS

Constant Value: 4194304 (0x00400000)

public static final int PC_SHIFT_4

Constant Value: 8388608 (0x00800000)

public static final int POST_ADD1

Allow an additional 1 added to retrieved value

Constant Value: 1048576 (0x00100000)

public static final int REL_ADDRESS

Constant Value: 2097152 (0x00200000)

Protected Constructors

protected AbstractImmediateOperandBuilder (AbstractImmediateOperandBuilder.ImmediateType type, int flags, int defaultValue, IEncodedMemoryArea memoryArea)

protected AbstractImmediateOperandBuilder (AbstractImmediateOperandBuilder.ImmediateType type, int flags, int defaultValue, int defaultValueMask, IEncodedMemoryArea memoryArea)

Public Methods

public T buildOperand (byte[] code, int mode)

public int getPostAdd ()

public boolean isSigned ()

public void postAdd (int postAdd)

Protected Methods

protected abstract T buildImmediate (int mode, long value)

protected int getSize ()

protected long getValue (byte[] code, int mode)

@return

Throws
ProcessorException Illegal value