IBM 5170 Technical Reference page 248

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

0114
0116
8A DA
CD 13
MOV
INT
BL,Dl
13H
SAVE DR I VE CODE
0118
72 33
Je
RES ER
DnA
8A 03
MOV
Dl,Bl
RESTORE DR I VE CODE
011C
U11F
B8 0401
CD 13
RES_3:
MOV
INT
AX, 0401
H
1311
VER I FY THE LAST SECTOR
0121
73
3B
JNe
RES OK
VERI FY OK
0123
0126
80 FC OA
714 36
eMP
JE
AH, BAD SECTOR
RES OK­
OK ALSO I
F
JUST 10 READ
0128
80 FC 11
eMP
AH,DATA CORRECTED
0126
74 31
JE
RES OK -
0120
0130
80 FC 10
74 2C
eMP
JE
AH,BAD ECC
RES_OK­
0132
£8 0178
R
CALL
POD_TCHK
CHECK FOR T I ME OUT
0135
72 16
JC
RES ER
FAILED
0137
AO 0044 R
MOV
Al, CMD_BlOCK+2
GET SECTOR ADDRESS
Ol3A
FE C8
OfC
AL
TRY PREV I OUS ONE
013C
74 04
JZ
RES CK
WE'VE TR I EO ALL SECTORS ON TRACK
013E
8A 2E 0045
R
MOV
CH,CMD_BlOCK+3
GET CYL I NDER
0142
8A OE 0046 R
MOV
CL, CMD_BlOCK+4
NUMBER
I SHL
CL,6
MOVE THE BITS UP
0146
+ ??0003
LABEL
BYTE
0146
DO El
+
SHL
Cl,l
0148
+ ??0004
LABEL
BYTE
0146
+
ORG
OFFSET CS:??0003
0146
CO
DB
OCOH
0148
ORG
OFFSET CS: 1?0004
0148
06
DB
6
0149
014B
OA C8
EB CF
OR
JMP
Cl,Al
RES
3
PUT SECTOR NUMBER I N PLACE
TRY AGAIN
0140
0150
0153
BE 0000 E
F6 C2 01
75 03
RES_ER;
MOV
rfST
JNZ
SI,OFFSET F1791
Dl,l
RES_El
INDICATE DISK 1 ERROR
0155
BE 0000 E
MOV
S I, OFFSET F1790
INDICATE DISK
0
ERROR
0158
E8 0000 E
RES_El: CALL
P MSG
015B
BD OOOF
MOV
BP,OFH
015E
59
RES_OK:
POP
ex
RESTORE TIMER LIMITS
015F
5B
POP
BX
0160
C3
RET
0161
HD_RESET_'
ENDP
0161
SET_FA I L
PROC
NEAR
0161
BO 8E
MOV
Al,8EH
GET CMOS ERROR BYTE
0163
E6 70
DDT
70H,Al
0165
EB 00
JMP
SHORT $+2
0167
E4 71
IN
Al,71H
0169
016B
OC 08
8A EO
OR
MOV
Al,HF FAIL
AH,AL­
SET DONT I PL FROM DISK FLAG
SAVE IT
0160
BO 8E
MOV
Al,8EH
CMOS BYTE ADDRESS
016F
£6 70
OUT
70H, Al
0171
8A C4
MOV
AL,AH
0173
EB
00
JMP
SHORT $+2
0175
0177
E6 71
C3
OUT
RET
71H,AL
PUT IT OUT
0178
S£TJAIL
ENDP
0178
POD TCHK
PROC NEAR
CHECK FOR 30 sECOND TIME OUT
0178
58
-
POP
AX
SAVE RETURN
0179
59
POP
ex
GET
TIME OUT liMITS
017A
5B
POP
BX
017B
53
PUSt!
BX
AND SAVE THEM AGAIN
017C
51
PUSH
ex
0170
50
PUSH
AX
RESTORE RETURN
017E
A1 006c R
MOV
AX, T I MER_lOW
AX -; CURRENT T I ME
BX"" START TIME
CX = END TIME
0181
0183
3B 09
72 06
CMP
JB
ax,cx
TCHKl
START < END
0185
3B 08
CMP
BX,AX
0187
72
OC
JR
TCHKG
END < START < CURRENT
0189
EB 04
JMP
SHORT TCHK2
END, CURRENT < START
018B
3B C3
TCHK1:
cr~p
AX,BX
0180
72 04
JB
TCHKNG
CURRENT
<
START < END
OlaF
3B Cl
TCHK2:
eMP
AX,CX
0191
72
02
JB
TCHKC
START < CURRENT
<
£ND
OR CURRENT
<
END
<
START
0193
01914
F9
C3
TCHKNG: STC
RET
CARRY SET I NO I CATES T I ME OUT
0195
F8
TCHKG:
CLC
INDICATE STIll TIME
0196
C3
RET
0197
POD_TCHK
ENDP
0197
01 SK_SETUP
ENDP
PAGE
;
--.--------------------- ---------------­
FIXED DISK BIOS ENTRY POINT
.
------------------ ------ ---------------­
0197
FAR
DISK_IO
:~~3ME
os:
NOTH lNG, ES: NOTH I NG
0197
80 FA 80
eMP
Dl, BOH
TEST FOR FIXED DISK DRIVE
019A
73
05
JAE
HARD DISK
YES,
HANDLE HERE
019C
CO
40
INT
40H -
DISKETTE HANDLER
019E
019£
CA 0002
RET
BACK TO CALLER
OlAl
HARD DISK:
-
ASSUME
DS: DATA
OlAl
FB
ST I
ENABLE INTERRUPTS
01A2
OA E4
OR
AH,AH
01A4
75 09
JNZ
A2
01A6
CD 40
I NT
40H
RESET NEC WHEN AH=O
01A8
2A E4
SUB
AH,AH
01AA
80 FA 81
CMP
Dl, (80H + S_MAX_F ILE -
1)
01AD
77 EF
JA
RET_2
OlAF
A2:
OlAF
80 FC 08
CMP
AH,08H
GET PARAMETERS IS A SPECIAL CASE
01B2
75 03
JNL
A3
01B4
E9 038B R
JMP
GET_PARM_N
01 B7
80 Fe 15
A3:
C~lP
AH,15H
READ DASD TYPE I S ALSO
01BA
75 03
JNZ
A4
01BC
E9 0349 R
JMP
READ_DASD_ TYPE
01 BF
A4:
01BF
53
PUSH
BX
SAVE REGISTERS DURING OPERATION
01CO
51
PUSH
ex
OlCl
52
PUSH
OX
01C2
1E
PUSH
IlS
01C3
06
PUSH
r.S
01C4
56
PUSH
SI
01C5
57
PUSH
01
01C6
OA E4
OR
AH,AH
CHECK FOR RESET
01C8
75 02
JNZ
A5
01CA
B2 80
MOV
Dl,80H
FORCE DR I VE
80
FOR RESET
01CC
£8 0212 R
A5:
CALL
DISK_lO_CONT
PERFORM THE OPERATION
01CF
50
PUSH
AX
0100
B8
----
R
MOV
AX, DATA
0103
8E 08
MOV
DS,AX
ESTABLISH SEGMENT
5-106 Disk

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents