IBM 5170 Technical Reference page 247

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

_
ESTABLISH TRANSFER VECTORS FOR THE FIXED DISK
-
PERFORM POWER ON DIAGNOSTICS
SHOULD AN ERROR OCCUR A "1701" MESSAGE IS DISPLAYED
0000
DISK_SETUP
PROC
NEAR
0000
2B CO
ASSUME
SUB
ES;ABSO
AX, AX
ZERO
0002
0004
0005
0009
8E CO
FA
26
Al 004C R
26
A3 0100 R
MOV
eLi
MOV
MOV
ES,AX
AX, WORD PTR ORG_VECTOR
WORD PTR 0 I SK VECTOR, AX
GET 0 I SKETTE VECTOR
I NTO I NT 40H
0000
26
Al 004E R
MOV
AX, WORD PTR ORG_VECTOR+2
0011
0015
001C
0021
26
A3 0102 R
26
C7 06 004C
R
0197
R
26
8C OE 004E R
B8 06CA R
MOV
MOV
MOV
MOV
WORD PTR 0 I SK VECTOR+2, AX
WORD PTR ORG_VECTOR, OffSET 0 I SK_I 0
WORD PTR ORG_VECTOR+2, CS
AX, OffSET HD_INT
HD I SK HANDLER
HD I SK INTERRUPT
0024
26
A3 0108 R
MOV
WORD PTR HDISK INT,AX
0028
0020
0034
0039
26
26
26
26
8C OE 01DA R
C7 06 0104 R 0000 E
8C OE 0106 R
C7 06 0118 R 0000 E
MOV
MOV
MOV
MOV
WORD PTR HD I SK::': I NT+2, CS
WORD PTR Hf_TBL_VEC,OFfSET fD_TBL
WORD PTR Hf_ TBL_VEC+2, CS
WORD PTR HF1_TBL_VEC, Off SET FD_TBL
PARM TBL DRV 80
PARM TBL DRV 81
0040
0045
0046
26
8C OE 011A R
FB
E4 Al
MOV
STI
IN
WORD PTR Hfl_TBL_VEC+2,CS
**
10 DELAY NOT REQUIRED
**
TURN ON SECOND t NTERRUPT CH I P
AL, I NT_CTL_PORT+1
0048
004A
004C
24 BF
E6 Al
E4 21
AND
OUT
IN
AL,OBFH
I NT CTL PORT+l,AL
AL, TNTl::':CTL_PORT+1
LET I NTERRUPTS PASS THRU TO
004E
24 FB
AND
AL,OFBH
SECOND CH I P
0050
E6 21
OUT
I NTl_CTL_PORT+l ,AL
ASSUME
OS: DATA
0052
B8
---­ R
MOV
AX,DATA
ESTABLI SH SEGMENT
0055
0057
005C
8E 08
C6 06 0074 R 00
C6 06 0075 R 00
f10V
MOV
MOV
DS,AX
DISK STATUS1,0
HF NDM,O
RESET THE STATUS INDICATOR
ZERO NUMBER OF HARD fiLES
0061
C6 06 0076 R 00
MOV
CONTROL_BYTE,O
0066
0068
BO 8E
E6 70
MOV
OUT
AL,8EH
70H,AL
CHECK CMOS VALIDITY
006A
EB 00
JMP
SHORT $+2
006C
006E
E4 71
8A EO
IN
MOV
AL,71H
AH,AL
SAVE CMOS FLAG
0070
0072
0074
0077
24 CO
75 64
80 E4
F7
BO 8E
AND
JNZ
AND
MOV
AL,OCOH
POD DONE
AH, NOT HfJAI L
AL,8EH
CMOS NOT VAL I 0 -­ NO HARD FILES
ALLOW HARD FILE I PL
WRITE IT BACK
0079
E6 70
OUT
70H,AL
007B
8A C4
MOV
AL,AH
0070
EB 00
JMP
SHORT $+2
007F
E6 71
OUT
71H,AL
0081
0083
BO 92
E6 70
MOV
OUT
AL,92H
70H,AL
ACCESS HARD fiLE BYTE I N CMOS
0085
EB 00
JMP
SHORT $+2
0087
0089
008E
E4 71
C6 06 0077 R 00
SA
08
IN
MOV
MOV
AL,71H
PORT OFF.O
BL,AL
ZERO CARD OffSET
SAVE HARD fiLE BYTE
0090
0092
0094
0096
B4 00
24 FO
74 42
05 FFFO E
MOV
AND
JZ
ADO
AH,O
AL,OFOH
POD
~ONE
AX,OffSET FD_TBL-160
GET FIRST DRIVE TYPE
NO HARD FILES
COMPUTE OfFSET
0099
0090
26: A3 0104 R
C6 06 0075 R 01
MOV
MOV
WORD PTR HF_TBL_VEC,AX
HF_NUM, 1
AT LEAST ONE DRIVE
00A2
SA
C3
MOV
ISHL
AL, BL
AL,4
GET SECOND DRIVE TYPE
00A4
+ 770000
LABEL
BYTE
00A4
DO EO
+
SHl
AL,l
00A6
+ 7?0001
LABEL
BYTE
00A4
+
ORC
OffSET CS: 110000
00A4
CO
DB
OCOH
00A6
ORC
OffSET CS:770001
00A6
04
DB
4
00A7
74 OE
JZ
SHORT L4
ONLY ONE DRIVE
00119
OOAB
B4 00
05 FFrO E
MOV
ADO
AH,O
AX,OfFSET FD_TBL-16D
COMPUTE OFFSET FOR DRIVE 1
OOAE
00B2
26: A3 0118 R
C6 06 0075 R 02
MOV
MOV
WORD PTR HF1 TBL VEC,AX
HF_NUM,2
-
-
TWO DRIVES
00B7
B2 80
L4:
MOV
DL, BOH
CHECK THE CONTROLLER
00B9
OOBB
B4 14
CO 13
MOV
INT
AH,14H
13H
OOBD
72 22
Je
CTL ERRX
OOBF
00C2
00C4
Al 006C R
8B 08
05 0444
MOV
MOV
ADO
AX,
T
I
MER LOW
BX,AX
-
AX,6*lB2
GET START T I MER COUNTS
60 SECONDS
*
18.2
00C7
8B C8
MOV
CX,AX
00C9
E8 OOEF R
CALL
HD RESET 1
SET UP OR I VE 0
OOCC
80 3E 0075 R 01
eMP
Hf-NUM,l­
WERE THERE TWO DR I VES?
0001
76 05
JBE
POD_DONE
NO-ALL DONE
0003
B2 81
MOV
DL,B1H
SET UP DRIVE 1
0005
E8 OOEF R
CALL
HO_RESET_l
0008
0008
FA
POD_DONE:
ell
**
10 DELAY NOT REQU I REO
**
0009
E4 21
IN
AL,021H
BE SURE T I MER I S ENABLED
OODB
24 FE
AND
AL,OfEH
0000
E6 21
OUT
021H,AL
OODF
FB
STI
OOEO
C3
RET
; ----- POD ERROR
OOEl
CTL_ERRX:
OOEl
BE 0000 E
MOV
SI,OfFSET F1782
CONTROLLER ERROR
00E4
E8 0161 R
CALL
SET fAIL
OONT IPL fROM DISK
00E7
E8 0000 E
CALL
P MSG
o
I SPLAY ERROR
OOEA
BO OOOF
MOV
BP,OFH
POD ERROR FLAG
OOED
EB E9
JMP
SHORT POD_DONE
OOEF
HO_RESET_l
PROC
NEAR
OOEF
53
PUSH
BX
SAVE TIMER LIMITS
OOFO
51
PUSH
ex
OOFl
B4 09
RES_l:
MOV
AH,09H
SET DR I VE PARMS
00F3
CD 13
INT
13H
00F5
72 06
Je
RES_2
00F7
B4 11
MOV
AH,llH
RECALIBRATE DRIVE
00F9
CO 13
INT
13H
OOFB
73 15
JNe
RES_CK
DRIVE OK
OOFD
E8 0178 R
RES_2:
CALL
POD TCHK
CHECK T I ME OUT
0100
73 EF
JNe
RES-1
0102
BE 0000 E
RES_FL: MOV
Sl,OfFSET F1781
INDICATE DISK 1 FAILURE
0105
F6 C2 01
TEST
DL,l
0108
75 4E
JNZ
RES El
010A
BE 0000 E
MOV
SI,OfFSET F1780
INDICATE DISK 0 FAILURE
0100
E8 0161 R
CALL
SET fAIL
OONT TRY TO IPL DISK 0
0110
EB 46
JMP
SHORT RES_El
0112
B408
RES_CK: MOV
AH,08H
GET MAX CYL, HEAD, SECTOR
Disk 5-105

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents