IBM AT 5170 Technical Reference page 299

Table of Contents

Advertisement

IBM Personal Computer MACRO A •••mbler
V.rloion 2.00
1-12
D]SK ----- 06/10/85
FIXED DISK BIOS
06-10-65
1109
PAGE
1110
r - - - - - - - - -- - ---- -- - - - - - - - - - - - - -- ------ - - ­
1111
;
WAIT FOR
INTERRUPT
:
1112
~~~;----;~~~-
- --
~~~~
--------- -- - - --- -
--- ­
1113 0585
11140585FB
ST I
MAKE SURE I NTERRUPTS ARE ON
1115 0586 2B C9
SUB
CX,CX
SET
INITIAL DELAY BEFORE TEST
1116 0588 FB
CLC
1111 0599 B8 9000
MOV
AX,9000H
DEVICE WAIT INTERRUPT
1118058CCDI5
INT
ISH
1 I 19 058E 72 OF
JC
WT2
DEVICE TIMED OUT
1120
1121 05eo 83 25
"OV
BL,OELAY_'
SET DELA Y COUNT
1122
1123
WAIT LOOP
1124
1125 05C2 F6 06 006E R
eo
WTI :
TEST
4IIHF_I NT_FLAG, 80H
I TEST FOR
INTERRUPT
1126 05Cl El
F9
LOOPZ
WTI
1121 05C9 15 08
JNZ
WT3
INTERRUPT--LETS GO
1 128 05CB FE CB
DEC
8L
1129 05CD 75 F3
JNZ
wn
; KEEP TRYING FOR A WHILE
1130
1131 05CF C6 06 0014
R
80
WT2:
"OV
001 SK_STATUS 1, TIME_OUT
REPORT T I ME OUT ERROR
I 132 0504 EB OA
J"P
SHORT WT4
1133 0506 C6 06 0074 R 00
WT3:
"OV
ODISK_STATUS
1 ,0
1134 05DB Cb Ob 008E R 00
"OV
'HF _INT_FLAG,O
1135 05EO 80 3E 0014
R
00
WT4:
C"P
oDISK_STATUS 1.0
I
SET CONDITION CODE FOR CALLER
I 136 05E5 C3
RET
1131 05Eb
WA]T
ENDP
1138
1139
;
- -
-----
- - - - - - -
--
-
- -
---------
- - -
-
- - - - --
- ­
1140
1
WA I T FOR CONTROLLER NOT BUSY
1141
1-- - - - - - - - - - - - - - - - - -- - - - - - - - - - - -- -- - - - - - ­
1142 05E6
NOT BUSY
PROC
NEAR
1143 05E6 FB
-
STI
MAKE SURE I NTERRUPTS ARE ON
1144 05E7 53
PUSH
8X
1145 05E8 93 25
"OV
BL,DELAY I
1146 05EA 2B C9
SU8
CX,CX
-
SET
INITIAL DELAY BEFORE TEST
1147 05EC SA 0lF7
DX,HF PORT+l
1148 05EF EC
NBll
IN
AL,DX-
I CHECK STATUS
1149 05FO A8 80
TEST
AL,ST BUSY
1150 05F2 EO FB
LOOPNZ
NBI
­
115t 05F4 14 OB
JZ
NB2
NOT BUSY--LETS GO
I 152 05F6 FE CB
DEC
8L
1153 05F8 75 F5
JNZ
N81
KEEP TRYING FOR A WH]LE
1154
"OV
'155 Q5FA C6 06 0014
R
80
"OV
REPORT T I ME OUT ERROR
I
156 05FF EB 05
J"P
11570601 C6 06 0074
R
00
NB2:
MOV
4IIDISK STATUSI,O
1156 0606 58
NB3,
POP
8X
­
1159 0601 80 3E 0014
R
00
C"P
OOISK_STATUSI,O
SET COND I T I ON CODE FOR CALLER
1160 060C C3
RET
1161 0600
NOT_BUSY
ENDP
1162
11b3
1-- - - - - - - - - --- - ------ - - - - - - - - --- - - - - - - - - ­
1164
;
WAIT FOR DATA REQUEST
:
1165
~~;;
-
~;~
-
- - --
---;;~~-
-
-
-
~~~~
-
--
-------
- - ­
;~b~~_~~~TUS
I
,TI ME_OUT
1166 0600
1161 060089 0100
-
MOV
CX,DELAY
:3
1168 0610 BA OIFT
MOV
OX,HF
PORT+1
1169 0613 EC
WQ_I
t
IN
AL,DX-
GET STATUS
11700614 A8 08
WAIT FOR DRQ
111106161509
~~iT
~~' ~~_DRQ
11120618 E2 F9
LOOP
WQ-I
KEEP TRYING FOR A SHORT WHILE
1173 061A C6 06 0014
R
60
MOV
ODTsK_STATUS I, T I ME_OUT
ERROR
1174 061F
F9
STC
11750620 C3
RET
11760621F8
wa_DK:
CLC
t
177 0622 C3
RET
11780623
W"IT ORa
ENDP
1179
I---~----
- ---- -------------- ------------­
1180
;
CHECK FIXED 01 SK STATUS
:
1161
;-
-
--------- -
- - -
---
-
---------
-- ­
1182 0623
CHECK STATUS
PROC
NEAR
I 183 0623 E8 0635 R
-
CALL
CHECK ST
CI-ECK THE STATUS 8YTE
1184 0626 75 07
,JNZ
CHECK-S
I
AN ERROR WAS FOUND
11850628 A8 01
TEST
AL, ST-ERROR
WERE THERE ANY OTHER ERRORS
118b 062A 74 03
JZ
CHECK-S 1
NO ERROR REPORTED
1181 Ob2C E8 0669
R
CALL
CHECK-ER
ERROR REPORTED
1188 062F
CHECK_S
1:
­
1189 062F 80 3E 0074 R 00
CMP
.0
I SK_STATUS I
,0
SET STATUS FOR CALLER
1190 0634 C3
RET
119
T
0635
CI£CK STATUS
ENDP
1192
;--
-
-~------
-
- -
---------------­
1193
;
CHECK FIXED DISK STATUS BYTE
1194
1195 0635
~~~~~
-5;--------
;~~~
----
~E~~
------------ ­
11960635 BA 0lF7
-
MOV
DX,HF PORT+1
GET THE STATUS
1197 0638 EC
IN
AL,DX ­
1 198 0639 A2 008C
R
MOV
.HF STATUS,AL
I
199 063C B4 00
MOv
AH,O
1200 063E A8 80
IF STILL BUSY
1201
Ob40 75
IA
~~~T
~~s~\:~~iY
REPORT OK
1202 0642 B4 CC
MOV
AH,WRITE FAULT
1203 0644 AS 20
TEST
AL,ST WRT FLT
CHECK FOR WR
I
TE
F
AUL
T
1204 0646 15 14
,JNZ
CKST EXIT­
1205 0648 B4 AA
MOV
AH,NOT ROY
1206 064A A8 40
TEST
AL,ST READY
I
CHECK FOR NOT READY
1207 064C 14 OE
,JZ
CKST EXIT
1208 064E B4 40
MOV
AH, BAD SEEK
1209 0650 AS
10
CHECK FOR SEEK NOT COMPLETE
1210 0652 14 08
~~ST
~~S~TE;~~K-COMPL
1211
ObS4 B4 II
MOV
AH,DATA CORRECTED
1212 0656 A8 04
TEST
AL, ST CORRCTO
CHECK FOR CORRECTED ECC
1213 0658 75 02
JNZ
CKST EX I T
1214 065A B4 00
MOV
AH,O­
1215 Ob5C
CKST EXIT:
1216 06SC 88 26 0074
R
-
MOV
ODISK STATUSI,AH
SET ERROR FLAG
1217066080 FC II
C"P
AH,DATA CORRECTED
KEEP GOING WITH DATA CORRECTED
1218 0663 14 03
JZ
CKST ExT
1219 0665 80 FC 00
C"P
AH,O­
1220 0668
CKST EXI:
1221 0668 C3
-
RET
1222 Q6E;.9
CHECK_ST
ENDP
DISK
5-127

Advertisement

Table of Contents
loading

Table of Contents