home *** CD-ROM | disk | FTP | other *** search
- {---------------------------------------------------------------}
- { C L O C K _ I 8 Clock Interrupt Service }
- {---------------------------------------------------------------}
- (* CLOCK_I8.INL *)
- (* Fm: Neil J. Rubenking [72267,1531]
- On each call to INT 8, this routine checks if the timer is
- "running". If it is, it checks if the activation time has
- been reached. If it has, the STATUS byte is set to include
- the "HotKey_On" and "From_Timer" bits. After that, control
- passes on to the STAYI8.OBJ code *)
-
- (*NJR*)
- INLINE(
- $9C/ {PUSHF}
- $2E/$F6/$06/>Status/<Timer_On/ {TEST BY CS:status, timer_on}
- $74/$29/ {JZ nothing}
- $50/ {PUSH AX}
- $1E/ {PUSH DS}
- $B8/$40/$00/ {MOV AX,40h}
- $8E/$D8/ {MOV DS,AX}
- $A1/$6E/$00/ {MOV AX,[6E]}
- $2E/$39/$06/>timer_hi/ {CMP CS:timer_hi,AX}
- $75/$16/ {JNZ not_yet}
- $A1/$6C/$00/ {MOV AX,[6C]}
- $2E/$39/$06/>timer_Lo/ {CMP CS:timer_Lo,AX}
- $7D/$0C/ {JGE Not_Yet}
- $2E/$80/$0E/>Status/<HotKey_On/ {OR BY CS:status, hotkey_on}
- $2E/$80/$0E/>Status/<from_Timer/ {OR BY CS:status, from_timer}
-
- {Not_Yet}
- $1F/ {POP DS}
- $58/ {POP AX}
- {nothing}
- $9D); {POPF}
- (*NJR*)
- {-------------------- E n d C l o c k _ I 8 ------------------------}