[comp.sys.ibm.pc] Re-Mapping DOS Interrupt 0x21 Vector

merat@radix (Merat Bagha) (05/16/88)

Is it possible to map the interrupt 0x21 vector (DOS Universal Services)
in such a fashion that the new routine collects statistics as to the 
frequency of each sub-function service request, followed by a jump to the 
old interrupt service routine?

I have not had much luck with my attempts up to this point (via MSC V5.0 
and/or MASM 5.0, a la Al Stevens' article in the March issue of Computer 
Languages Magazine).  I have not had any problems with remapping a number
of other interrupts.

Thanks!

merat%radix@omepd.intel.com	OR	{verdix, omepd}!radix!merat

-- 
Merat Bagha
Radix MicroSystems, Inc.	(503)690-1229
19545 NW von Neumann Drive, Beaverton, OR 97006

jcw@wa4mei.UUCP (8125) (05/17/88)

I have successfully re-vectored int 21 for an application at work.  The
best method seems to be to create a device driver that does nothing in
the main body, but contains code to perform your application.  Grab the
int 21 vector during the INIT routine of the driver, and store it off.
What this effectively gives you is a terminate and stay resident piece
of code that garuntees (or at least more reliably than once COMMAND.COM
is running) you an un-contaminated int 21 vector.  If you're interested
in more gory details, reply via mail.
                                                  - John C. Wren