public interface

IResolvedOperandValue

com.pnfsoftware.jeb.core.units.code.asm.simulator.IResolvedOperandValue
Known Indirect Subclasses

Class Overview

Definition of a resolved operand. TEMPORARY INTERFACE.

Summary

Public Methods
abstract byte[] getBytes()
Get the processor-order bytes of the resolved (aka, "actual" or "computed") operand value.
abstract List<IResolvedOperandElementValue> getElements()
Get the composite elements of the operands.

Public Methods

public abstract 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 abstract List<IResolvedOperandElementValue> getElements ()

Get the composite elements of the operands.

Returns
  • a list of elements, possibly empty