Delay loading of interrupt table functions until they are needed.
This commit is contained in:
parent
de304909cd
commit
4324b4778b
|
@ -7,263 +7,24 @@ type win16
|
||||||
|
|
||||||
# Interrupt vectors 0-255 are ordinals 100-355
|
# Interrupt vectors 0-255 are ordinals 100-355
|
||||||
# The 'interrupt' keyword takes care of the flags pushed on the stack by the interrupt
|
# The 'interrupt' keyword takes care of the flags pushed on the stack by the interrupt
|
||||||
100 interrupt INT_Int00Handler() BUILTIN_DefaultIntHandler
|
|
||||||
101 interrupt INT_Int01Handler() BUILTIN_DefaultIntHandler
|
|
||||||
102 interrupt INT_Int02Handler() BUILTIN_DefaultIntHandler
|
|
||||||
103 interrupt INT_Int03Handler() BUILTIN_DefaultIntHandler
|
|
||||||
104 interrupt INT_Int04Handler() BUILTIN_DefaultIntHandler
|
|
||||||
105 interrupt INT_Int05Handler() BUILTIN_DefaultIntHandler
|
|
||||||
106 interrupt INT_Int06Handler() BUILTIN_DefaultIntHandler
|
|
||||||
107 interrupt INT_Int07Handler() BUILTIN_DefaultIntHandler
|
|
||||||
108 interrupt INT_Int08Handler() BUILTIN_DefaultIntHandler
|
|
||||||
109 interrupt INT_Int09Handler() BUILTIN_DefaultIntHandler
|
|
||||||
110 interrupt INT_Int0aHandler() BUILTIN_DefaultIntHandler
|
|
||||||
111 interrupt INT_Int0bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
112 interrupt INT_Int0cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
113 interrupt INT_Int0dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
114 interrupt INT_Int0eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
115 interrupt INT_Int0fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
116 interrupt INT_Int10Handler() INT_Int10Handler
|
116 interrupt INT_Int10Handler() INT_Int10Handler
|
||||||
117 interrupt INT_Int11Handler() INT_Int11Handler
|
117 interrupt INT_Int11Handler() INT_Int11Handler
|
||||||
118 interrupt INT_Int12Handler() INT_Int12Handler
|
118 interrupt INT_Int12Handler() INT_Int12Handler
|
||||||
119 interrupt INT_Int13Handler() INT_Int13Handler
|
119 interrupt INT_Int13Handler() INT_Int13Handler
|
||||||
120 interrupt INT_Int14Handler() BUILTIN_DefaultIntHandler
|
|
||||||
121 interrupt INT_Int15Handler() INT_Int15Handler
|
121 interrupt INT_Int15Handler() INT_Int15Handler
|
||||||
122 interrupt INT_Int16Handler() BUILTIN_DefaultIntHandler
|
|
||||||
123 interrupt INT_Int17Handler() BUILTIN_DefaultIntHandler
|
|
||||||
124 interrupt INT_Int18Handler() BUILTIN_DefaultIntHandler
|
|
||||||
125 interrupt INT_Int19Handler() BUILTIN_DefaultIntHandler
|
|
||||||
126 interrupt INT_Int1aHandler() INT_Int1aHandler
|
126 interrupt INT_Int1aHandler() INT_Int1aHandler
|
||||||
127 interrupt INT_Int1bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
128 interrupt INT_Int1cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
129 interrupt INT_Int1dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
130 interrupt INT_Int1eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
131 interrupt INT_Int1fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
132 interrupt INT_Int20Handler() INT_Int20Handler
|
132 interrupt INT_Int20Handler() INT_Int20Handler
|
||||||
133 interrupt INT_Int21Handler() DOS3Call
|
133 interrupt INT_Int21Handler() DOS3Call
|
||||||
134 interrupt INT_Int22Handler() BUILTIN_DefaultIntHandler
|
|
||||||
135 interrupt INT_Int23Handler() BUILTIN_DefaultIntHandler
|
|
||||||
136 interrupt INT_Int24Handler() BUILTIN_DefaultIntHandler
|
|
||||||
# Note: int 25 and 26 don't pop the flags from the stack
|
# Note: int 25 and 26 don't pop the flags from the stack
|
||||||
137 register INT_Int25Handler() INT_Int25Handler
|
137 register INT_Int25Handler() INT_Int25Handler
|
||||||
138 register INT_Int26Handler() INT_Int26Handler
|
138 register INT_Int26Handler() INT_Int26Handler
|
||||||
139 interrupt INT_Int27Handler() BUILTIN_DefaultIntHandler
|
|
||||||
140 interrupt INT_Int28Handler() BUILTIN_DefaultIntHandler
|
|
||||||
141 interrupt INT_Int29Handler() BUILTIN_DefaultIntHandler
|
|
||||||
142 interrupt INT_Int2aHandler() INT_Int2aHandler
|
142 interrupt INT_Int2aHandler() INT_Int2aHandler
|
||||||
143 interrupt INT_Int2bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
144 interrupt INT_Int2cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
145 interrupt INT_Int2dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
146 interrupt INT_Int2eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
147 interrupt INT_Int2fHandler() INT_Int2fHandler
|
147 interrupt INT_Int2fHandler() INT_Int2fHandler
|
||||||
148 interrupt INT_Int30Handler() BUILTIN_DefaultIntHandler
|
|
||||||
149 interrupt INT_Int31Handler() INT_Int31Handler
|
149 interrupt INT_Int31Handler() INT_Int31Handler
|
||||||
150 interrupt INT_Int32Handler() BUILTIN_DefaultIntHandler
|
|
||||||
151 interrupt INT_Int33Handler() BUILTIN_DefaultIntHandler
|
|
||||||
152 interrupt INT_Int34Handler() BUILTIN_DefaultIntHandler
|
|
||||||
153 interrupt INT_Int35Handler() BUILTIN_DefaultIntHandler
|
|
||||||
154 interrupt INT_Int36Handler() BUILTIN_DefaultIntHandler
|
|
||||||
155 interrupt INT_Int37Handler() BUILTIN_DefaultIntHandler
|
|
||||||
156 interrupt INT_Int38Handler() BUILTIN_DefaultIntHandler
|
|
||||||
157 interrupt INT_Int39Handler() BUILTIN_DefaultIntHandler
|
|
||||||
158 interrupt INT_Int3aHandler() BUILTIN_DefaultIntHandler
|
|
||||||
159 interrupt INT_Int3bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
160 interrupt INT_Int3cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
161 interrupt INT_Int3dHandler() INT_Int3dHandler
|
161 interrupt INT_Int3dHandler() INT_Int3dHandler
|
||||||
162 interrupt INT_Int3eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
163 interrupt INT_Int3fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
164 interrupt INT_Int40Handler() BUILTIN_DefaultIntHandler
|
|
||||||
165 interrupt INT_Int41Handler() INT_Int41Handler
|
165 interrupt INT_Int41Handler() INT_Int41Handler
|
||||||
166 interrupt INT_Int42Handler() BUILTIN_DefaultIntHandler
|
|
||||||
167 interrupt INT_Int43Handler() BUILTIN_DefaultIntHandler
|
|
||||||
168 interrupt INT_Int44Handler() BUILTIN_DefaultIntHandler
|
|
||||||
169 interrupt INT_Int45Handler() BUILTIN_DefaultIntHandler
|
|
||||||
170 interrupt INT_Int46Handler() BUILTIN_DefaultIntHandler
|
|
||||||
171 interrupt INT_Int47Handler() BUILTIN_DefaultIntHandler
|
|
||||||
172 interrupt INT_Int48Handler() BUILTIN_DefaultIntHandler
|
|
||||||
173 interrupt INT_Int49Handler() BUILTIN_DefaultIntHandler
|
|
||||||
174 interrupt INT_Int4aHandler() BUILTIN_DefaultIntHandler
|
|
||||||
175 interrupt INT_Int4bHandler() INT_Int4bHandler
|
175 interrupt INT_Int4bHandler() INT_Int4bHandler
|
||||||
176 interrupt INT_Int4cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
177 interrupt INT_Int4dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
178 interrupt INT_Int4eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
179 interrupt INT_Int4fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
180 interrupt INT_Int50Handler() BUILTIN_DefaultIntHandler
|
|
||||||
181 interrupt INT_Int51Handler() BUILTIN_DefaultIntHandler
|
|
||||||
182 interrupt INT_Int52Handler() BUILTIN_DefaultIntHandler
|
|
||||||
183 interrupt INT_Int53Handler() BUILTIN_DefaultIntHandler
|
|
||||||
184 interrupt INT_Int54Handler() BUILTIN_DefaultIntHandler
|
|
||||||
185 interrupt INT_Int55Handler() BUILTIN_DefaultIntHandler
|
|
||||||
186 interrupt INT_Int56Handler() BUILTIN_DefaultIntHandler
|
|
||||||
187 interrupt INT_Int57Handler() BUILTIN_DefaultIntHandler
|
|
||||||
188 interrupt INT_Int58Handler() BUILTIN_DefaultIntHandler
|
|
||||||
189 interrupt INT_Int59Handler() BUILTIN_DefaultIntHandler
|
|
||||||
190 interrupt INT_Int5aHandler() BUILTIN_DefaultIntHandler
|
|
||||||
191 interrupt INT_Int5bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
192 interrupt INT_Int5cHandler() NetBIOSCall16
|
192 interrupt INT_Int5cHandler() NetBIOSCall16
|
||||||
193 interrupt INT_Int5dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
194 interrupt INT_Int5eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
195 interrupt INT_Int5fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
196 interrupt INT_Int60Handler() BUILTIN_DefaultIntHandler
|
|
||||||
197 interrupt INT_Int61Handler() BUILTIN_DefaultIntHandler
|
|
||||||
198 interrupt INT_Int62Handler() BUILTIN_DefaultIntHandler
|
|
||||||
199 interrupt INT_Int63Handler() BUILTIN_DefaultIntHandler
|
|
||||||
200 interrupt INT_Int64Handler() BUILTIN_DefaultIntHandler
|
|
||||||
201 interrupt INT_Int65Handler() BUILTIN_DefaultIntHandler
|
|
||||||
202 interrupt INT_Int66Handler() BUILTIN_DefaultIntHandler
|
|
||||||
203 interrupt INT_Int67Handler() BUILTIN_DefaultIntHandler
|
|
||||||
204 interrupt INT_Int68Handler() BUILTIN_DefaultIntHandler
|
|
||||||
205 interrupt INT_Int69Handler() BUILTIN_DefaultIntHandler
|
|
||||||
206 interrupt INT_Int6aHandler() BUILTIN_DefaultIntHandler
|
|
||||||
207 interrupt INT_Int6bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
208 interrupt INT_Int6cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
209 interrupt INT_Int6dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
210 interrupt INT_Int6eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
211 interrupt INT_Int6fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
212 interrupt INT_Int70Handler() BUILTIN_DefaultIntHandler
|
|
||||||
213 interrupt INT_Int71Handler() BUILTIN_DefaultIntHandler
|
|
||||||
214 interrupt INT_Int72Handler() BUILTIN_DefaultIntHandler
|
|
||||||
215 interrupt INT_Int73Handler() BUILTIN_DefaultIntHandler
|
|
||||||
216 interrupt INT_Int74Handler() BUILTIN_DefaultIntHandler
|
|
||||||
217 interrupt INT_Int75Handler() BUILTIN_DefaultIntHandler
|
|
||||||
218 interrupt INT_Int76Handler() BUILTIN_DefaultIntHandler
|
|
||||||
219 interrupt INT_Int77Handler() BUILTIN_DefaultIntHandler
|
|
||||||
220 interrupt INT_Int78Handler() BUILTIN_DefaultIntHandler
|
|
||||||
221 interrupt INT_Int79Handler() BUILTIN_DefaultIntHandler
|
|
||||||
222 interrupt INT_Int7aHandler() BUILTIN_DefaultIntHandler
|
|
||||||
223 interrupt INT_Int7bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
224 interrupt INT_Int7cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
225 interrupt INT_Int7dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
226 interrupt INT_Int7eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
227 interrupt INT_Int7fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
228 interrupt INT_Int80Handler() BUILTIN_DefaultIntHandler
|
|
||||||
229 interrupt INT_Int81Handler() BUILTIN_DefaultIntHandler
|
|
||||||
230 interrupt INT_Int82Handler() BUILTIN_DefaultIntHandler
|
|
||||||
231 interrupt INT_Int83Handler() BUILTIN_DefaultIntHandler
|
|
||||||
232 interrupt INT_Int84Handler() BUILTIN_DefaultIntHandler
|
|
||||||
233 interrupt INT_Int85Handler() BUILTIN_DefaultIntHandler
|
|
||||||
234 interrupt INT_Int86Handler() BUILTIN_DefaultIntHandler
|
|
||||||
235 interrupt INT_Int87Handler() BUILTIN_DefaultIntHandler
|
|
||||||
236 interrupt INT_Int88Handler() BUILTIN_DefaultIntHandler
|
|
||||||
237 interrupt INT_Int89Handler() BUILTIN_DefaultIntHandler
|
|
||||||
238 interrupt INT_Int8aHandler() BUILTIN_DefaultIntHandler
|
|
||||||
239 interrupt INT_Int8bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
240 interrupt INT_Int8cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
241 interrupt INT_Int8dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
242 interrupt INT_Int8eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
243 interrupt INT_Int8fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
244 interrupt INT_Int90Handler() BUILTIN_DefaultIntHandler
|
|
||||||
245 interrupt INT_Int91Handler() BUILTIN_DefaultIntHandler
|
|
||||||
246 interrupt INT_Int92Handler() BUILTIN_DefaultIntHandler
|
|
||||||
247 interrupt INT_Int93Handler() BUILTIN_DefaultIntHandler
|
|
||||||
248 interrupt INT_Int94Handler() BUILTIN_DefaultIntHandler
|
|
||||||
249 interrupt INT_Int95Handler() BUILTIN_DefaultIntHandler
|
|
||||||
250 interrupt INT_Int96Handler() BUILTIN_DefaultIntHandler
|
|
||||||
251 interrupt INT_Int97Handler() BUILTIN_DefaultIntHandler
|
|
||||||
252 interrupt INT_Int98Handler() BUILTIN_DefaultIntHandler
|
|
||||||
253 interrupt INT_Int99Handler() BUILTIN_DefaultIntHandler
|
|
||||||
254 interrupt INT_Int9aHandler() BUILTIN_DefaultIntHandler
|
|
||||||
255 interrupt INT_Int9bHandler() BUILTIN_DefaultIntHandler
|
|
||||||
256 interrupt INT_Int9cHandler() BUILTIN_DefaultIntHandler
|
|
||||||
257 interrupt INT_Int9dHandler() BUILTIN_DefaultIntHandler
|
|
||||||
258 interrupt INT_Int9eHandler() BUILTIN_DefaultIntHandler
|
|
||||||
259 interrupt INT_Int9fHandler() BUILTIN_DefaultIntHandler
|
|
||||||
260 interrupt INT_Inta0Handler() BUILTIN_DefaultIntHandler
|
|
||||||
261 interrupt INT_Inta1Handler() BUILTIN_DefaultIntHandler
|
|
||||||
262 interrupt INT_Inta2Handler() BUILTIN_DefaultIntHandler
|
|
||||||
263 interrupt INT_Inta3Handler() BUILTIN_DefaultIntHandler
|
|
||||||
264 interrupt INT_Inta4Handler() BUILTIN_DefaultIntHandler
|
|
||||||
265 interrupt INT_Inta5Handler() BUILTIN_DefaultIntHandler
|
|
||||||
266 interrupt INT_Inta6Handler() BUILTIN_DefaultIntHandler
|
|
||||||
267 interrupt INT_Inta7Handler() BUILTIN_DefaultIntHandler
|
|
||||||
268 interrupt INT_Inta8Handler() BUILTIN_DefaultIntHandler
|
|
||||||
269 interrupt INT_Inta9Handler() BUILTIN_DefaultIntHandler
|
|
||||||
270 interrupt INT_IntaaHandler() BUILTIN_DefaultIntHandler
|
|
||||||
271 interrupt INT_IntabHandler() BUILTIN_DefaultIntHandler
|
|
||||||
272 interrupt INT_IntacHandler() BUILTIN_DefaultIntHandler
|
|
||||||
273 interrupt INT_IntadHandler() BUILTIN_DefaultIntHandler
|
|
||||||
274 interrupt INT_IntaeHandler() BUILTIN_DefaultIntHandler
|
|
||||||
275 interrupt INT_IntafHandler() BUILTIN_DefaultIntHandler
|
|
||||||
276 interrupt INT_Intb0Handler() BUILTIN_DefaultIntHandler
|
|
||||||
277 interrupt INT_Intb1Handler() BUILTIN_DefaultIntHandler
|
|
||||||
278 interrupt INT_Intb2Handler() BUILTIN_DefaultIntHandler
|
|
||||||
279 interrupt INT_Intb3Handler() BUILTIN_DefaultIntHandler
|
|
||||||
280 interrupt INT_Intb4Handler() BUILTIN_DefaultIntHandler
|
|
||||||
281 interrupt INT_Intb5Handler() BUILTIN_DefaultIntHandler
|
|
||||||
282 interrupt INT_Intb6Handler() BUILTIN_DefaultIntHandler
|
|
||||||
283 interrupt INT_Intb7Handler() BUILTIN_DefaultIntHandler
|
|
||||||
284 interrupt INT_Intb8Handler() BUILTIN_DefaultIntHandler
|
|
||||||
285 interrupt INT_Intb9Handler() BUILTIN_DefaultIntHandler
|
|
||||||
286 interrupt INT_IntbaHandler() BUILTIN_DefaultIntHandler
|
|
||||||
287 interrupt INT_IntbbHandler() BUILTIN_DefaultIntHandler
|
|
||||||
288 interrupt INT_IntbcHandler() BUILTIN_DefaultIntHandler
|
|
||||||
289 interrupt INT_IntbdHandler() BUILTIN_DefaultIntHandler
|
|
||||||
290 interrupt INT_IntbeHandler() BUILTIN_DefaultIntHandler
|
|
||||||
291 interrupt INT_IntbfHandler() BUILTIN_DefaultIntHandler
|
|
||||||
292 interrupt INT_Intc0Handler() BUILTIN_DefaultIntHandler
|
|
||||||
293 interrupt INT_Intc1Handler() BUILTIN_DefaultIntHandler
|
|
||||||
294 interrupt INT_Intc2Handler() BUILTIN_DefaultIntHandler
|
|
||||||
295 interrupt INT_Intc3Handler() BUILTIN_DefaultIntHandler
|
|
||||||
296 interrupt INT_Intc4Handler() BUILTIN_DefaultIntHandler
|
|
||||||
297 interrupt INT_Intc5Handler() BUILTIN_DefaultIntHandler
|
|
||||||
298 interrupt INT_Intc6Handler() BUILTIN_DefaultIntHandler
|
|
||||||
299 interrupt INT_Intc7Handler() BUILTIN_DefaultIntHandler
|
|
||||||
300 interrupt INT_Intc8Handler() BUILTIN_DefaultIntHandler
|
|
||||||
301 interrupt INT_Intc9Handler() BUILTIN_DefaultIntHandler
|
|
||||||
302 interrupt INT_IntcaHandler() BUILTIN_DefaultIntHandler
|
|
||||||
303 interrupt INT_IntcbHandler() BUILTIN_DefaultIntHandler
|
|
||||||
304 interrupt INT_IntccHandler() BUILTIN_DefaultIntHandler
|
|
||||||
305 interrupt INT_IntcdHandler() BUILTIN_DefaultIntHandler
|
|
||||||
306 interrupt INT_IntceHandler() BUILTIN_DefaultIntHandler
|
|
||||||
307 interrupt INT_IntcfHandler() BUILTIN_DefaultIntHandler
|
|
||||||
308 interrupt INT_Intd0Handler() BUILTIN_DefaultIntHandler
|
|
||||||
309 interrupt INT_Intd1Handler() BUILTIN_DefaultIntHandler
|
|
||||||
310 interrupt INT_Intd2Handler() BUILTIN_DefaultIntHandler
|
|
||||||
311 interrupt INT_Intd3Handler() BUILTIN_DefaultIntHandler
|
|
||||||
312 interrupt INT_Intd4Handler() BUILTIN_DefaultIntHandler
|
|
||||||
313 interrupt INT_Intd5Handler() BUILTIN_DefaultIntHandler
|
|
||||||
314 interrupt INT_Intd6Handler() BUILTIN_DefaultIntHandler
|
|
||||||
315 interrupt INT_Intd7Handler() BUILTIN_DefaultIntHandler
|
|
||||||
316 interrupt INT_Intd8Handler() BUILTIN_DefaultIntHandler
|
|
||||||
317 interrupt INT_Intd9Handler() BUILTIN_DefaultIntHandler
|
|
||||||
318 interrupt INT_IntdaHandler() BUILTIN_DefaultIntHandler
|
|
||||||
319 interrupt INT_IntdbHandler() BUILTIN_DefaultIntHandler
|
|
||||||
320 interrupt INT_IntdcHandler() BUILTIN_DefaultIntHandler
|
|
||||||
321 interrupt INT_IntddHandler() BUILTIN_DefaultIntHandler
|
|
||||||
322 interrupt INT_IntdeHandler() BUILTIN_DefaultIntHandler
|
|
||||||
323 interrupt INT_IntdfHandler() BUILTIN_DefaultIntHandler
|
|
||||||
324 interrupt INT_Inte0Handler() BUILTIN_DefaultIntHandler
|
|
||||||
325 interrupt INT_Inte1Handler() BUILTIN_DefaultIntHandler
|
|
||||||
326 interrupt INT_Inte2Handler() BUILTIN_DefaultIntHandler
|
|
||||||
327 interrupt INT_Inte3Handler() BUILTIN_DefaultIntHandler
|
|
||||||
328 interrupt INT_Inte4Handler() BUILTIN_DefaultIntHandler
|
|
||||||
329 interrupt INT_Inte5Handler() BUILTIN_DefaultIntHandler
|
|
||||||
330 interrupt INT_Inte6Handler() BUILTIN_DefaultIntHandler
|
|
||||||
331 interrupt INT_Inte7Handler() BUILTIN_DefaultIntHandler
|
|
||||||
332 interrupt INT_Inte8Handler() BUILTIN_DefaultIntHandler
|
|
||||||
333 interrupt INT_Inte9Handler() BUILTIN_DefaultIntHandler
|
|
||||||
334 interrupt INT_InteaHandler() BUILTIN_DefaultIntHandler
|
|
||||||
335 interrupt INT_IntebHandler() BUILTIN_DefaultIntHandler
|
|
||||||
336 interrupt INT_IntecHandler() BUILTIN_DefaultIntHandler
|
|
||||||
337 interrupt INT_IntedHandler() BUILTIN_DefaultIntHandler
|
|
||||||
338 interrupt INT_InteeHandler() BUILTIN_DefaultIntHandler
|
|
||||||
339 interrupt INT_IntefHandler() BUILTIN_DefaultIntHandler
|
|
||||||
340 interrupt INT_Intf0Handler() BUILTIN_DefaultIntHandler
|
|
||||||
341 interrupt INT_Intf1Handler() BUILTIN_DefaultIntHandler
|
|
||||||
342 interrupt INT_Intf2Handler() BUILTIN_DefaultIntHandler
|
|
||||||
343 interrupt INT_Intf3Handler() BUILTIN_DefaultIntHandler
|
|
||||||
344 interrupt INT_Intf4Handler() BUILTIN_DefaultIntHandler
|
|
||||||
345 interrupt INT_Intf5Handler() BUILTIN_DefaultIntHandler
|
|
||||||
346 interrupt INT_Intf6Handler() BUILTIN_DefaultIntHandler
|
|
||||||
347 interrupt INT_Intf7Handler() BUILTIN_DefaultIntHandler
|
|
||||||
348 interrupt INT_Intf8Handler() BUILTIN_DefaultIntHandler
|
|
||||||
349 interrupt INT_Intf9Handler() BUILTIN_DefaultIntHandler
|
|
||||||
350 interrupt INT_IntfaHandler() BUILTIN_DefaultIntHandler
|
|
||||||
351 interrupt INT_IntfbHandler() BUILTIN_DefaultIntHandler
|
|
||||||
352 interrupt INT_IntfcHandler() BUILTIN_DefaultIntHandler
|
|
||||||
353 interrupt INT_IntfdHandler() BUILTIN_DefaultIntHandler
|
|
||||||
354 interrupt INT_IntfeHandler() BUILTIN_DefaultIntHandler
|
|
||||||
355 interrupt INT_IntffHandler() BUILTIN_DefaultIntHandler
|
|
||||||
|
|
||||||
# VxDs. The first Vxd is at 400
|
# VxDs. The first Vxd is at 400
|
||||||
#
|
#
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
#include "heap.h"
|
#include "heap.h"
|
||||||
#include "module.h"
|
#include "module.h"
|
||||||
#include "miscemu.h"
|
#include "miscemu.h"
|
||||||
#include "neexe.h"
|
|
||||||
#include "stackframe.h"
|
#include "stackframe.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "process.h"
|
#include "process.h"
|
||||||
|
@ -42,21 +41,11 @@ typedef struct
|
||||||
static const BUILTIN16_DESCRIPTOR *builtin_dlls[MAX_DLLS];
|
static const BUILTIN16_DESCRIPTOR *builtin_dlls[MAX_DLLS];
|
||||||
static int nb_dlls;
|
static int nb_dlls;
|
||||||
|
|
||||||
/* list of DLLs that should always be loaded at startup */
|
|
||||||
static const char * const always_load[] =
|
|
||||||
{
|
|
||||||
"system", "display", "wprocs", NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Ordinal number for interrupt 0 handler in WPROCS.DLL */
|
|
||||||
#define FIRST_INTERRUPT_ORDINAL 100
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* BUILTIN_DoLoadModule16
|
* BUILTIN_DoLoadModule16
|
||||||
*
|
*
|
||||||
* Load a built-in Win16 module. Helper function for BUILTIN_LoadModule
|
* Load a built-in Win16 module. Helper function for BUILTIN_LoadModule.
|
||||||
* and BUILTIN_Init.
|
|
||||||
*/
|
*/
|
||||||
static HMODULE16 BUILTIN_DoLoadModule16( const BUILTIN16_DESCRIPTOR *descr )
|
static HMODULE16 BUILTIN_DoLoadModule16( const BUILTIN16_DESCRIPTOR *descr )
|
||||||
{
|
{
|
||||||
|
@ -143,38 +132,6 @@ static HMODULE16 BUILTIN_DoLoadModule16( const BUILTIN16_DESCRIPTOR *descr )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* BUILTIN_Init
|
|
||||||
*
|
|
||||||
* Load all built-in modules marked as 'always used'.
|
|
||||||
*/
|
|
||||||
BOOL BUILTIN_Init(void)
|
|
||||||
{
|
|
||||||
WORD vector;
|
|
||||||
HMODULE16 hModule;
|
|
||||||
const char * const *ptr = always_load;
|
|
||||||
|
|
||||||
while (*ptr)
|
|
||||||
{
|
|
||||||
if (!BUILTIN_LoadModule( *ptr )) return FALSE;
|
|
||||||
ptr++;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set interrupt vectors from entry points in WPROCS.DLL */
|
|
||||||
|
|
||||||
hModule = GetModuleHandle16( "WPROCS" );
|
|
||||||
for (vector = 0; vector < 256; vector++)
|
|
||||||
{
|
|
||||||
FARPROC16 proc = NE_GetEntryPoint( hModule,
|
|
||||||
FIRST_INTERRUPT_ORDINAL + vector );
|
|
||||||
assert(proc);
|
|
||||||
INT_SetPMHandler( vector, proc );
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* BUILTIN_LoadModule
|
* BUILTIN_LoadModule
|
||||||
*
|
*
|
||||||
|
@ -288,17 +245,3 @@ void BUILTIN_RegisterDLL( const BUILTIN16_DESCRIPTOR *descr )
|
||||||
assert( nb_dlls < MAX_DLLS );
|
assert( nb_dlls < MAX_DLLS );
|
||||||
builtin_dlls[nb_dlls++] = descr;
|
builtin_dlls[nb_dlls++] = descr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
|
||||||
* BUILTIN_DefaultIntHandler
|
|
||||||
*
|
|
||||||
* Default interrupt handler.
|
|
||||||
*/
|
|
||||||
void WINAPI BUILTIN_DefaultIntHandler( CONTEXT86 *context )
|
|
||||||
{
|
|
||||||
WORD ordinal;
|
|
||||||
char name[80];
|
|
||||||
BUILTIN_GetEntryPoint16( CURRENT_STACK16, name, &ordinal );
|
|
||||||
INT_BARF( context, ordinal - FIRST_INTERRUPT_ORDINAL );
|
|
||||||
}
|
|
||||||
|
|
|
@ -81,7 +81,6 @@ typedef struct
|
||||||
const void *rsrc; /* resources data */
|
const void *rsrc; /* resources data */
|
||||||
} BUILTIN16_DESCRIPTOR;
|
} BUILTIN16_DESCRIPTOR;
|
||||||
|
|
||||||
extern BOOL BUILTIN_Init(void);
|
|
||||||
extern HMODULE16 BUILTIN_LoadModule( LPCSTR name );
|
extern HMODULE16 BUILTIN_LoadModule( LPCSTR name );
|
||||||
extern LPCSTR BUILTIN_GetEntryPoint16( struct _STACK16FRAME *frame, LPSTR name, WORD *pOrd );
|
extern LPCSTR BUILTIN_GetEntryPoint16( struct _STACK16FRAME *frame, LPSTR name, WORD *pOrd );
|
||||||
extern void BUILTIN_RegisterDLL( const BUILTIN16_DESCRIPTOR *descr );
|
extern void BUILTIN_RegisterDLL( const BUILTIN16_DESCRIPTOR *descr );
|
||||||
|
|
|
@ -680,6 +680,12 @@ BOOL INSTR_EmulateInstruction( CONTEXT86 *context )
|
||||||
{
|
{
|
||||||
FARPROC16 addr = INT_GetPMHandler( instr[1] );
|
FARPROC16 addr = INT_GetPMHandler( instr[1] );
|
||||||
WORD *stack = (WORD *)STACK_PTR( context );
|
WORD *stack = (WORD *)STACK_PTR( context );
|
||||||
|
if (!addr)
|
||||||
|
{
|
||||||
|
FIXME("no handler for interrupt %02x, ignoring it\n", instr[1]);
|
||||||
|
EIP_reg(context) += prefixlen + 2;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
/* Push the flags and return address on the stack */
|
/* Push the flags and return address on the stack */
|
||||||
*(--stack) = LOWORD(EFL_reg(context));
|
*(--stack) = LOWORD(EFL_reg(context));
|
||||||
*(--stack) = CS_reg(context);
|
*(--stack) = CS_reg(context);
|
||||||
|
|
|
@ -6,14 +6,19 @@
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
|
#include "wine/winbase16.h"
|
||||||
#include "miscemu.h"
|
#include "miscemu.h"
|
||||||
#include "msdos.h"
|
#include "msdos.h"
|
||||||
|
#include "module.h"
|
||||||
#include "debugtools.h"
|
#include "debugtools.h"
|
||||||
|
|
||||||
DEFAULT_DEBUG_CHANNEL(int)
|
DEFAULT_DEBUG_CHANNEL(int);
|
||||||
|
|
||||||
static FARPROC16 INT_Vectors[256];
|
static FARPROC16 INT_Vectors[256];
|
||||||
|
|
||||||
|
/* Ordinal number for interrupt 0 handler in WPROCS.DLL */
|
||||||
|
#define FIRST_INTERRUPT 100
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* INT_GetPMHandler
|
* INT_GetPMHandler
|
||||||
|
@ -22,6 +27,19 @@ static FARPROC16 INT_Vectors[256];
|
||||||
*/
|
*/
|
||||||
FARPROC16 INT_GetPMHandler( BYTE intnum )
|
FARPROC16 INT_GetPMHandler( BYTE intnum )
|
||||||
{
|
{
|
||||||
|
if (!INT_Vectors[intnum])
|
||||||
|
{
|
||||||
|
static HMODULE16 wprocs;
|
||||||
|
if (!wprocs)
|
||||||
|
{
|
||||||
|
if ((wprocs = GetModuleHandle16( "wprocs" )) < 32)
|
||||||
|
{
|
||||||
|
ERR("could not load wprocs.dll\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
INT_Vectors[intnum] = NE_GetEntryPoint( wprocs, FIRST_INTERRUPT + intnum );
|
||||||
|
}
|
||||||
return INT_Vectors[intnum];
|
return INT_Vectors[intnum];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue