EasyManua.ls Logo

IBM XT 5160 - Page 190

IBM XT 5160
420 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
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

Table of Contents

Related product manuals