mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 07:39:13 +02:00
+ added omf fixup related enums
git-svn-id: trunk@30436 -
This commit is contained in:
parent
d63961ce02
commit
25411c3871
@ -120,6 +120,53 @@ interface
|
|||||||
scPublic7 = 7); { same as scPublic }
|
scPublic7 = 7); { same as scPublic }
|
||||||
TOmfSegmentUse = (suUse16, suUse32);
|
TOmfSegmentUse = (suUse16, suUse32);
|
||||||
|
|
||||||
|
TOmfFixupMode = (fmSelfRelative, fmSegmentRelative);
|
||||||
|
TOmfFixupLocationType = (
|
||||||
|
fltLoByte = 0, { low 8 bits of 16-bit offset }
|
||||||
|
fltOffset = 1, { 16-bit offset }
|
||||||
|
fltBase = 2, { 16-bit base (segment) }
|
||||||
|
fltFarPointer = 3, { 16-bit base:16-bit offset }
|
||||||
|
fltHiByte = 4, { high 8 bits of 16-bit offset }
|
||||||
|
fltLoaderResolvedOffset = 5, { PharLap: Offset32 }
|
||||||
|
fltUndefined6 = 6, { PharLap: Pointer48 }
|
||||||
|
fltUndefined7 = 7,
|
||||||
|
fltUndefined8 = 8,
|
||||||
|
fltOffset32 = 9, { 32-bit offset }
|
||||||
|
fltUndefined10 = 10,
|
||||||
|
fltFarPointer48 = 11, { 16-bit base:32-bit offset }
|
||||||
|
fltUndefined12 = 12,
|
||||||
|
fltLoaderResolvedOffset32 = 13,
|
||||||
|
fltUndefined14 = 14,
|
||||||
|
fltUndefined15 = 15);
|
||||||
|
TOmfFixupFrameMethod = (
|
||||||
|
ffmSegmentIndex = 0, { SI(<segment name>) - The frame is the canonic frame of the logical
|
||||||
|
segment segment defined by the index }
|
||||||
|
ffmGroupIndex = 1, { GI(<group name>) - The frame is the canonic frame of the group
|
||||||
|
(= the canonic frame of the logical segment from the group,
|
||||||
|
located at the lowest memory address) }
|
||||||
|
ffmExternalIndex = 2, { EI(<symbol name>) - The frame is determined depending on the external's public definition:
|
||||||
|
* if the symbol is defined relative to a logical segment and no defined group,
|
||||||
|
the frame of the logical segment is used
|
||||||
|
* if the symbol is defined absolutely, without reference to a logical segment and
|
||||||
|
no defined group, the FRAME NUMBER from the symbol's PUBDEF record is used
|
||||||
|
* regardless of how the symbol is specified, if there's an associated group,
|
||||||
|
that group's canonic frame is used }
|
||||||
|
ffmFrameNumber = 3, { <FRAME NUMBER> - The frame is a directly specified constant. }
|
||||||
|
ffmLocation = 4, { LOCATION - The frame is determined by the location (i.e. the canonic frame of the logical
|
||||||
|
segment where the fixup location is) }
|
||||||
|
ffmTarget = 5, { TARGET - The frame is determined by the target. }
|
||||||
|
ffmNone = 6, { NONE - There is no frame. Used for 8089 self-relative references. }
|
||||||
|
ffmUndefined = 7);
|
||||||
|
TOmfFixupTargetMethod = (
|
||||||
|
ftmSegmentIndex = 0, { SI(<segment name>),<displacement> }
|
||||||
|
ftmGroupIndex = 1, { GI(<group name>),<displacement> }
|
||||||
|
ftmExternalIndex = 2, { EI(<symbol name>),<displacement> }
|
||||||
|
ftmFrameNumber = 3, { <FRAME NUMBER>,<displacement> }
|
||||||
|
ftmSegmentIndexNoDisp = 4, { SI(<segment name>) }
|
||||||
|
ftmGroupIndexNoDisp = 5, { GI(<group name>) }
|
||||||
|
ftmExternalIndexNoDisp = 6, { EI(<symbol name>) }
|
||||||
|
ftmFrameNumberNoDisp = 7); { <FRAME NUMBER> }
|
||||||
|
|
||||||
{ TOmfOrderedNameCollection }
|
{ TOmfOrderedNameCollection }
|
||||||
|
|
||||||
TOmfOrderedNameCollection = class
|
TOmfOrderedNameCollection = class
|
||||||
|
Loading…
Reference in New Issue
Block a user