IBM 5170 Technical Reference page 287

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

OOCD
60
DB
060H
OOCE
1E
PUSH
OS
ASSUME
OS: DATA
oocr
S8
---­ R
MOV
AX, DATA
0002
000 1 1
0006
8E 08
2B CO
A2 0070 R
MOV
SUB
MOV
DS,AX
AA,AA
TIMER_orL,AL
00D9
A3 006e R
MOV
T I MER_LOW, AX
OODC
A3 G06E R
MOV
TIMER_HIGH,AX
OOOF
BO OE
MOV
AL,CMOS_VALID
OOEl
E6 70
OUT
CMOS_ADR,AL
00E3
EB 00
JMP
SHORT S+2
00E5
E4 71
!N
AL, CMOS_DATA
00E7
24 C4
AND
AL,OC4H
00E9
75 61
JNZ
POD_DONE
OOEB
2B C9
SUB
CX,CX
.~
ODED
DOH
BO OA
E6 70
UI P:
MOV
OUT
AL, CMOS_REGA
CMOS_ADR,AL
OOFl
E8 00
JMP
SHORT $+2
00F3
E4 71
IN
AL, CMOS_DATA
OaFS
AS BO
TEST
AL,UPDATE_TIMER
00F7
OOF9
OOFB
74 05
E2
'2
EB 4F 90
JZ
LOOP
JMP
READ_SEC
U I P
POD_DONE
OOFE
READ_SEC:
OOFE
BO 00
MOV
AL, CMOS_SECONDS
0100
E6 70
OUT
CMOS ADR,AL
0102
EB 00
JMP
SHORT S+2
0104
E4 71
IN
AL, CMOS_DATA
0106
3C 59
CMP
AL,59H
0108
77 40
JA
TOO_ERROR
O10A
E8 0176 R
CALL
CVT B I NARY
0100
83 12
MOV
BL, COUNTS_SEC
010F
F6 E3
MUL
BL
0111
88 C8
MOV
CX,AX
0113
BO 02
MOV
AL, CMOS_M I NUTES
0115
E6 70
OUT
CMOS_AOR,AL
0117
EB 00
JMP
SHORT $+2
0'19
E4 71
IN
AL, CMOS_DATA
011 B
3C 59
CMP
AL,59H
0110
77 38
JA
TOO_ERROR
011F
E8 0176 R
CALL
CVT BI NARY
0122
BB 01144
MOV
BX, COUNTS_M I N
0125
F7
[3
MUL
BX
0127
03 C1
AOO
AX,CX
0129
88 C8
MOV
CX,AX
012B
BO 04
MOV
AL, CMOS_HOURS
0120
E6 70
OUT
CMOS_ADR, AL
012F
EB 00
JMP
SHORT $+2
0131
E4 71
IN
AL,CMOS_DATA
0133
3C 23
CMP
AL,23H
0135
77 20
JA
TOO_ERROR
0137
E8 0176 R
CALL
CVT_B I NARY
013A
88 00
MOV
DX,AX
onc
B3 07
MOV
BL, COUNTS_HOUR
013E
f6 E3
MUL
BL
0140
03 Cl
AOO
AX~CX
0142
83 02 00
ADC
OX, DOOOH
~
0145
0149
89 16 006E R
A3 006C R
MDV
MOV
T I MER_H IGH, OX
TIMER_LOW,AX
014C
POD_DONE:
014C
FA
CLI
01110
014F
E4 21
24
FE
IN
ANO
AL,021H
AL,OFEH
0151
0153
E6 21
f.
OUT
STI
021H,AL
0154
1f
POP
OS
POPA
0155
61
OB
061H
0156
C3
RET
0157
TOO_ERROR:
0157
1f
POP
OS
POPA
0158
61
DB
061H
0159
BE 0000 E
MOV
SI,OFfSET CM3
015C
E8 0000 E
CALL
E_MSG
015F
BO 8E
MOV
AL, 0 lAG_STATUS
0161
E6 70
OUT
CMOS_PORT
I
AL
0163
86 C4
XCHG
AL,AH
0165
EB 00
JMP
SHORT S+2
0167
E4 71
IN
AL,CMOS_PORT+1
0169
OC 04
OR
AL,CMOS_CLK_FAI L
0168
86 C4
XCHG
AL,AH
0160
[6 70
OUT
CMOS_PORT, AL
016F
86 C4
XCHG
AL,AH
0171
EB 00
JMP
SHORT $+2
0173
E6 71
OUT
CMOS_PORT+l,AL
0175
C3
RET
0176
SET_TOO ENOP
0176
CVCB I NARY
PRCC
NEAR
0176
8A EO
MOV
AH,AL
ISHR
AH,4
0178
+ ??OOOO
LABEL
BYTE
0178
a17A
DO EC
+
+
??0001
SHR
LABEL
AH,1
BYTE
0178
+
ORG
OFFSET CS:??QOOO
0178
CO
DB
OCOH
017A
ORC
OffSET CS:?70001
017A
04
DB
4
017B
24 OF
ANO
AL,OFH
0170
05 OA
AAD
017F
C3
RET
r"'\
0180
0180
CVT_BI NARY
CODE
ENDS
END
ENDP
ESTABLISH SEGMENT
RESET T I MER ROLL OVER INDICATOR
AND TIMER COUNT
CHECK CMOS VALIDITY
BAD BATTERY,
i
CHKSUM ERROR OR CLOCK ERROR
CMOS NOT VAL'I D -- T I MER SET TO ZERO
ACCESS REGI STER A
CMOS CLOCK STUCK
ACCESS SECONDS VALUE I N CMOS
ARE THE SECONDS WITH I N LIM ITS?
GO I F NOT
CONVERT IT TO BINARY
COUNT FOR SECONDS
ACCESS MINUTES VALUE I N CMOS
ARE THE MINUTES WITHIN liMITS?
GO I F NOT
CONVERT IT TO BINARY
COUNT FOR MINUTES
ACCESS HOURS VALUE I N CMOS
ARE THE HOURS WITHIN LIMITS7
GO I F NOT
CONVERT IT TO BINARY
COUNT fOR HOURS
..
10 DELAY NOT REQU I RED
**
BE SURE T I MER I S ENABLED
RESTORE SEGMENT
RESTORE REGS
01 SPLAY CLOCK ERROR
SET CLOCK ERROR
SAVE STATUS ADDRESS
fO
DELAY
GET THE CURRENT STATUS
SET NEW STATUS
GET STATUS ADOR AND SAVE NEW STATUS
10 DELAY
UNPACK 2 BCD DIGITS IN AL
RESULT IS IN AX
CONVERT UNPACKED BCD TO B I NARY
BIOS 5-145

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents