IBM XT 5160 Technical Reference page 190

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

DISKETTE (01/10/86)
5-43
PO I NTER TO DATA AREA
MAX STATUS BYTES
STATUS PORT
CLEAR THE COUNTERS
FOR 2 SECOND WA I T
TEST FOR
INTERRUPT OCCURR I NG
COUNT DOWN WH I LE WA
IT
I NG
SECOND LEVEL COUNTER
WA I T FOR THE INTERRUPT
I F ERROR, RETURN IT
SENSE I NTERRUPT STATUS COMMAND
THROW AWAY ERROR RETURN
TURN ON INTERRUPTS, .JUST I N CASE
CLEAR TIMEOUT I ND I CA TOR
LOAD WA I T CODE AND TYPE
PERFORM OTHER FUNCT I ON
BYPASS TIM I NG LOOP IF TI MEOUT DONE
GET THE FIRST STATUS BYTE
I SOLATE THE BITS
TEST FOR CORRECT VALUE
IF ERROR, GO MARK IT
GOOD RETURN
ERROR RETURN CODE
REAO I N THE RESULTS
LOAD NEC_OUTPUT ERROR ADDRESS
OUTPUT THE DR I VE NUMBER
GET THE I NTERRUPT AND SENSE I NT STATUS
THROW AWAY ERROR
RECALl BRATE COMMAND
BX
=
DR I VE #
SAVE STATUS
WA I T FOR HEAD SETTLE T I ME
RESTORE STATUS
CLEAR ERROR RETURN FROM NEC_OUTPUT
RETURN TO CALLER
; LOAD NEC_OUTPUT ERROR
1-21
01-10-86
; SAVE CURRENT CARRY
(IISEEK STATUS, NOT I NT FLAG
;
TURN OFF I NTERRUPT FLAG
-
-
; RECOVER CARRY
; GOOD RETURN CODE
ENDP
(IIDSKETTE_STATUS,TIME_OUT
; NOTHING HAPPENED
ERROR RETURN
BL,4
CX,CX
(IISEEK STATUS,INT FLAG
.J37
-
-
.J36
BL
.J36
AX
AX,09001H
15H
.J36A
(IIDSKETTE_STATUS ,BAD_SEEK
SHORT .J34
ENDP
AX
CX
CY
REFLECTS STATUS OF OPERATION.
DI
=
DRIVE #
MOV
XOR
TEST
.JNZ
LOOP
DEC
.JNZ
ON
EXIT:
RESULTS
:
TH I S ROUT I NE WILL READ ANYTH I NG THAT THE NEC CONTROLLER :
RETURNS FOLLOW I NG AN INTERRUPT.
:
:
(IIDSKETTE STATUS, CY REFLECT STATUS OF OPERAT ION. :
AX, BX, CX-;DX DESTROYED
:
ON EX IT:
CHK STAT 2
:
-
THIS ROUT I NE HANDLES THE INTERRUPT RECE I VED AFTER
:
RECALIBRATE,
SEEK, OR RESET TO THE ADAPTER.
THE
:
I NTERRUPT IS WoA I TED FOR, THE I NTERRUPT STATUS SENSED,
:
AND THE RESULT RETURNED TO THE CALLER.
:
:
(IIDSKETTE_STATUS, CY REFLECT STATUS OF OPERATION.:
ON ENTRY
ON EX IT:
PUSHF
AND
POPF
RET
WAIT_INT
·
----------------------------------------------------------------
RESULTS PROC
NEAR
PUSH
DI
MOV
DI,OFFSET (IINEC STATUS
MOV
BL,7
-
MOV
DX, 03F4H
WAIT INT
:
-
TH I S ROUT I NE WA I TS FOR AN I NTERRUPT TO OCCUR A T I ME OUT :
ROUT I NE TAKES PLACE DUR I NG THE WA IT,
SO THAT AN ERROR
:
MA Y BE RETURNED I F THE DR I VE I S NOT READY.
:
:
·-
~~ _:~!. ~:
------
~~:~:~~::::~~~~: ~ _:~ -~:~:::~ _:~~~~:
-
~~
-
~~:~~~!.~~::
WA I T
I NT
PROC
NEAR
-
STI
CLC
MOV
INT
.JC
.J37:
.J36A:
OR
STC
OR
STC
.JMP
CHK_STAT_2
.J36:
POP
CS BACK:
-
RET
.J35:
.J34:
·
- - -
----
- - - - - -
----
---
-- -- --
- - - - - - -
- ----
- -
--
-
- -- -- -
- - -
---
-
- --
-
----
CHK STAT 2
PROC
NEAR
-
MOV
AX, OFFSET CS BACK
PUSH
AX
-
CALL
WA I T I NT
.JC
.J34 -
MOV
AH,08H
CALL
NEC OUTPUT
CALL
RESUL TS
.JC
.J34
MOV
AL ,(IINEC STATUS
AND
AL, 0
I
100000B
CMP
AL, 0
I
100000B
.JZ
.J35
CLC
RECAL
RECAL I BRA TE DR I VE
·
----------------------------------------------------------------
RECAL
PROC
NEAR
PUSH
CX
MOV
AX, OFFSET RC BACK
PUSH
AX
-
MOV
AH,07H
CALL
NEC OUTPUT
MOV
BX,OI
MOV
AH,BL
CALL
NEC OUTPUT
CALL
CHK-ST AT 2
POP
AX -
-
RC BACK:
-
POP
RET
RECAL
ENDP
POP
NEC ERR:
-
RET
SEEK
ENDP
RB:
;-----
WAIT FOR HEAD SETTLE
DO WAIT:
-
PUSHF
CALL
HD_WA I T
POPF
2228
2229
2230
22310A75
2232 OA75 9C
2233 OA 76 E8 09B7 R
2234 OA 79 9D
2235 OA7A
2236 OA7A 58
2237 OA 7B
2238 OA 7B C3
2239 OA 7C
2240
2241
2242
2243
2244
2245
2246
2247
2248 OA 7C
2249 OA7C 51
2250 OA 7D B8 OA91
R
2251
OA80 50
2252 OA81 B4 07
2253 OA83 E8 09FO R
2254 OA86 8B DF
2255 OA88 8A E3
2256 OA8A E8 09FO R
2257 OA8D E8 OA93 R
2258 OA90 58
2259 OA91
2260 OA91
59
2261
OA92 C3
2262 OA93
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272 OA93
2273 OA93 B8 OAB 1 R
2274 OA96 50
2275 OA97 E8 OABA R
2276 OA9A 72
14
2271 OA9C B4 08
2278 OA9E E8 09FO R
2279 OAA 1 E8 OAE2 R
2280 OAA4 72 OA
2281
OAA6 AO 0042 R
2282 OAA9 24 60
2283 OAAB 3C 60
2284 OAAD 74 03
2285 OAAF F8
2286 OABO
2287 OABO 58
2288 OAB 1
2289 OAB 1 C3
2290
2291
OAB2
2292 OAB2 80 OE 0041 R 40
2293 OAB7 F9
2294 OAB8 EB F6
2295 OABA
2296
2297
2298
2299
2300
2301
2302
2303
2304 OABA
2305 OABA FB
2306 OABB F8
2307 OABC B8 9001
2308 OABF CD 15
2309 OACI
72
II
2310
23
I
1 OAC3 B3 04
2312 OAC5 33 C9
2313 OAC7
2314 OAC7 F6 06 003E R 80
2315 OACC 75 OC
2316 OACE E2 F7
23
I
7 OADO FE CB
2318 OAD2 75 F3
2319
2320 OAD4 80 OE 0041 R 80
2321
OAD9 F9
2322 OADA
2323 OADA 9C
2324 OADB 80 26 003E R 7F
2325 OAEO 9D
2326 OAE
I
C3
2327 OAE2
2328
2329
2330
2331
2332
2333
2334
2335
2336 OAE2
2337 OAE2 57
2338 OAE3 BF 0042 R
2339 OAE6 B3 07
2340 OAE8 BA 03F4
2341
IBM Personal Computer MACRO Assembler
Version 2.00
DSKETTE - -
0
I / I
0/86
DISKETTE ADAPTER B I OS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents