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