java.lang.Object | |
↳ | com.pnfsoftware.jeb.core.units.code.asm.simulator.InsnEmulator<T extends com.pnfsoftware.jeb.core.units.code.IInstructionOperand> |
Main class that can emulate an instruction and retrieve the correct result. It is based on:
- UPDATE_*** which provides the field(s) to be updated
- JUMP_*** which computes the new value to assign
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | JUMP_LAST_OPERAND | ||||||||||
int | JUMP_MASK | What is the new value: from 0x0100 to 0xFF00 | |||||||||
int | LINK | saves the return address in LR | |||||||||
int | NO_FLAG | ||||||||||
int | UPDATE_MASK | What is updated: from 0x00 to 0xFF | |||||||||
int | UPDATE_NONE | ||||||||||
int | UPDATE_PC | Always Jump |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
InsnEmulator(int flags) |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
IInsnEmulator.BranchType |
getBranchType()
Return BranchType (JUMP or LINK).
| ||||||||||
int | getFlags() | ||||||||||
boolean |
isPCUpdated()
Indicate if the instruction can update the PC (by another address than the following one).
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.code.asm.simulator.IInsnEmulator
|
What is the new value: from 0x0100 to 0xFF00
saves the return address in LR
What is updated: from 0x00 to 0xFF
Always Jump
Return BranchType (JUMP or LINK). See later if more is needed.
Indicate if the instruction can update the PC (by another address than the following one).