Class AssemblyDefaultContext

Constructor Detail

  • Method Detail

    • setContextRegister

      public void setContextRegister​(byte[] val)
      Set the value of the pseudo context register If the provided value has length less than the register, it will be left aligned, and the remaining bytes will be set to unknown (masked out).
      Parameters:
      val - the value of the register
    • getDefault

      public AssemblyPatternBlock getDefault()
      Get the default value of the context register
      Returns:
      the value as a pattern block for assembly
    • getDefaultAt

      public AssemblyPatternBlock getDefaultAt​(Address addr)
      Compute the default value of the context register at the given address
      Parameters:
      addr - the addres
      Returns:
      the value as a pattern block for assembly
    • getRegister

      public Register getRegister​(java.lang.String name)
      Description copied from interface: ProcessorContextView
      Get a Register given the name of a register
      Specified by:
      getRegister in interface ProcessorContextView
      Parameters:
      name - the name of the register.
      Returns:
      The register with the given name.
    • getValue

      public java.math.BigInteger getValue​(Register register,
                                           boolean signed)
      Description copied from interface: ProcessorContextView
      Get the contents of a processor register as a BigInteger object
      Specified by:
      getValue in interface ProcessorContextView
      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

      public RegisterValue getRegisterValue​(Register register)
      Description copied from interface: ProcessorContextView
      Get the RegisterValue for the given register.
      Specified by:
      getRegisterValue in interface ProcessorContextView
      Parameters:
      register - register to get the value for
      Returns:
      RegisterValue object containing the value of the register if a value exists, otherwise null.
    • hasValue

      public boolean hasValue​(Register register)
      Description copied from interface: ProcessorContextView
      Returns true if a value is defined for the given register.
      Specified by:
      hasValue in interface ProcessorContextView
      Parameters:
      register - the register to check for a value.
      Returns:
      true if the given register has a value.
    • setFutureRegisterValue

      public void setFutureRegisterValue​(Address address,
                                         RegisterValue value)
      Description copied from interface: DisassemblerContext
      Combines value with any previously saved future register value at address or any value stored in the program if there is no previously saved future value. Use this method when multiple flows to the same address don't matter or the flowing from address is unknown. When value has conflicting bits with the previously saved value, value will take precedence. If the register value is the value for the processor context register and a previously saved value does not exist, the user saved values in the stored context of the program will be used as existing value.
      Specified by:
      setFutureRegisterValue in interface DisassemblerContext
      Parameters:
      address - the address to store the register value
      value - the register value to store at the address
    • setFutureRegisterValue

      public void setFutureRegisterValue​(Address fromAddr,
                                         Address toAddr,
                                         RegisterValue value)
      Description copied from interface: DisassemblerContext
      Combines value with any previously saved future register value at fromAddr/toAddr or any value stored in the program if there is no previously saved future value. When value has conflicting bits with the previously saved value, value will take precedence. If the register value is the value for the processor context register and a previously saved value does not exist, the user saved values in the stored context of the program will be used as existing value.
      Specified by:
      setFutureRegisterValue in interface DisassemblerContext
      Parameters:
      fromAddr - the address this value if flowing from
      toAddr - the address to store the register value
      value - the register value to store at the address
    • setDefaultValue

      public void setDefaultValue​(RegisterValue registerValue,
                                  Address start,
                                  Address end)
      Description copied from interface: DefaultProgramContext
      Associates a default value with the given register over the given range.
      Specified by:
      setDefaultValue in interface DefaultProgramContext
      Parameters:
      registerValue - the register for which to associate a default value.
      start - the start address.
      end - the end address (inclusive)
    • getDefaultValue

      public RegisterValue getDefaultValue​(Register register,
                                           Address address)
      Description copied from interface: DefaultProgramContext
      Returns the default value of a register at a given address.
      Specified by:
      getDefaultValue in interface DefaultProgramContext
      Parameters:
      register - the register for which to get a default value.
      address - the address at which to get a default value.
      Returns:
      the default value of the register at the given address or null if no default value has been assigned.