Package ghidra.program.model.lang

# Interface ProcessorContext

All Superinterfaces:
  `ProcessorContextView`

All Known Subinterfaces:
  `DisassemblerContext`, `DisassemblerContextAdapter`, `Instruction`, `InstructionAdapterFromPrototype`, `TraceInstruction`

All Known Implementing Classes:
  `AssemblyDefaultContext`, `DBTraceInstruction`, `DisassemblerContextImpl`, `EmulateDisassemblerContext`, `InstructionDB`, `InstructionStub`, `JitPassage.DecodeErrorInstruction`, `ProcessorContextImpl`, `ProgramProcessorContext`, `PseudoDisassemblerContext`, `PseudoInstruction`, `ReadOnlyProcessorContext`, `ReDisassembler.ReDisassemblerContext`, `VarnodeContext`

public interface ProcessorContext extends ProcessorContextView
Defines the interface for an object containing the state of all processor registers relative to a specific address.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `clearRegister(Register register)`
  Clears the register within this context.
  `void`
  `setRegisterValue(RegisterValue value)`
  Sets the specified register value within this context.
  `void`
  `setValue(Register register, BigInteger value)`
  Sets the value for a Register.

  ### Methods inherited from interface ghidra.program.model.lang.ProcessorContextView

  `getBaseContextRegister, getRegister, getRegisters, getRegisterValue, getValue, hasValue`

- ## Method Details

  - ### setValue

    void setValue(Register register, BigInteger value) throws ContextChangeException
    Sets the value for a Register.
    Parameters:
      `register` - the register to have its value set
      `value` - the value for the register (null is not permitted).
    Throws:
      `ContextChangeException` - an illegal attempt to change context was made

  - ### setRegisterValue

    void setRegisterValue(RegisterValue value) throws ContextChangeException
    Sets the specified register value within this context.
    Parameters:
      `value` - register value
    Throws:
      `ContextChangeException` - an illegal attempt to change context was made

  - ### clearRegister

    void clearRegister(Register register) throws ContextChangeException
    Clears the register within this context.
    Parameters:
      `register` - register to be cleared.
    Throws:
      `ContextChangeException` - an illegal attempt to change context was made