IBM AT 5170 Technical Reference page 350

Table of Contents

Advertisement

IBM Persona!
Computer MACRO Assembler
Version 2.00
1-'
BIOS2 ---- 06/10/85
BIOS
INTERRUPT ROUTINES
06-10-85
228
alOE E8 o 16B R
CALL
UPD IPR
CHECK FOR UPDATE I N PROCESS
229
o I I I
13 03
JNC
RTC-65
SKIP INITIALIZATION IF NO ERROR
230
01 13 E8 0154 R
CALL
RTC::::STA
ELSE INITIALIZE CLOCK
231
0116
RTC
65:
2'2
01 16 8A E5
MOV
AH,DH
GET SECONDS BYTE
-
233
a
I 18 BO 01
MOV
AL, CMOS SEC ALARM
ADDRESS THE SECONDS ALARM REG [STER
2'4
a
I
IA E8 0000 E
CALL
CMOS WRITE -
I NSERT SECONDS
235
0110 8A EI
MOV
AH,CC
GET MINUTES PARAMETER
2'5
01 IF BO 0'
MOV
AL, CMOS MIN ALARM
ADDRESS MINUTES ALARM REGISTER
237
0121
E8 0000 E
CALL
CMOS WRTTE -
INSERT MINUTES
2'8
0124 8A E5
MDV
AH,cFi
GET HOURS PARAMETER
239
0126 80 05
MDV
AL, CMOS HR ALARM
ADDRESS HOUR ALARM REG
I
STER
240
0128 E8 0000 E
CALL
CMOS WRTTE ­
I NSERT HOURS
241
012B E4 AI
IN
AL,INTBOI
READ SECOND
I
NTERRUPT MASK REGISTER
242
0120 24 FE
AND
AL,OFEH
ENABLE ALARM T I MER BIT
I CY= 0)
24'
012F E6 AI
OUT
INTBO I ,AL
WRITE UPDATED MASK
244
0131 B8 OBOB
MOV
ADDRESS ALARM REG [STER
245
0134 E8 0000 E
CALL
READ CURRENT ALARM REG [STER
~~o~*~~~~_REG_B
245
0137 24 1F
AND
AL,OlFH
ENSURE SET
81
T TURNED OFF
241
0139 DC 20
OR
AL,20H
TURN ON ALARM ENABLE
248
0138 86 EO
XCHG
AH,AL
MOVE MASK TO OUTPUT REG I STER
249
013D E8 0000 E
CALL
CMOS_WR I TE
WR
I
TE NEW ALARM MASK
250
0140 F8
eLe
SET CY=
0
251
0141
RTe 69 :
-
252
0141
B8 0000
MDV
AX,O
CLEAR AX REG I STER
25'
0144 C3
RET
RETURN WITH RESULTS
[N
CARRY FLAG
254
255
0145
RTC 70:
RESET ALARM
-
255
0145 88 OB08
MOV
AX.X*CMOS REG B
ADDRESS ALARM REGISTER
(TO 80TH AH,AL)
251
0148 E8 0000 E
CALL
CMOS READ-
-
READ ALARM REG I STER
258
014B 24 51
AND
AL,51H
TURN OFF ALARM ENABLE
259
0140 86 EO
XCHG
AH,AL
SAVE DATA AND RECOVER ADDRESS
250
014F E8 0000 E
CALL
CMOS_WR I TE
RESTORE NEw VALUE
25 I
0152 F8
CLC
SET CY=
0
252
0153 C3
RET
RETURN WITH NO CARRY
25'
264
0154
RTC_OO
ENDP
255
255
0154
RTC STA PROC
NEAR
INITIALIZE REAL TIME CLOCK
-
251
0154 88 260A
MOV
AX,26H*H+CMOS REG A
ADDRESS REGISTER A AND LOAD DATA MASK
258
0157 E8 0000 E
CALL
CMOS WRITE
-
-
INITIALIZE STATUS REGISTER A
259
a 15A B8 820B
MOV
AX,82H-H+CMOS REG B
SET ·SET
BIT"
FOR CLOCK INITIALIZATION
210
0150 E8 0000 E
CALL
CMOS WR I TE
-
-
AND 24 HOUR MODE TO REG I STER B
211
0160 BO OC
MOV
AL. CMOS REG C
ADDRESS REGISTER C
212
0162 E8 0000 E
CALL
CMOS READ
-
READ REGISTER C TO
INITIALI ZE
21'
0165 BO 00
MOV
AL. CMOS REG
0
ADDRESS REGISTER D
214
0167 E8 0000 E
CALL
CMOS_READ
-
READ REG I STER
D
TO
I
N I TI AL.I ZE
215
a 16A C3
RET
215
211
0168
RTC STA ENDP
218
219
o
16B
UPD
IPR PROC
NEAR
WA ITT I LL UPDATE NOT
I N PROGRESS
280
0168 51
PUSH
CX
SAVE CALLERS REGI STER
281
016C 89 0320
MDV
cX,eoo
SET TIMEOUT LOOP COUNT
282
016F
UPD 10:
-
-
28'
a 16F 80 OA
MOV
AL,CMOS_REG_A
ADDRESS STATUS REG I STER A
284
0111 FA
CL I
NO TIMER INTERRUPTS DURING UPDATES
285
0172 E8 0000 E
CALL
CMOS READ
READ UPDATE IN PROCESS FLAG
285
0115 A8 80
TEST
AL,8QH
IF UIP BIT
IS ON I CANNOT READ TIME)
281
Of 77 14 05
JZ
UPD_90
EXIT WITH CY= 0 IF CAN READ CLOCK NOW
288
0119 FB
ST!
ALLOW
[NTERRUPTS WH I LE WA I T [NG
289
Ol7A E2 F'
LOOP
UPD 10
LOOP TILL READY OR TIMEOUT
290
017C 33 CO
XOR
AX.Ax
CLEAR RESULTS
I F ERROR
291
ailE F9
STC
SET CARRY FOR ERROR
292
OllF
UPD 90:
-
293
o 11F 59
POP
CX
RESTORE CALLERS REG I STER
294
0180 FA
CLI
I NTERRUPTS OFF OUR I NG SET
295
0181 C,
RET
RETURN WITH CY FLAG SET
296
291
0182
UPD
-
IPR ENDP
5-178
BIOS2

Advertisement

Table of Contents
loading

Table of Contents