summaryrefslogtreecommitdiffstats
path: root/private/mvdm/dpmi/segdefs.inc
blob: 12684d41b0d4ca8411cbf43cfec98fa1c9ac28a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

; Copyright (c) Microsoft Coropration 1988-1991. All Rights Reserved.

;****************************************************************
;*                                                              *
;*      SEGDEFS.INC  -- Segment Declarations for Dos Extender   *
;*                                                              *
;****************************************************************
;*  Revision History:                                           *
;*                                                              *
;*  12/13/88 (GeneA): reordered segments so that the code       *
;*      segment is last.                                        *
;*                                                              *
;****************************************************************
;
; -------------------------------------------------------
;               DOS EXTENDER SEGMENTS
; -------------------------------------------------------

;; Touch here to force rebuild of DOSX!  EarleH

?DF=1
?PLM=1
?WIN=0
?MEDIUM=1
DOS5=1
IFNDEF WHEN_COMMAND_COM_WORKS
WINDOWS=1
ELSE
WINDOWS=0
ENDIF
include .\cmacros.inc

DXDATA  segment para public 'DATA'

DXDATA  ends


DXSTACK segment para stack 'STACK'

DXSTACK ends


;
; This segment contains both real mode and protected mode code and
; resides in low memory.
DXCODE  segment para public 'CODE'

DXCODE  ends

;
; This segment contains protected mode code only, and is moved up
; into extended memory during the initialization process.

DXPMCODE    segment para public 'PMCODE'

DXPMCODE    ends

; -------------------------------------------------------
;               GROUP DECLARATIONS
; -------------------------------------------------------

DGROUP  group   DXDATA, DXSTACK

; -------------------------------------------------------
;       MS-DOS PROGRAM SEGMENT PREFIX DEFINITION
; -------------------------------------------------------

PSPSEG  segment at  0

fnExit          dw      ?       ;INT 20h instruction for termination linkage
segMemEnd       dw      ?       ;segment address of end of program's memory
rsvd1           db      ?       ;undefined
fnDosFunc       db      5 dup (?)   ;far call to DOS function dispatcher
lpfnParent      dd      ?       ;far pointer to parent program
lpfnInt23       dd      ?       ;previous contents of INT 23h vector (^C)
lpfnInt24       dd      ?       ;previous contents of INT 24h vector
segParentPSP    dw      ?       ;segment address of parent PSP
bFileTable      db      20 dup (?)  ;process file table
segEnviron      dw      ?       ;segment address of environment
lpStack         dd      ?       ;application's SS:SP (updated on each dos call)
cbFileTable     dw      ?       ;size of process file table
lpFileTable     dd      ?       ;far pointer to process file table

        org     5Ch

fcbDefault1     db      10h dup (?) ;default FCB 1
fcbDefault2     db      10h dup (?) ;default FCB 2

        org     80h

cbCommand       db      ?       ;lenght of command string
chCommand       db      7Fh dup (?) ;command string

PSPSEG      ends

; -------------------------------------------------------
;           BIOS DATA SEGMENT DEFINITIONS
; -------------------------------------------------------

BIOS_DATA   segment at  40h     ;BIOS Data segment

        org     67h
IO_ROM_INIT     dw      ?       ;Shutdown code 0Ah will cause the
IO_ROM_SEG      dw      ?       ; bios to return control to the far
                                ; address stored here.
                                ;Shutdown code 09h will cause the
                                ; bios to load SS:SP from here and
                                ; do an IRET.
INTR_FLAG       db      ?

        org     72h
RESET_FLAG      dw      ?       ;For Ctrl-Alt-Del

BIOS_DATA   ends

; -------------------------------------------------------

;****************************************************************