DOS/32 Advanced DOS Extender - Programmer's Reference

2.62 - API function 09h - Get Access to Performance Counters


In: AL = 09h
Out: CX:EDX = selector:offset pointer to the base address of Performance Counters


a) Selector returned by this function should NOT be modified or freed by the user.

b) Performance Counters are 32-bit wide counters (located inside DOS/32A DPMI Kernel) that count the number of mode switches performed by the DOS Extender. These counters can be read from or written to at any time by the application.

c) The structure of the Performance Counters is the following (relative to EDX as a base address):

00h - INT RM -> PM (up)
04h - INT PM -> RM (down)
08h - IRQ RM -> PM (up)
0Ch - IRQ PM -> RM (down)
10h - IRQ Callback RM -> PM (up)
14h - IRQ Callback PM -> RM (down)
18h - Callback RM -> PM (up)
1Ch - Callback PM -> RM (down)

Where "INT" is a Software Interrupt, "IRQ" is a Hardware Interrupt, "IRQ Callback" is a Hardware Interrupt Callback (valid for IRQ 0-15) and "PM" and "RM" stand for Protected and Real Modes respective.

d) Note that the counters will increment each time a (respective) mode switch occurs, and cannot be setup to count specific Interrupts/IRQs/Callbacks (ie INT 21h, etc).


Copyright Supernar Systems, Ltd. 1996-2005
All Rights Reserved.