LINE
SOURCE
590
DEC
DL
591
JNZ
CZ2
; JlR1P
IF
NOT
DONE
YET
59.
1NT
lEH
I SET INTERRUPT TYPE
62
ADDRESS F8H
593
C25:
59.
595
j----- SET UP
THE
BIOS
INTERRUPT
VECTORS
TO
TEMP
INTERRUPT
596
597
MOV
tX,32
FILL
A.LL
32 INTERRUPTS
59.
SUB
DI,OI
;
FIRST
INTERRUPT LOCATOIN
."
03:
MOV
AX,OFFSET
Dll
,
MOVE
AD
DR
OF
INTR
PROC
TO TBL
5"
.01
STOSW
.,2
MOV
AX.CS
; GET
ADDR
OF
INTR
PROC
SEG
STOSW
."
.,4
LOOP
D3
; VECTBlO
.,5
606
;-----
SET UP
OlllER
INTERRUPTS
AS
NECESSARY
.,7
.,.
MOV
NHI_PTR.OFFSET
NMI_INT
I
NMI
INTERRUPT
609
Hov
INTS_PTR.OFFSET
PRINT_SCREEN I
PRINT
SCREEN
610
MOV
8ASIC_PTR+2.0F600H
;
SEGMENT
FOR
CASSETTE
BASIC
611
612
,----------------------
--
----------------------------------------
613
82S'il
INTERRUPT CONTROLLER
TEST
614
;
DESCRIPTION
615
REAOIWRITE
THE
INTERRUPT
MASK
REGISTER
fIHRJ
WITH
ALL
616
ONES
AND
ZEROES.
ENABLE
SYSTEM
INTERRUPTS.
MASK
DEVICE !
617
INTERRUPTS
OF
F.
CHECK
FOR
HOT
INTERRUPTS
(~EXPECTED).
:
618
i
---------.------------
------------------------------------------
619
620
1-----
TEST
THE
IMR
REGISTER
621
622
NOV
OX.0021H
POIHT
INTR.
CHIP
ADCR
21
MOV
AL.o
I SET IMR
TO
ZERO
624
OUT
DX.AL
625
IN
AL,DX
I
READ
INR
."
.2.
0'
AL,Al
IMR
= O?
.27
JNZ
06
;
GO
TO
ERR
ROUTINE
IF
NOT
0
628
HOV
Al.OFFH
I DISABLE DEVICE INTERRUPTS
.
.,
OUT
DX.Al
; WRITE
TO
IHR
."
IN
Al.DX
i
READ
IHR
."
ADD
Al,l
;
ALL
It1R
BIT
ON?
."
JNZ
06
;
NO
-
GO
TO
ERR
ROUTINE
."
634
;-----
CHECK
FOR
HOT
INTERRUPTS
635
636
1-----
INTERRUPTS
ARE
MASKED
OFF.
CHECK
THAT
NO
INTERRUPTS
OCClII.
637
638
XOR
AH,AH j CLEAR
AH
REG
639
sn
; ENABLE EXTERNAL INTERRUPTS
64.
SUB
CX.CX
; WAIT 1 SEC FOR
ANY
INTRS
THAT
641
04:
64'
LOOP
04
;
MIGHT OCClII!
643
05:
64_
LOOP
05
645
OR
AH.AH I
DID
ANY
INTERRUPTS OCCUR?
646
JZ
07
NO
-
GO
TO
NEXT
TEST
647
D6:
NOV
DX.lOIH
; BEEP SPEAKER
IF
ERROR
649
CALL
ERR_BEEP
i
GO
TO
BEEP SUBROUTINE
650
eLI
.51
HLT J
HALT
THE
SYSTEM
.52
6'.
j------------------------------------------------
653
8253
TIMER
CHECKOUT
654
I
DESCRIPTION
655
VERIFY
THAT
THE
SYSTEM TIMER
(0)
656
DOESN'T
COUNT
TOO
FAST
OR
TOO
SLOW
•
•
57
; -
------
---
------------------------------
--------
.
65.
07:
'59
MOV
Al.OFEH
i
MASK
ALL
INTRS
EXCEPT
lVl
0
,bI
.,
OUT
aX.Al
I WRITE TIlE
825'il
IMR
HOV
Al.OOOIOOOOB i
SEl
TIM
O.
LS8,
MODE
O. BINARY
66.
OUT
TIM.CH.U
; WRITE TIMER
CONTROL
MODE
REG
663
HOV
CX,16H
;
SET
PGM
lOOP
tNT
664
HOV
Al,CL
I
SET
TIMER 0
CNT
REG
66S
OUT
TIMERO.AL
i WRITE TIMER 0
CNT
REG
LOC
OBJ
E210
E21E
E220
E222
E224
E225
E226
E228
E22A
E22C
E220
E22F
E22F
E231
E231
E233
E235
E237
EIFl
FECA
EIF3
75F6
EIF5
C03E
EIF7
EIF7
892000
EIFA
2BFF
EIFC
EIFe
BS47FF
EIFF
.I.e
E200
seea
E202
AB
E203
ElF7
E205
C7060800C3E2
f20B
C70b1400S4FF
E211
C706620000Fb
E23A
E230
E23E
E23F
E23F
E241
E242
E244
E246
E249
E248
E217 BA2l0D
E21A
BODO
EZlt
EE
E237
BAOIOI
E69203
FA
F4
80FE
EE
BOlO
E643
891600
8AC1
E640
EC
OACO
7515
BOFf
EE
EC
0401
7500
32E4
FB
28C9
E2FE
E2FE
OAE4
7406
5-38
System
BIOS