package

com.pnfsoftware.jeb.core.units.code.asm.processor

Types used to define and represent processors' instructions, operands, and registers.

Interfaces

IInstructionOperandCMA Operands performing Complex Memory Access (CMA). 
IInstructionOperandGeneric This interface is used to represent the most common types of operands: immediate values, registers, direct addresses (absolute or relative), memory access, etc. 
IInstructionOperandList Operand that contains several operands. 
IInstructionOperandRegisterBased Operands that potentially use registers. 
IInstructionOperandSized Operands with a size. 
IOperandBuilder<T extends IInstructionOperand> Definition of a simple instruction operand factory. 
IProcessor<InsnType extends IInstruction> Definition of a simple machine code processor or microcontroller. 
IProcessorInformation Basic information about a processor (e.g. 
IRegisterBank A layout definition for a bank of registers. 
IRegisterData Processor registers data, consisting of a register bank and their concrete values. 

Classes

AbstractImmediateOperandBuilder<T extends IInstructionOperand> An operand builder for immediates with default values which can be zero-extended or sign-extended. 
AbstractInstruction<T extends IInstructionOperand> A skeleton implementation for instructions. 
AbstractInstructionManager<T extends IInstruction> A skeleton class used to create instruction managers. 
AbstractInstructionOperandGeneric Reference implementation for IInstructionOperandGeneric
AbstractInstructionOperandList Reference implementation for IInstructionOperandList
AbstractOperandBuilder<T extends IInstructionOperand> An operand builder that supports an optional value as well as a memory area. 
AbstractProcessor<InsnType extends IInstruction> An abstract implementation of a processor
BytesBlock Represent a block of bytes, with support for byte ordering within byte groups of 16- 32- or 64-bits. 
ImmediateOperandBuilder Default implementation of AbstractImmediateOperandBuilder that build 3 different types of operand: IMM, RELADDR and ADDR. 
InstructionUtil Utility routines for IInstruction
Operand A simple implementation of IInstructionOperandGeneric
ProcessorInformation Basic implementation of IProcessorInformation
RegisterBankService The register bank service is a global registry maintaining processors' register banks, used by native code objects. 
RegisterDescriptionEntry Description of a processor register. 
RegisterLayoutBridge A layout bridge permits converting from one register layout to another. 

Enums

AbstractImmediateOperandBuilder.ImmediateType Extension mode and size for integer immediates. 
RegisterEncoding Type of encoding used for the bits stored in a given register. 
RegisterType Type of register, used when defining register banks. 

Exceptions

CannotReadRegisterException  
CannotWriteRegisterException  
ProcessorException Exception raised by processors when reporting errors found in the machine code to be parsed (eg, invalid opcodes). 
UnsupportedInstructionException