public class

ResolvedOperandByteValue

extends Object
implements IResolvedOperandValue
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.asm.simulator.ResolvedOperandByteValue

Class Overview

A resolved operand representing an immediate value which type is unknown.

Summary

Public Constructors
ResolvedOperandByteValue(long value, int size, ByteOrder byteOrder)
ResolvedOperandByteValue(byte[] b)
Public Methods
byte[] getBytes()
Get the processor-order bytes of the resolved (aka, "actual" or "computed") operand value.
List<IResolvedOperandElementValue> getElements()
Get the composite elements of the operands.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.pnfsoftware.jeb.core.units.code.asm.simulator.IResolvedOperandValue

Public Constructors

public ResolvedOperandByteValue (long value, int size, ByteOrder byteOrder)

public ResolvedOperandByteValue (byte[] b)

Public Methods

public byte[] getBytes ()

Get the processor-order bytes of the resolved (aka, "actual" or "computed") operand value. This method provides the true value of the operand. Example:
- If the operand is an immediate, the actual value is trivial
- If the operand is a register, the value of the register should be returned
- If the operand points to a memory address, the actual in-memory value should be returned
- If the operand is composed of sub-values (eg, composition of registers with arithmetic operations), the final actual value is returned
Constituting elements may be returned via the getElements() method.

Note about byte ordering: if the value is a 32-bit register on an little-endian ARM architecture, the returned array will contain 4 bytes encoding the register in a little-endian form.

Returns
  • the bytes array

public List<IResolvedOperandElementValue> getElements ()

Get the composite elements of the operands.

Returns
  • a list of elements, possibly empty