diff --git a/compiler/ogomf.pas b/compiler/ogomf.pas index 52183e4231..84ad7ed64d 100644 --- a/compiler/ogomf.pas +++ b/compiler/ogomf.pas @@ -277,6 +277,7 @@ interface procedure WriteMap_HeaderData; function FindStackSegment: TMZExeUnifiedLogicalSegment; procedure FillLoadableImageSize; + procedure FillMinExtraParagraphs; procedure FillStartAddress; procedure FillStackAddress; procedure FillHeaderData; @@ -2163,6 +2164,8 @@ implementation begin exemap.AddHeader('Header data'); exemap.Add('Loadable image size: '+HexStr(Header.LoadableImageSize,8)); + exemap.Add('Min extra paragraphs: '+HexStr(Header.MinExtraParagraphs,4)); + exemap.Add('Max extra paragraphs: '+HexStr(Header.MaxExtraParagraphs,4)); exemap.Add('Initial stack pointer: '+HexStr(Header.InitialSS,4)+':'+HexStr(Header.InitialSP,4)); exemap.Add('Entry point address: '+HexStr(Header.InitialCS,4)+':'+HexStr(Header.InitialIP,4)); end; @@ -2205,6 +2208,14 @@ implementation end; end; + procedure TMZExeOutput.FillMinExtraParagraphs; + var + ExeSec: TMZExeSection; + begin + ExeSec:=MZFlatContentSection; + Header.MinExtraParagraphs:=(align(ExeSec.Size,16)-align(Header.LoadableImageSize,16)) div 16; + end; + procedure TMZExeOutput.FillStartAddress; var EntryMemPos: qword; @@ -2240,6 +2251,7 @@ implementation begin Header.MaxExtraParagraphs:=$FFFF; FillLoadableImageSize; + FillMinExtraParagraphs; FillStartAddress; FillStackAddress; if assigned(exemap) then