IBM PC CONVERTIBLE Technical Reference page 210

Table of Contents

Advertisement

POST Interval Services (POST _INTV)
032A
I NT 15H
ROUTINE-NAME:
POSLINTV
(AH
=
83H)
FUNCTION:
POST USER WHEN ELAPSED TIME INTERVAL HAS EXPIRED WITH NO
WAIT. (RETURNS IMMEDIATELY AND POSTS OCCURRENCE VIA RTC
INTERRUPTS)
INPUT:
AL
=
0
SET UP FOR POST ON ELAPSED TIME INTERVAL
ES: BX POINTER TO BYTE IN CALLERS STORAGE FOR POST
CX,DX NUMBER OF MICROSECONDS TO ELAPSE BEFORE POSTING
(CX MOST SIGNIFICANT)
AL
=
1 CANCEL THE INTERVAL POST
OUTPUT: FOR POST SET - RTC PERIODIC INTERRUPT IS ACTIVATED TO KEEP
TRACK OF ELAPSED TIME. INTERRUPTS AT
APPROXIMATELY
A 1 MILLISECOND RATE.
WHEN TIME
HAS ELAPSED THE USER FLAG POINTED BY ES:BX WILL
HAVE BIT 7 SET TO A 1. THE PERIODIC INTERRUPT
WILL THEN BE TURNED OFF.
FOR CANCEL - RTC PERIODIC INTERRUPT IS TURNED OFF AND THE
POST ACTIVE FLAG IS RESET.
REGISTERS
MODIFIED:
AX
POSLINTV
PROC
NEAR
032A
B4 OB
MOV
AH, RTCMODE
SET REGISTER NUMBER FOR RTC
CHECK FOR SET
032C
3C 00
CMP
AL,O
032E
74 14
JE
POSTLI
MUST BE CLEAR
CANCEL ANY OUTSTANDING INTERVAL
0330
9C
PUSHF
DISABLE INTERRUPTS
0331
E8 0000 E
CALL
o
I SA BL E_NM I
AND 8259 INTERRUPTS
0334
E8 0000 E
CALL
GELRTCREG
GET MODE
0337
24 BF
AND
AL, NOT PIE_ENABLE
RESET PERIODIC IRPT ENABLE
0339
E8 0000 E
CALL
PULRTCREG
; SET MODE
033C
80 26 OOAO R FE
AND
RTCWAILFLAG,NOT INTERVAL_WAIT; RST INTVL ACTIVE
0341
EB 37 90
JMP
POSTL3
; ENABLE INTERRUPTS AND EXIT
; SET INTERVAL UNLESS ALREADY ACTIVE
0344
POSTLI :
0344
F6 06 OOAO R 01
TEST
JZ
RTCWAILFLAG, INTERVAL_WAIT
CHECK WAIT IN PROG
0349
74 04
POSTL2
WAIT IS ACTIVE SO SIGNAL ERROR
034B
F9
STC
034C
EB 31 90
JMP
POSTI_EXIT
ACTIVATE RTC PERIODIC INTERRUPT
034F
POSTL2:
034F
9C
PUSHF
0350
E8 0000 E
CALL
DISABLLNMI
0353
8C 06 009A R
MOV
USER-FLAG....SEG, ES
0357
89 IE 0098 R
MOV
USER_FLAG, BX
035B
89 DE 009E R
MOV
RTCHIGH,CX
035F
89 16 009C R
MOV
RTCLOW,DX
SET ERROR
RETURN
DISABLE INTERRUPTS
SET UP TRANSFER TABLE
ROM BIOS 2-185

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents