
%if 0

lDebug MZ .EXE header macros

Copyright (C) 1995-2003 Paul Vojta
Copyright (C) 2008-2023 E. C. Masloch

Usage of the works is permitted provided that this
instrument is retained with the works, so that any entity
that uses the works is notified of this instrument.

DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.

%endif


	struc EXEHEADER
exact_struc_at 00h, exeSignature:	resw 1
exact_struc_at 02h, exeExtraBytes:	resw 1	; bytes in last page
exact_struc_at 04h, exePages:		resw 1	; number of 512-byte pages. includes the header!
exact_struc_at 06h, exeRelocItems:	resw 1	; number of relocation items
exact_struc_at 08h, exeHeaderSize:	resw 1	; header size in 16-byte paragraphs
exact_struc_at 0Ah, exeMinAlloc:	resw 1	; minimum (bss) allocation in paragraphs
exact_struc_at 0Ch, exeMaxAlloc:	resw 1	; maximum (bss) allocation in paragraphs
exact_struc_at 0Eh, exeInitSS:		resw 1	; init ss (is relocated)
exact_struc_at 10h, exeInitSP:		resw 1	; init sp
exact_struc_at 12h, exeChecksum:	resw 1
exact_struc_at 14h, exeInitCSIP:
exact_struc_at 14h, exeInitIP:		resw 1	; init ip
exact_struc_at 16h, exeInitCS:		resw 1	; init cs (is relocated)
exact_struc_at 18h, exeRelocTable:	resw 1	; byte offset of relocation table
		; Each relocation item is a word offset and a word segment.
		;  The segment of the item itself is relocated as well.
exact_struc_at 1Ah, exeOverlayNum:	resw 1
exact_struc_at 1Ch
	endstruc
