RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
OMF::OMF96Format::RelocationRecord::Relocation Class Reference

Public Types

enum  reference_type_t {
  RegisterSimple = 0 , RegisterAutoIncrement = 1 , ShiftCountImmediate = 2 , ShiftCountRegister = 3 ,
  ByteConstant = 4 , ShortJump = 6 , MediumJump = 7 , MediumCall = 8 ,
  LongJumpCall = 9 , LongDirect = 10
}
 
typedef segment_id_t LocalReference
 
typedef uint16_t ExternalReference
 

Public Member Functions

uint16_t Size (OMF96Format *omf, Module *mod) const
 
void Write (OMF96Format *omf, Module *mod, ChecksumWriter &wr) const
 

Static Public Member Functions

static Relocation Read (OMF96Format *omf, Module *mod, Linker::Reader &rd)
 

Public Attributes

uint16_t offset
 
std::variant< LocalReference, ExternalReference > reference = LocalReference(0)
 
std::optional< uint16_t > addend
 
reference_type_t reference_type
 
alignment_t alignment
 

Static Public Attributes

static constexpr uint8_t FlagAddendInCode = 0x40
 
static constexpr uint8_t FlagExternal = 0x80
 

The documentation for this class was generated from the following files: