IBM 5170 Technical Reference page 303

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

014A
E8 0192 R
014D
8A C1
014F
E6 71
0151
£8 0192
R
0154
8A
C5
0156
E6 71
0158
£4
Al
015A
24
FE
015C
E6 Al
015E
B2
OA
0160
E8 018B
R
0163
E4 71
0165
24 7F
0167
DC 20
0169
50
016A
132
OA
016C
£8 0188 R
016F
58
0170
E6 71
0172
£9 0015 R
0175
0175
0175
017')
FA
0176
82 OA
0178
£8 0188
R
017B
£4
71
0170
24 57
017F
50
0180
82 OA
0182
E8 0188 R
0185
58
0186
E6 71
0188
E9 0015 R
018B
018B
018B
018B
FE C2
018D
8A C2
Ol8F
E6 70
0191
C3
0192
0192
80 C2 02
0195
8A C2
0197
E6 70
0199
C3
019A
Ol9A
52
0198
B2 09
0190
E8 016B R
01AO
80 26
01A2
E6 71
01A4
E8 0188 R
01A7
BO 82
01A9
E6 71
01AB
E8 018B R
OlAE
E4 71
01BO
E8 018B R
0183
E4 71
0165
SA
01B6
C3
0167
01B7
01 B7
51
01 B8
B9 0258
01BB
01B6
600A
01BO
E6 70
018F
EB 00
01Cl
E4 71
01C3
AS 80
01C5
74 OS
01C7
E2 F2
01C9
33 CO
Olca
F9
01CC
01CC
59
01CO
C3
OlCE
OlCE
01CE
01CE
FB
01CF
1 E
0100
50
0101
52
0102
57
0103
82 OA
0105
E8 0186 R
01D8
E4 71
01DA
8A EO
010e
E8 0186 R
01DF
£4 71
01El
22 C4
01 E3
50
01£4
A840
01E6
742E
01 E8
E8 0000 E
CALL
MOV
OUT
PORT_INC_2
AL,CL
CMOS PORT+l,AL
GET M! NUTES PARAMETER
LOAD ALARM BYTE - MINUTES
CALL
MOV
OUT
IN
PORT=: I NC_Z
AL,CH
CMOS_PORT+l, AL
AL,OA1H
GET HOURS PARAMETER
, LOAD ALARM 8YTE - HOURS
; ENSURE INTERRUPT UNMASKED
ANa
AL,OFEH
OUT
OA1H,AL
MOV
DL.OAH
CALL
IN
ANa
pORT_INC
AL. CMOS_PORT+l
AL,07FH
GET CURRENT VALUE
ENSURE SET BIT TURNED OFF
OR
AL, ZOH
TURN ON ALARM ENABLE
PUSH
AX
MOV
DL,OAH
CALL
POP
PORT INC
AX
-
OUT
JMP
CMOS PORT+1, AL
Tl
-
ENABLE ALARM
RTC_SET_ALARM
ENDP
RTC_RESET_ALARM PROC
NEAR
RTC_7 :
eLi
INTERRUPTS MASKED DURING RESET
MOV
DL,OAH
CALL
PORT I Ne
IN
AL. CMOS_PORT+l
GET STATUS BYTE
AND
AL,57H
TURN OFF ALARM ENABLE
PUSH
AX
SAVE
MOV
DL.OAH
CALL
PORT_I NC
POP
AX
OUT
CMOS_PORT+l,AL
RESTORE
JMP
T1
RTC_RESET _ALARM ENDP
RTC T I MEB I as SUBR
PROC
NEAR
PORT INC:
-
-
INC
OL
INCREMENT ADDRESS
MOV
AL, DL
OUT
CMOS_PORT, AL
RET
PORT_INC 2;
ADD
OL,2
;
I NCREMENT ADDRESS
MOV
AL,DL
OUT
CMOS_PORT. AL
RET
; N ITlALlZCSTATUS
PRoe
NEAR
PUSH
ox
SAVE
MDV
DL,09H
CALL
PORT_I NC
MOV
AL,26H
OUT
CMOS PORT+l. AL
INITIALIZE 'A' REGISTER
CALL
PORT-I NC
MOV
AL,82H
SET 'SET BIT'
FOR CLOCK INITIALIZATION
AND 24 HOUR MODE
OUT
CMOS PORT+l.AL
INITIALIZE 18 1 REGISTER
CALL
PORT= I NC
IN
AL, CMOS_PORT+l
READ REGISTER 'c' TO INITIALIZE
CALL
PORT_I
~c
IN
AL, CMOS_PORT+1
READ REGISTER '0'
TO INITIALIZE
POP
OX
RESTORE
RET
j
N I TlALlZE_ST ATUS
ENDP
GPD
IN PR:
-
-
PUSH
ex
MOV
CX,600
SET LOOP COUNT
UPDATE:
MOV
AL,OAH
ADDRESS OF 'A'
REGISTER
OUT
CMOS_PORT, AL
JMP
$+2
I/O TIME DELAY
IN
AL, CMOS_PORT+l
READ IN REGISTER 'A'
TEST
AL,80H
IF 8XH--> UIP BIT IS ON (CANNOT READ TIM
JZ
UPO_I N_PREND
LOOP
UPDATE
XOR
AX,AX
STC
SET CARRY FOR ERROR
UPD_I N_PREND:
POP
ex
RET
RETURN
~TC
TIMEBIOS SUBR
ENDP
~l~~_OF_DAY_T
ENDP
; -- I NT 50 (LEVEL 8)----- ------------------------- --------------­
THIS ROUTINE HANDLES THE PERIODIC AND ALARM INTERRUPTS FROM
THE NON-VOLATILE TIMER.
INPUT FREQUENCY IS 1.024 KHZ
OR APPROXIMATELY 1024 INTERRUPTS EVERY SECOND FOR THE
PERIODIC INTERRUPT.
FOR THE ALARM FUNCTION, AN INTERRUPT WILL
OCCUR AT THE DESIGNATED TIME.
THE INTERRUPT IS ENABLED ONLY WHEN EYENT OR ALARM FUNCTIONS
ARE ACTIVE.
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
ALARI~
INTERRUPT. THE USER ROUTINE WILL BE INVOKED
THROUGH INT 4AH.
THE USER MUST CODE A ROUTINE AND PLACE THE
CORRECT ADDRESS I N THE VECTOR TABLE.
krc:iNr- -PRo;;----FAR-------------------------------.------.----­
ST I
I NTERRUPTS BACK ON
PUSH
OS
SAVE REGISTERS
PUSH
AX
PUSH
OX
PUSH
01
MOV
DL, OAH
GET ENABLES
CALL
PORT INC
IN
AL, CMOS_PORT+l
MOV
AH,AL
SAVE
CALL
PORT INC
GET SOURCE
IN
AL, CMOS_PORT+l
AND
AL,AH
PUSH
AX
SAVE
TEST
AL,040H
CHECK FOR PER I 00 I C I NTERRU PT
JZ
RTC_I NT_9
NO - GO AROUND
CALL
DDS
ESTABL ISH AODRESSAB I L I TY
01EB
81 2E 009C R 0300
SUB
RTC_LOW, 0976
DECREMENT COUNT
01Fl
83 lE 009E R 00
SBB
RTC_HIGH,O
01F6
77 lE
JA
RTC_I NT_9
BIOS 2 5-161

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents