Package ghidra.program.model.lang
Class ProgramProcessorContext
java.lang.Object
ghidra.program.model.lang.ProgramProcessorContext
- All Implemented Interfaces:
ProcessorContext
,ProcessorContextView
Implementation for the program processor context interface
-
Constructor Summary
ConstructorDescriptionProgramProcessorContext
(ProgramContext context, Address addr) Constructs a new ProgramProcessorContext that will have the processor state be the state of the given programContext at the given address -
Method Summary
Modifier and TypeMethodDescriptionvoid
clearRegister
(Register register) Clears the register within this context.getRegister
(String name) Get a Register given the name of a registerReturns all the Registers for the processor as an unmodifiable listgetRegisterValue
(Register register) Get the RegisterValue for the given register.Get the contents of a processor register as a BigInteger objectboolean
Returns true if a value is defined for the given register.void
setRegisterValue
(RegisterValue value) Sets the specified register value within this context.void
setValue
(Register register, BigInteger value) Sets the value for a Register.
-
Constructor Details
-
ProgramProcessorContext
Constructs a new ProgramProcessorContext that will have the processor state be the state of the given programContext at the given address- Parameters:
context
- the programContext which contains the register state at every addressaddr
- the address at which to get the register state
-
-
Method Details
-
getBaseContextRegister
- Specified by:
getBaseContextRegister
in interfaceProcessorContextView
- Returns:
- the base processor context register or null if one has not been defined
-
getRegisters
Description copied from interface:ProcessorContextView
Returns all the Registers for the processor as an unmodifiable list- Specified by:
getRegisters
in interfaceProcessorContextView
- Returns:
- all the Registers for the processor
-
getRegister
Description copied from interface:ProcessorContextView
Get a Register given the name of a register- Specified by:
getRegister
in interfaceProcessorContextView
- Parameters:
name
- the name of the register.- Returns:
- The register with the given name.
-
getValue
Description copied from interface:ProcessorContextView
Get the contents of a processor register as a BigInteger object- Specified by:
getValue
in interfaceProcessorContextView
- Parameters:
register
- register to get the value for- Returns:
- a BigInteger object containing the value of the register if a value exists, otherwise null.
-
getRegisterValue
Description copied from interface:ProcessorContextView
Get the RegisterValue for the given register.- Specified by:
getRegisterValue
in interfaceProcessorContextView
- Parameters:
register
- register to get the value for- Returns:
- RegisterValue object containing the value of the register if a value exists, otherwise null.
-
setValue
Description copied from interface:ProcessorContext
Sets the value for a Register.- Specified by:
setValue
in interfaceProcessorContext
- Parameters:
register
- the register to have its value setvalue
- the value for the register (null is not permitted).- Throws:
ContextChangeException
- an illegal attempt to change context was made
-
setRegisterValue
Description copied from interface:ProcessorContext
Sets the specified register value within this context.- Specified by:
setRegisterValue
in interfaceProcessorContext
- Parameters:
value
- register value- Throws:
ContextChangeException
- an illegal attempt to change context was made
-
clearRegister
Description copied from interface:ProcessorContext
Clears the register within this context.- Specified by:
clearRegister
in interfaceProcessorContext
- Parameters:
register
- register to be cleared.- Throws:
ContextChangeException
- an illegal attempt to change context was made
-
hasValue
Description copied from interface:ProcessorContextView
Returns true if a value is defined for the given register.- Specified by:
hasValue
in interfaceProcessorContextView
- Parameters:
register
- the register to check for a value.- Returns:
- true if the given register has a value.
- See Also:
-