IBM 5170 Technical Reference page 185

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

0682
75 C8
JNZ
ERR
PROT
HALT
IF
ERROR
-
0684
46
INC
SI
PO I NT TO NEXT WORD
0685
'16
INC
SI
0686
F7
LOOP
C37B
CO NT I NUE TILL DONE
'2
0688
C3
RET
;
--­-----­-­--­-
­ -- -
-­--­--­--­-­-
­
-- ­
-----------
­ -
-
­ - -
INITIALIZE HIE 8259 INTERRUPT #1 CONTROLLER CH I P
:
;
--­--­--------­
- -
---­
-
-­--­-----
­-
-­------------­-­-
­
-
0689
2A CU
C37A:
SUl3
AL,AL
RESET MATH PROCESSOR
068B
0680
068F
0691
0693
E6
Fl
BO 11
'6
20
EB OU
BO 08
OUT
MOV
OUT
JMP
MOV
X287+1,AL
AL,llH
I NTAOO,AL
SHORT $+2
AL,8
ICWl
-
EDGE, MASTER,
ICW4
WAIT STATE
FOR
10
SETUP ICW2
-
I NT
TYPE 8 18-F)
~
0695
0697
E6 21
EB 00
OUT
JMP
I NTA01 ,AL
SHORT $+2
WAI T STATE
FOR
10
0699
BO 04
MOV
AL,OltH
SETUP ICW3
-
MASTER
LV 2
n69B
0690
06')F
06A1
06A3
E6 21
EB 00
BO 01
'6
21
EA
00
OUT
JMP
MOV
OUT
JMP
I NTA01,AL
SHORT $+2
AL,01H
INTA01,Al
SHORT
$+2
10 W!lIT STAT E
SETUP ICVJ4
-
r-',ASTER,8086 MODE
WAIT STATE
FOR
10
06A5
06A7
BO
Fr
'6
21
Mav
OUT
AL,OFFH
INTA01,AL
MASK ALL INTS.
OFF
IVIDEO ROUTINE ENABLES INTS.)
---
­
-
­ - - -­- - - -
--­-­----------­----
­-
-­---­--­---
­ -­ -
--
­
I
fj
I T I ALiZE THE 8259 I NTERRU PT #2 CONTROLLER CH I P
- -
-----
­ -­- - - --
-­--­
- - -- - -­ -­ -
-- ----­--­
-
--­--­
-
----­--
06A9
06AB
BO
13
'6
80
MOV
OUT
AL,13H
MFG_PORT, AL
<><><><><><><><> <><><><>
<><><>CHECKPOI NT
13
<><>
06AD
BO
11
MOV
AL, 1 1H
ICW1
-
EDGE,
SLAVE ICW4
06AF
06Bl
06B3
06B~
06B7
E6 AO
EB 00
[30
70
[6
Al
[ll) 02
OUT
JMP
MOV
OUT
MOV
I NTROO,AL
SHORT $+2
AL, I NT_ TYPE
INTB01,AL
AL,02H
WAIT STATE
FOR
10
SETUP ICW2
-
I NT TYPE
50
150-5F)
SETUP ICW3
-
SLAVE
LV 2
06B9
06BB
06BO
E13 00
[6
Al
Ell 00
JMp
OUT
JMP
SHORT $+2
I NTB01, AL
SHORT
$+2
10 WAIT STATE
06BF
BO
01
MOV
AL,Ol H
SETUP ICW4 - 8086 MODE, SLAVE
06Cl
06C3
E6 Al
EB 00
OUT
JMP
INTB01,AL
SHORT
$+2
WAIT STATE
FOR
10
06C5
DO FF
MOV
AL,OFFH
MASK ALL INTS.
OFF
a6C7
E6 Al
OUT
INTB01,AL
SET UP
TH'
INTERRUPT VECTORS TO'TEMP INTERRUPT
O6C')
06CB
00
14
E6 80
MOV
OUT
AL,14H
MFG_PORT,AL
<><><><><><><><><><><><>
<><><>CHECKPO! NT
14
<><>
a6cD
B9 0078
CX,7SH
FILL ALL INTERRUPT LOCAT IONS
06DO
2B FF
D I, 0
~
FIRST I NTERRU PT LOCAT I ON
0602
0604
8E C7
B8 0000
,
03:
ES,OJ
AX,OFFSET
Dll
SET
ES ALSO
MOVE ADDRESS
or
I NT OFFSET
0607
AB
0608
8C C8
AX,CS
GET
THE SEGMENT
060A
AD
060B
E2 F7
03
~
ESTA~LISH
BIOS SUBROUTINE CALL I NTERRUPT VECTORS
0600
06DF
BO
"
E6 80
MOV
OUT
AL,15H
MFG_PORT ,AL
<> <> <><><><> <> < > <> <><><>
<><><>CHECKPOI NT 15 <><>
06El
BF 0040
R
MOV
OJ,OFFSET YIDEO_
INT
SET VIDIO I NT AREA
06E4
DE
PUSH
GS
06E5
1F
POP
DS
SET
UP ADDRESS OF VECTOR TABLE
06E6
06E8
8C 08
BE DOlO
,
MOV
MOV
AX, OS
SET AX=SEGMENT
SI,OFFSET VECTOR_TABLE+16 ;START WITH VIDEO ENTRY
OGEB
B9 0010
MOV
CX,16
06EE
A;
D3A:
MOYSW
MOVE VECTOR TABLE TO RAM
06EF
47
INC
01
06FO
47
INC
01
SK I P SEGMENT PO INTER
06Fl
E2
LOOP
D3A
;
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
~
_
W _
M _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
;
TEST.1~ERIFY
CMOS CHECKSUM/BATTERY GOOD
;
DESCRIPTION
;
DETERMINE IF CONFIG RECORD SHOULD BE
;
USED FOR
INITIALIZATION
;
--------------­
-
--------------------------------­
ASSUME
OS: DATA
06F3
E8 0000 E
CMOS:
CALL
DOS
SET THE DATA SEGMENT
06f6
BO 16
MOV
AL,16H
<><><><><><><><><><><><>
06F8
E6 80
OUT
MFG_PORT ,AL
<><><>CHECKPO I NT 16 <><>
;------­ IS THE BATTERY LOW THIS POWER UP?
06FA
06FC
BO 8D
E6 70
MOV
OUT
AL, BATTERY_COND_STATUS
CMOS PORT ,AL
CHECK BATTERY COND I T I ON
POINT TO [lATTERY STATUS
06fE
EB 00
JMP
SHORT $+2
WAI T STATE FOR 10
0700
0702
0704
E4 71
A8 80
74 OF
IN
TEST
JZ
AL, CMOS_PORT+l
AL, BOH
CMOS1A
I S THE flATTERY LOW?
GO I F YES
0706
BO 8E
MOY
AL,DIAG STATUS
GET THE OLD STATUS
()708
07DA
EQ 70
EB 00
OUT
JMP
CMOS_PORT, AL
SHORT $+2
070C
()70E
0710
[4
71
A8 80
74 21
IN
TEST
JZ
AL, CMOS PORT+l
AI ,BAD_BAT
CMOS1
HAS CUSTOMER SETUP BEEN EXECUTED?
GO CHECK CHECKSUM I F YES
,...-...,
0712
E9 07A1 R
JMP
CMOS4
;------ SET DEfECTIVE BATTERY FLAG
CONTINUE WiTHOUT CONFIG
0715
0717
BO 17
E6 80
CMOSl A;
MaY
OUT
AL,17H
MFG_PORT, AL
< > <> < > <> <><><> < > <><> <><>
<><><>CHECKPO I NT 17 <><>
0719
Bo 8E
MOV
AL,DIAG STATUS
CMOS DIAGNOSTIC STATUS BYTE
071B
E6 70
OUT
CMOS_PORT, AL
0710
EB 00
JMP
SIIORT $+2
071F
E4 71
IN
AL, CMOS_PORT+1
GET THE
CUH:~ENT
STATUS
0721
0723
86 C4
80 CC 80
XCHG
OR
AL,AH
AH, BAD_BAT
SAYE
SET THE DEAD BATTERY FLAG
0726
BO 8E
MOV
AL, 0 lAG_STATUS
0728
072A
E6 70
86 C4
OUT
XCHG
CMOS PORT ,AL
AL,AH
OUTPUT THE STATUS
072C
072E
EB 00
E6 71
JMP
OUT
SHORT $+2
CMOS_PORT+l, AL
SET FLAG I N CMOS
Test 1 5-43

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents