LOC OBJECT
LINE
SOURCE
(B I OS FOR THE
I BM PERSONAL COMPUTER XT I
1 1 /08/82
I NT 1A --------------------------------------------
TIME OF DAY
TH IS ROUT I NE ALLOWS THE CLOCK TO BE SET /READ
INPUT
( AH )
= 0
READ THE CURRENT CLOCK SETT I NG
RETURNS CX = HIGH PORT I ON OF COUNT
DX = LOW PORT I ON OF COUNT
AL = 0
IF TI MER HAS NOT PASSED
24 HOURS SINCE LAST READ
<>0
IF ON ANOTHER DAY
( AH )
= 1
SET THE CURRENT CLOCK
CX = HIGH PORT I ON OF COUNT
DX = LOW PORT I ON OF COUNT
NOTE: COUNTS OCCUR AT THE RATE OF
1193180/65536 COUNTS/SEC
(OR ABOUT
18.2 PER SECOND - -
SEE EQUATE S BELOW)
GET OVERFLOW,
AND RESET THE FLAG
I NTERRUPTS BACK ON
SAVE SEGMENT
@
D 40
A D-41
B D-42
C D-43
D D-44
E D-45
F D-46
G D-47
H D-48
I D-49
J D-4A
K D-4B
L D-4C
M D-4D
N D-4E
o
D-4F
P D-50
Q D-51
R D-52
S D-53
T D-54
U D-55
V D-56
W D-57
X D-58
Y D-59
Z D-5A
[
D-5B
BACKSLASH D 5C
]
D 5D
-
CIRCUMFLEX D 5E
D 5F
-
.. D-60
LOWER CASE A D 61
L.C. B D 62
-
L.C. C D-63
L.C. D D-64
L.C. E D-65
L.C. F D-66
L.C. G D-67
L.C. H D-68
L.C.
I D-69
L.C.
J D-6A
L.C. K D-6B
L.C. L D-6C
L.C. M D-6D
L.C. N D-6E
L.C. 0 D-6F
L.C. P D-70
L.C. Q D-71
L.C. R D-72
L.C.
S D-73
L.C. T D-74
L.C. U D-75
L.C.
V D-76
L.C.
W 0-77
L.C.
X 0-78
L.C.
Y 0-79
L.C.
Z
D-7A
{D_7B
-
I
0
7C
}
0::::7D
TILDE 0
7E
DEL TA 0::::7F
SET THE TIME
RESET OVERFLOW
TOO_RETURN
AH=O
READ TIME
AH=I-
SET TIME
TOO-RETURN
I NTERRUPTS BACK ON
RECOVER SEGMENT
RETURN TO CALLER
READ TIME
NO TIMER
INTERRUPTS
WH
I LE READ I NG
TOO RETURN
SET-TIME
NO INTERRUPTS
WH
I LE
WR
I T I NG
o
7CH, OC6H, ODEH, ODEH, ODEH, OCOH, 07 8H, OOOH
030H, 078H, OCCH, OCCH, OFCH, OCCH, OCCH, OOOH
OFCH, 066H, 066H, 07CH, 066H, 066H, OFCH, OOOH
03CH, 066H, OCOH, OCOH, OCOH, 066H, 03CH, OOOH
OF8H, 06CH, 066H, 066H, 066H, 06CH, OF8H, OOOH
OFEH, 062H, 068H, 078H, 068H, 062H, OFEH, OOOH
OFEH, 062H, 068H, 078H, 068H, 060H, OFOH, OOOH
03CH, 066H, OCOH, OCOH, OCEH, 066H, 03EH, OOOH
OCCH, OCCH, OCCH, OFCH, OCCH, OCCH, OCCH, OOOH
078H, 030H, 030H, 030H, 030H, 030H, 078H, OOOH
01 EH, OOCH, OOCH, OOCH, OCCH, OCCH, 078H, OOOH
OE6H, 066H, 06CH, 078H, 06CH, 066H, OE6H, OOOH
OFOH, 060H, 060H, 060H, 062H, 066H, OFEH, OOOH
OC6H, OEEH, OFEH, OFEH, OD6H, OC6H, OC6H, OOOH
OC6H, OE6H, OF6H, ODEH, OCEH, OC6H, OC6H, OOOH
038H, 06CH, OC6H, OC6H, OC6H, 06CH, 038H, OOOH
OFCH, 066H, 066H, 0 7CH, 060H, 060H, OFOH, OOOH
078H, OCCH, OCCH, OCCH, ODCH, 078H, 0 1CH, OOOH
OFCH, 066H, 066H, 0 7CH, 06CH, 066H, OE6H, OOOH
078H, OCCH, OEOH, 070H, 01 CH, OCCH, 078H, OOOH
OFCH, OB4H, 030H, 030H, 030H, 030H, 078H, OOOH
OCCH, OCCH, OCCH, OCCH, OCCH , OCCH, OFCH , 00 OH
OCCH, OCCH, OCCH, OCCH, OCCH, 078H, 030H, OOOH
OC6H, OC6H, OC6H, OD6H, OFEH, OEEH, OC6H, OOOH
OC6H, OC6H, 06CH, 038H, 038H, 06CH, OC6H, OOOH
OCCH, OCCH, OCCH, 078H, 030H, 030H, 078H, OOOH
OFEH, OC6H, 08CH, 0 18H, 032H, 066H, OFEH, OOOH
078H, 060H, 060H, 060H, 060H, 060H, 078H, OOOH
OCOH, 060H, 030H, 0 18H, OOCH, 006H, 002H, OOOH
078H, 0 18H, 0 18H, 0 18H, 0 18H, 0 18H, 078H, OOOH
01 OH, 038H, 06CH, OC6H, OOOH, OOOH, OOOH, OOOH
OOOH, OOOH, OOOH, OOOH, OOOH, OOOH, OOOH, OFFH
030H, 030H, 0 18H, OOOH, OOOH, OOOH, OOOH, OOOH
OOOH, OOOH, 078H, OOCH, 07CH, OCCH, 076H, OOOH
OEOH, 060H, 060H, 07CH, 066H, 066H, ODCH, OOOH
OOOH, OOOH, 078H, OCCH, OCOH, OCCH, 0 78H, OOOH
01 CH, OOCH, OOCH, 07CH, OCCH, OCCH, 076H, OOOH
OOOH, OOOH, 078H, OCCH, OFCH, OCOH, 078H, OOOH
038H, 06CH, 060H, OFOH, 060H, 060H, OFOH, OOOH
OOOH, OOOH, 076H, OCCH, OCCH, 07CH, OOCH, OF8H
OEOH, 060H, 06CH, 076H, 066H, 066H, OE6H, OOOH
030H, OOOH, 070H, 030H, 030H, 030H, 078H, OOOH
OOCH, OOOH, OOCH, OOCH, OOCH, OCCH, OCCH, 07 8H
OEOH, 060H, 066H, 06CH, 078H, 06CH, OE6H, OOOH
07 OH, 030H, 030H, 030H, 030H, 030H, 07 8H, OOOH
OOOH, OOOH, OCCH, OFEH, OFEH, OD6H, OC6H, OOOH
OOOH, OOOH, OF8H, OCCH, OCCH, OCCH, OCCH, OOOH
OOOH, OOOH, 078H, OCCH, OCCH, OCCH, 078H, OOOH
OOOH, OOOH, ODCH, 066H, 066H, 07CH, 060H, OFOH
OOOH, OOOH, 076H, OCCH, OCCH, 07CH, OOCH, 0 1EH
OOOH, OOOH, ODCH, 076H, 066H, 060H, OFOH, OOOH
OOOH, OOOH, 07CH, OCOH, 078H, OOCH, OF8H, OOOH
01 OH, 030H, 07CH, 030H, 030H, 034H, 0 18H, OOOH
OOOH, OOOH, OCCH, OCCH, OCCH, OCCH, 076H, OOOH
OOOH, OOOH, OCCH, OCCH, OCCH, 078H, 030H, OOOH
OOOH, OOOH, OC6H, OD6H, OFEH, OFEH, 06CH, OOOH
OOOH, OOOH, OC6H, 06CH, 038H, 06CH, OC6H, OOOH
OOOH, OOOH, OCCH, OCCH, OCCH, 07CH, OOCH, OF8H
OOOH, OOOH, OFCH, 098H, 030H, 064H, OFCH, OOOH
01 CH, 030H, 030H, OEOH, 030H, 030H, 0 1CH, OOOH
o
18H,0 18H,0 18H,OOOH,0 18H, 0 18H,0 18H, OOOH
OEOH, 030H, 030H, 0 1CH, 030H, 030H, OEOH, OOOH
076H, ODCH, OOOH, OOOH, OOOH, OOOH, OOOH, OOOH
OOOH,OI OH, 038H, 06CH, OC6H, OC6H, OFEH, OOOH
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
ASSUME
CS:COOE,OS:OATA
ORG
OFE6EH
TIME_OF_OAY
PROC
FAR
STI
PUSH
OS
CALL
DDS
OR
AH,AH
JZ
T2
DEC
AH
JZ
T3
TI:
STI
POP
OS
IRET
T2:
CLI
MOV
AL, TIMER OFL
MOV
T IMER_OF[, 0
MOV
CX , T I MER HIGH
MOV
OX, T I MER::::LOW
JMP
TI
T3:
CLI
MOV
T I MER_LOW ,OX
MOV
TI MER_H I GH, CX
MOV
T I MER_OFL , 0
JMP
Tl
T I ME_OF_DAY
ENOP
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
FE6E
FE6E
FE6E FB
FE6F
IE
FE70 E8E6FB
FE73 OAE4
FE75 7407
FE77 FECC
FE79 7416
FE7B
FE7B FB
FE7C
IF
FE7D CF
FE7E
FE7E FA
FE7F A07000
FE82 C606700000
FE87 8BOE6EOO
FE8B 8B 166COO
FE8F EBEA
FE91
FE91
FA
FE92 89166COO
FE96 890E6EOO
FE9A C606700000
FE9F EBDA
FC6E 7CC6DEDEDEC07800
FC 7 6 307 8CCCCFCCCCC 0 0
FC7E FC66667C6666FCOO
FC86 3C66COCOC0663COO
FC8E F86C6666666CF800
FC96 FE6268786862FEOO
FC9E FE6268 7 86860FOOO
FCA6 3C66COCOCE663EOO
FCAE CCCCCCFCCCCCCCOO
FCB6 7830303030307800
FCBE
1EOCOCOCCCCC7800
FCC6 E6666C786C66E600
FCCE F06060606266FEOO
FCD6 C6EEFEFED6C6C600
FCDE C6E6F6DECEC6C600
FCE6 386CC6C6C66C3800
FCEE FC66667C6060FOOO
FCF6 78CCCCCCDC78 1COO
FCFE FC66667C6C66E600
FD06 78CCE070 1CCC7800
FDOE FCB4303030307800
FD 16 CCCCCCCCCCCCFCOO
FD 1E CCCCCCCCCC783000
FD26 C6C6C6D6FEEEC600
FD2E C6C66C38386CC600
FD36 CCCCCC7830307800
FD3E FEC68C 183266FEOO
FD46 7860606060607800
FD4E C06030 180C060200
FD567818181818187800
FD5E 10386CC600000000
FD66 OOOOOOOOOOOOOOFF
FD6E 3030180000000000
FD76 0000780C7CCC7600
FD7E E060607C6666DCOO
FD86 000078CCCOCC7800
FD8E
1COCOC7CCCCC7600
FD96 000078CCFCC07800
FD9E 386C60F06060FOOO
FDA6 000076CCCC7COCF8
FDAE E0606C766666E600
FDB6 3000703030307800
FDBE OCOOOCOCOCCCCC78
FDC6 E060666C786CE600
FDCE 7030303030307800
FDD6 0000CCFEFED6C600
FDDE 0000F8CCCCCCCCOO
FDE6 000078CCCCCC7800
FDEE 0000DC66667C60FO
FDF6 000076CCCC7COC 1E
FDFE 0000DC766660FOOO
FE06 00007CC0780CF800
FEOE 10307C3030341800
FE 16 0000CCCCCCCC7600
FE 1E 0000CCCCCC783000
FE26 0000C6D6FEFE6COO
FE2E 0000C66C386CC600
FE36 0000CCCCCC7COCF8
FE3E 0000FC983064FCOO
FE46
1C3030E03030 1COO
FE4E 1818180018181800
FE56 E03030 I C3030EOOO
FE5E 76DCOOOOOOOOOOOO
FE66 001 0386CC6C6FEOO
5-172
PC-XT System BIOS (11/08/82)