IBM PC CONVERTIBLE Technical Reference page 70

Table of Contents

Advertisement

0551
0551
B4 OB
0553
E8 0747
0556
8A F8
0558
FE C4
055A
E8 0747
0550
22 C7
055F
50
0560
A8 40
0562
74 25
THE INTERRUPT IS ENABLED ONLY WHEN EVENT OR ALARM FUNCTIONS
ARE ACTIVE OR WHEN SYSTEM IS SLEEPING.
FOR THE EVENT INTERRUPT, THE HANDLER WILL DECREMENT THE
WAIT COUNTER AND WHEN IT EXPIRES WILL TURN ON THE HIGH ORDER
BIT OF THE DESIGNATED FLAG.
FOR THE ALARM INTERRUPT, THE USER ROUTINE WILL BE INVOKED
ON THE NEXT TIMER 0 INTERRUPT THROUGH INT 4AH.
ON ENTRY THE BP REGISTER POINTS TO THE LAST STACK POSITION
RTUILARM_NMI
PROC
NEAR
MOV
AH, RTCMODE
CALL
GELRTCNMI
MOV
BH,AL
INC
AH
CALL
GELRTCNMI
AND
AL, BH
PUSH
AX
TEST
AL,PLINT
JZ
RTCINL9
PERIODIC INTERRUPT HAS BEEN RECEIVED
GET INTERRUPT MODE REGISTER
SAVE MODE
GET INTERRUPT STATUS REGISTER
MASK SOURCE WITH ENABLES
SAVE INTERRUPT CONDITIONS
CHECK FOR PERIODIC INTERRUPT
NO - GO AROUND
0564
81 2E 00ge R 0300
SUB
JNC
SBB
JAE
RTCLOW,0976
RTCINL9
RTCHIGH,O
RTC_INL9
DECREMENT ELAPSED TIME COUNT
SKIP HIGH BYTE
056A
73 10
056C
83 IE 009E R 00
0571
73 16
WAIT TELL ROLLS FROM 0
USERS ELAPSED TIME EVENT HAS OCCURRED
0573
0575
0578
057A
0570
0582
0586
0589
0589
058A
058C
B4 OB
MOV
AH,RTCMODE
GET INTERRUPT MODE CONTROL
E8 0747 R
CALL
GELRTCNMI
24 BF
AND
AL, NOT PI E_ENABLE
RESET PERIODIC INTERRUPT
E8 0750
CALL
PULRTCNMI
CLEAR EVENLWAIT ACTIVE FLAG AND SET USERS EVENT COMPLETE FLAG
80 26 OOAO R FE
AND
RTCWAILFLAG,NOT INTERVALWAIT ; RESET INT WAIT FLAG
C5 3E 0098 R
LOS
DI,DWORD PTR USEILFLAG ; OS: 01
<--
USERSJLAG ADDRESS
C6 05 80
MOV
BYTE PTR [01], POSTED
SET US ERS FLAG
RTCINL9:
58
POP
AX
RETRIEVE INTERRUPT SOURCE
A8 20
TEST
AL ,AL_INT
TEST FOR ALARM INTERRUPT
74 05
JZ
RTCINLI0
NO - GO AROUND
RTC ALARM TIME HAS BEEN REACHED - SET BIOS_STATUS FLAG TO ALARM_PEND
THIS WILL CAUSE AN INT 4AH TO BE EXECUTED ON THE NEXT TIMERO INTERRUPT
,
058E
80 OE OOAO R 02
OR
RTCWAILFLAG,ALAR~PEND
; SET INT 4AH CALL PENDING
CHECK FOR UPDATE IN PROGRESS INTERRUPT (EVERY 1 SECOND)
0593
RTCINLI0:
0593
A8 10
TEST
AL,UE_INT
; UPDATE ENDED INTERRUPT?
JFZ
RTCINL14
; JUMP IF NOT
0595
75 03
JNZ
$+5
; I F NOT ZERO JUMP AROUND JUMP
0597
E9 0647 R
JMP
RTCINL14
; ELSE TAKE A LONG JUMP
059A
E8 064A R
CALL
LOW_BALCHK
CHECK AND DISPLAY LOW BATTERY
MESSAGE I F NECESSARY
0590
E4 7F
IN
AL,PWR_STAT
GET POWER STATUS
059F
A8 40
TEST
AL, EXLPWR
ARE WE ON EXTERNAL PWR?
JFNZ
RTCINL14
JUMP I F SO
05Al
74 03
JZ
$+5
; I F NOT NOT ZERO JUMP AROUND JUMP
05A3
E9 0647
JMP
RTCINL14
; ELSE TAKE A LONG JUMP
ROM BIOS 2-45

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents