Package ghidra.pcode.emulate
Class Emulate
java.lang.Object
ghidra.pcode.emulate.Emulate
- Direct Known Subclasses:
ModifiedPcodeThread.GlueEmulate
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
void
void
void
void
void
void
void
void
executeInstruction
(boolean stopAtBreakpoint, TaskMonitor monitor) void
void
void
void
Returns the current context register value.boolean
void
setContextRegisterValue
(RegisterValue regValue) Sets the context register value at the current execute address.void
setExecuteAddress
(Address addr)
-
Constructor Details
-
Emulate
-
-
Method Details
-
dispose
public void dispose() -
getLanguage
-
isInstructionStart
public boolean isInstructionStart() -
getExecutionState
- Returns:
- the current emulator execution state
-
getExecuteAddress
-
getLastExecuteAddress
-
getNewDisassemblerContext
-
getContextRegisterValue
Returns the current context register value. The context value returned reflects its state when the previously executed instruction was parsed/executed. The context value returned will feed into the next instruction to be parsed with its non-flowing bits cleared and any future context state merged in. If no instruction has been executed, the explicitly set context will be returned. A null value is returned if no context register is defined by the language or initial context has not been set. -
setContextRegisterValue
Sets the context register value at the current execute address. The Emulator should not be running when this method is invoked. Only flowing context bits should be set, as non-flowing bits will be cleared prior to parsing on instruction. In addition, any future context state set by the pcode emitter will take precedence over context set using this method. This method is primarily intended to be used to establish the initial context state.- Parameters:
regValue
-
-
fallthruOp
public void fallthruOp() -
executeConditionalBranch
-
executeBranch
-
executeCallother
- Throws:
UnimplementedCallOtherException
-
setExecuteAddress
-
executeInstruction
public void executeInstruction(boolean stopAtBreakpoint, TaskMonitor monitor) throws CancelledException, LowlevelError, InstructionDecodeException -
getMemoryState
-
executeLoad
-
executeStore
-
executeBranchind
-
executeCall
-
executeCallind
-
executeMultiequal
-
executeIndirect
-