struc PSP ; Program Segment Prefix
pspInt20 dw ? ; Int 20h instruction
pspNextParagraph dw ? ; Segment addr of next paragraph
db ? ; Reserved
pspDispatcher db 5 dup (?) ; Far call to DOS
pspTerminateVector dd ? ; Int 22h addr
pspControlCVector dd ? ; Int 23h addr
pspCritErrorVector dd ? ; Int 24h addr
dw 11 dup (?) ; Reserved
pspEnvironment dw ? ; Segment addr of environment
dw 23 dup (?) ; Reserved
pspFCB_1 db 16 dup (?) ; Default FCB #1
pspFCB_2 db 16 dup (?) ; Default FCB #2
dd ? ; Reserved
pspCommandTail db 128 dup (?) ; Command tail (also default DTA)
ends ; = 256d = 100h bytes

; The Program Segment Prefix is a control structure that
; DOS builds for each program. PSP occupies the first 256
; (100h) bytes of the memory allocated to the program.


; pspNextParagraph (offset 0002h in PSP)
; Segment address of 1st paragraph after
; program's memory allocation block.

; pspEnvironment (offset 002Ch in PSP)
; Segment address of program's environment block

; pspCommandTail (offset 0080h in PSP)
; Program's command-line arguments
; Format: byte length of arguments, arguments, CR character
; (db 9," /s a.fil",0dh)