Up ] Docs Home ]

Format of linear executable fixup record

Back ] Next ]

Offset Size Description

00h

BYTE

type
bits 7-4 : modifier
0001 = single
0011 = multiple
bits 3-0 : type
0000 = byte offset
0010 = word segment
0011 = 16-bit far pointer (DWORD)
0101 = 16-bit offset
0110 = 32-bit far pointer (PWORD)
0111 = 32-bit offset
1000 = near call or jump, WORD/DWORD based on seg attrib

01h

BYTE

linear executable fixup type (see #01617)

---if single type---

02h

WORD

offset within page

04h

relocation information

---internal fixup---

BYTE

object number

---external,ordinal---

BYTE

one-based module number in Import Module table

BYTE / WORD

ordinal number

WORD / DWORD

value to add (only present if modifier bit 4 set)

---external,name---

BYTE

one-based module number in Import Module table

WORD

offset in Import Procedure names

WORD / DWORD

value to add (only present if modifier bit 4 set)

---if multiple type---

02h

BYTE

number of items

03h

var

relocation info as for "single" type (above)

N WORDs

offsets of items to relocate