INT 08H: Timer Interrupt
This hardware-generated interrupt (IRQ 0) is executed upon each tick of
the PC's real-time clock. The clock ticks every 55ms, or about 18.2 ticks
per second.
The ROM-BIOS (default) code for this interrupt updates the clock values at
0:046c. It also turns off the diskette drive motors after about 2 seconds
without read/write activity. See BIOS Data Area for other variables.
If you want to use this interrupt for custom timer-keyed activities (as
with a TSR program) you must be sure to include the code that tells the
system when the interrupt is finished. The magic sequence is:
mov al,20H ;send End-Of-Interrupt signal
out 20H,al ; to the 8259 Interrupt Controller
Most TSRs let the default code do this. For instance, when the TSR is
installed, the original vector is saved in a variable named cs:[old_int8].
Then the following code is executed on each INT 08H:
pushf ;simulate an INT
call dword ptr cs:[old_int8] ;perform normal timer actions
cmp cs:my_var,test_value ;now do customized stuff
... etc. ...
iret ;return to interrupted foreground application program
█▌CPU Exception Interrupt▐█
286+ computer execute INT 08H when encountering a Double Exception Error
(an exception while processing an exception).
See Also: IRQs: Hardware Interrupts
Timer Ports
TSR Functions
ROM-BIOS Functions
DOS Functions
-♦-