]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / DEV / XMA2EMS / XMA2EMSP.INC
1
2 INCSW EQU 0 ;INCLUDE PSDATA.INC ;AN000;
3 FARSW EQU 0 ;CALL THE PARSER BY NEAR CALL
4 DATESW EQU 1 ; ;SUPPRESS DATE CHECKING ;AN000;
5 TIMESW EQU 1 ; ;SUPPRESS TIME CHECKING ;AN000;
6 FILESW EQU 1 ;SUPPORT CHECKING FILE SPECIFICATION ;AN000;
7 CAPSW EQU 1 ; ;SUPPRESS FILE TABLE CAPS ;AN000;
8 CMPXSW EQU 1 ; ;SUPPRESS CHECKING COMPLEX LIST
9 DRVSW EQU 1 ; ;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT
10 QUSSW EQU 1 ; ;SUPPRESS SUPPORT OF QUOTED STRING FORMAT ;AN000;
11 NUMSW EQU 1 ; ;SUPPRESS CHECKING NUMERIC VALUE
12 KEYSW EQU 1 ;SUPPORT KEYWORDS ;AN000;
13 SWSW EQU 1 ;DO SUPPORT SWITCHES ;AN000;
14 VAL1SW EQU 1 ;SUPPORT VALUE DEFINITION 1 ;AN000;
15 VAL2SW EQU 1 ; ;SUPPRESS SUPPORT OF VALUE DEFINITION 2 ;AN000;
16 VAL3SW EQU 1 ;DO SUPPORT VALUE DEFINITION 3
17
18 include psdata.inc
19
20 ;***********************************************************************
21
22 ;-------------------------------------------------------------------
23 ;
24 ; parser stuff for XMA2EMS.SYS
25 ;
26 ;-------------------------------------------------------------------
27
28 p_block:
29 dw offset px_block ; address of extended parms block
30 db 0 ; number of extra stuff
31
32 ;$P_PARMS_Blk <offset px_block, 0, 0> ; parm block
33
34 ;------------------------
35 ; extended parameter block for APPEND first load
36
37 px_block:
38 db 1 ; min number positional operands
39 db 1 ; max number positional operands
40 dw offset dummy_ctl ; dummy control block
41
42 db 1 ; /X only switch
43 dw offset X_Switch ; control block for /X switch
44
45 db 7 ; max number of keywords
46 dw offset frame_ctl ; offset of FRAME= keyword control block
47 dw offset p0_ctl ; offset of p0 keyword control block
48 dw offset p1_ctl ; offset of p1 keyword control block
49 dw offset p2_ctl ; offset of p2 keyword control block
50 dw offset p3_ctl ; offset of p3 keyword control block
51 dw offset p254_ctl ; offset of p254 keyword control block
52 dw offset p255_ctl ; offset of p255 keyword control block
53
54 ;------------------------
55
56 dummy_ctl:
57 dw 0200h ;
58 dw 0 ; no caps
59 dw offset dum_result ; pointer to dummy result block
60 dw offset dum_values ; pointer to null values block
61 db 0 ; number of switches and synonyms
62
63 dum_values:
64 dw 0 ; null value list
65
66 X_Switch:
67 dw $P_Num_Val ; /X:64
68 dw 0002 ; caps
69 dw offset X_Result ; pointer to result block
70 dw offset X_Values ; pointer to values block, none
71 db 1 ; number of switches and synonyms
72 db "/X",0 ; only /X is valid
73
74 X_Values:
75 db 1 ; numeric values
76 db 1 ; 1 ranges
77 db 1 ; = 1 means good range
78 dd 4 ; valid values range from 4 (64Kb)...
79 dd 512 ; 512 (8MB)
80
81 ;------------------------
82
83 frame_ctl:
84 dw $P_Simple_S ; used for FRAME= and Pxxx=
85 dw 0 ; cap by char table
86 dw offset frame_result ; pointer to result block
87 dw offset address_values ; pointer to values block
88 db 1 ; number of synonyms
89 db "FRAME=",0
90
91 p0_ctl:
92 dw $P_Simple_S ; used for FRAME= and Pxxx=
93 dw 0 ; cap by char table
94 dw offset p0_result ; pointer to result block
95 dw offset address_values ; pointer to values block
96 db 3 ; number of synonyms
97 db "P0=",0
98 db "P00=",0
99 db "P000=",0
100
101 p1_ctl:
102 dw $P_Simple_S ; used for FRAME= and Pxxx=
103 dw 0 ; cap by char table
104 dw offset p1_result ; pointer to result block
105 dw offset address_values ; pointer to values block
106 db 3 ; number of synonyms
107 db "P1=",0
108 db "P01=",0
109 db "P001=",0
110
111 p2_ctl:
112 dw $P_Simple_S ; used for FRAME= and Pxxx=
113 dw 0 ; cap by char table
114 dw offset p2_result ; pointer to result block
115 dw offset address_values ; pointer to values block
116 db 3 ; number of synonyms
117 db "P2=",0
118 db "P02=",0
119 db "P002=",0
120
121 p3_ctl:
122 dw $P_Simple_S ; used for FRAME= and Pxxx=
123 dw 0 ; cap by char table
124 dw offset p3_result ; pointer to result block
125 dw offset address_values ; pointer to values block
126 db 3 ; number of synonyms
127 db "P3=",0
128 db "P03=",0
129 db "P003=",0
130
131 p254_ctl:
132 dw $P_Simple_S ; used for FRAME= and Pxxx=
133 dw 0 ; cap by char table
134 dw offset p254_result ; pointer to result block
135 dw offset address_values ; pointer to values block
136 db 1 ; number of synonyms
137 db "P254=",0
138
139 p255_ctl:
140 dw $P_Simple_S ; used for FRAME= and Pxxx=
141 dw 0 ; cap by char table
142 dw offset p255_result ; pointer to result block
143 dw offset address_values ; pointer to values block
144 db 1 ; number of synonyms
145 db "P255=",0
146
147 ;------------------------
148
149 address_values:
150 db 3 ; strings
151 db 0 ; zeroes here for ranges
152 db 0 ; and values
153 db 24 ; 24 possible strings
154 db 0A0h
155 dw offset A0_str
156 db 0A4h
157 dw offset A4_str
158 db 0A8h
159 dw offset A8_str
160 db 0ACh
161 dw offset AC_str
162 db 0B0h
163 dw offset B0_str
164 db 0B4h
165 dw offset B4_str
166 db 0B8h
167 dw offset B8_str
168 db 0BCh
169 dw offset BC_str
170 db 0C0h
171 dw offset C0_str
172 db 0C4h
173 dw offset C4_str
174 db 0C8h
175 dw offset C8_str
176 db 0CCh
177 dw offset CC_str
178 db 0D0h
179 dw offset D0_str
180 db 0D4h
181 dw offset D4_str
182 db 0D8h
183 dw offset D8_str
184 db 0DCh
185 dw offset DC_str
186 db 0E0h
187 dw offset E0_str
188 db 0E4h
189 dw offset E4_str
190 db 0E8h
191 dw offset E8_str
192 db 0ECh
193 dw offset EC_str
194 db 0F0h
195 dw offset F0_str
196 db 0F4h
197 dw offset F4_str
198 db 0F8h
199 dw offset F8_str
200 db 0FCh
201 dw offset FC_str
202
203
204
205 A0_str db "A000",0
206 A4_str db "A400",0
207 A8_str db "A800",0
208 AC_str db "AC00",0
209 B0_str db "B000",0
210 B4_str db "B400",0
211 B8_str db "B800",0
212 BC_str db "BC00",0
213 C0_str db "C000",0
214 C4_str db "C400",0
215 C8_str db "C800",0
216 CC_str db "CC00",0
217 D0_str db "D000",0
218 D4_str db "D400",0
219 D8_str db "D800",0
220 DC_str db "DC00",0
221 E0_str db "E000",0
222 E4_str db "E400",0
223 E8_str db "E800",0
224 EC_str db "EC00",0
225 F0_str db "F000",0
226 F4_str db "F400",0
227 F8_str db "F800",0
228 FC_str db "FC00",0
229
230 ;------------------------
231
232 dum_result $P_Result_Blk <> ; dummy result block
233 X_Result $P_Result_Blk <> ; /X result block
234 frame_result $P_Result_Blk <> ; FRAME= result block
235 p0_result $P_Result_Blk <> ; p0= result block
236 p1_result $P_Result_Blk <> ; p1= result block
237 p2_result $P_Result_Blk <> ; p2= result block
238 p3_result $P_Result_Blk <> ; p3= result block
239 p255_result $P_Result_Blk <> ; p254= result block
240 p254_result $P_Result_Blk <> ; p255= result block
241
242
243 \1a