Package ghidra.pcode.emulate
Class EmulateInstructionStateModifier
java.lang.Object
ghidra.pcode.emulate.EmulateInstructionStateModifier
@Deprecated(since="12.1",
forRemoval=true)
public abstract class EmulateInstructionStateModifier
extends Object
Deprecated, for removal: This API element is subject to removal in a future version.
EmulateInstructionStateModifier defines a language specific handler to assist
emulation with adjusting the current execution state, providing support for custom pcodeop's
(i.e., CALLOTHER). The implementation of this interface must provide a public constructor which
takes a single Emulate argument.-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDeprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanDeprecated, for removal: This API element is subject to removal in a future version.Execute a CALLOTHER opDeprecated, for removal: This API element is subject to removal in a future version.Get the map of registered pcode userop behaviorsvoidinitialExecuteCallback(Emulate emulate, Address current_address, RegisterValue contextRegisterValue) Deprecated, for removal: This API element is subject to removal in a future version.Emulation callback immediately before the first instruction is executed.voidpostExecuteCallback(Emulate emulate, Address lastExecuteAddress, PcodeOp[] lastExecutePcode, int lastPcodeIndex, Address currentAddress) Deprecated, for removal: This API element is subject to removal in a future version.Emulation callback immediately following execution of the lastExecuteAddress.protected final voidregisterPcodeOpBehavior(String opName, OpBehaviorOther pcodeOpBehavior) Deprecated, for removal: This API element is subject to removal in a future version.Register a pcodeop behavior corresponding to a CALLOTHER opcode.
-
Field Details
-
emu
Deprecated, for removal: This API element is subject to removal in a future version. -
language
Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Constructor Details
-
EmulateInstructionStateModifier
Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Method Details
-
registerPcodeOpBehavior
Deprecated, for removal: This API element is subject to removal in a future version.Register a pcodeop behavior corresponding to a CALLOTHER opcode.- Parameters:
opName- name as defined within language via "define pcodeop"pcodeOpBehavior-
-
executeCallOther
Deprecated, for removal: This API element is subject to removal in a future version.Execute a CALLOTHER op- Parameters:
op-- Returns:
- true if corresponding pcodeop was registered and emulation support is performed, or false if corresponding pcodeop is not supported by this class.
- Throws:
LowlevelError
-
initialExecuteCallback
public void initialExecuteCallback(Emulate emulate, Address current_address, RegisterValue contextRegisterValue) throws LowlevelError Deprecated, for removal: This API element is subject to removal in a future version.Emulation callback immediately before the first instruction is executed. This callback permits any language specific initializations to be performed.- Parameters:
emulate-current_address- intial execute addresscontextRegisterValue- initial context value or null if not applicable or unknown- Throws:
LowlevelError
-
postExecuteCallback
public void postExecuteCallback(Emulate emulate, Address lastExecuteAddress, PcodeOp[] lastExecutePcode, int lastPcodeIndex, Address currentAddress) throws LowlevelError Deprecated, for removal: This API element is subject to removal in a future version.Emulation callback immediately following execution of the lastExecuteAddress. One use of this callback is to modify the flowing/future context state.- Parameters:
emulate-lastExecuteAddress-lastExecutePcode-lastPcodeIndex- pcode index of last op or -1 if no pcode or fall-through occurred.currentAddress-- Throws:
LowlevelError
-
getPcodeOpMap
Deprecated, for removal: This API element is subject to removal in a future version.Get the map of registered pcode userop behaviors- Returns:
- the map, by userop index.
-
PcodeUseropLibraryorAnnotatedPcodeUseropLibraryinstead