IBM 5170 Technical Reference page 252

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

SEEK
(AH
=
OCH)
042F
DISK_SEEK
PROC
NEAR
Ot~2
F
C6 06 0048 R 70
MOV
CMD_BlOCK+6, SEEK_CMD
0 1 134
E8 0544 R
CAll
COMMAND
0437
75 14
JNZ
OS EXIT
CONTROLLER BUSY ERROR
0439
E8 05A5 R
CALL
WATT
043C
75 OF
JNZ
OS_EX I T
T I ME OUT ON SEEK
043E
E8 OGlE R
CALL
CHECK STATUS
04Lll
80 3E 00"(11 R 40
eMP
DISK STATUS1, i3AD SEEK
0446
75 05
JNE
OS EXIT
-
0448
0 1 140
C6 06 0074 R 00
MOV
as
EXIT:
o
ISK_STATUSl,
0
044D
e3
-
RET
044E
DISK_SEEK
[NDP
TEST DISK READY
(AH = 010H)
0144E
044E
E8 050F R
TST ROY PROC
-
CALL
NEAR
NOT BUSY
WA I T FOR CONTROLLER
0451
75 11
JNZ
TR EX
0453
AD 0047 R
MOV
AL~CMO_BLOCK+5
SELECT DRIVE
0456
0459
6A 01 F6
EE
MOV
OUT
OX, HF PORT+6
DX,AL­
045A
E8 0630 R
CALL
CHECK ST
CHECK STATUS ONLY
0450
75 05
JNZ
TR EX­
045F
C6 06 0074 R 00
MOV
DISK_STATUS1,0
WI PE OUT DATA CORRECTED E"RROR
0464
C3
RET
0465
ENOP
R£CAlIBRATE
(AH
='
011H)
0465
HD I SI<_RECAL
PROC
NEAR
0465
046A
C6 06 00 1 18 R 10
E8 05 1 111 R
~10V
CALL
CMD SLOCK+6, RECAL CMD
COMMAND
-
START THE OPERATION
0460
75 111
JNZ
RECAL EXIT
ERROR
046F
E8 05A5 R
CALL
WAIT -
WA I T FOR COMPLET I ON
0472
75 OF
JNZ
RECAL EXIT
TIME OUT
0474
E8 061E R
CALL
CHECK-STATUS
0477
047C
80 3£ 00"(11 R 110
75 05
CMP
JNE
DISK STATUSl, BAD SEEK
RECAL EXIT
-
SEEK NOT CO:-!PlETE
I S
OK
047E
0483
C6 06
00-/4
R 00
MOV
RECAL EXI T:
OISK_STATUS1,O
0483
80 3E 0074 R 00
-
01P
OISK_STATUS1,O
0488
C3
RET
0
1
189
HD I SK_RECAl
ENOP
; CONTROLLER DIAGNOSTIC (AH
=
14H)
;
-----­
---­ -----­ ----­ ------------------­
0489
CTLR D I AGNOST I C PROC
NEAR
10 DELAY NOT REQUIRED
**
0489
E4 Al
-
IN
AL, I NT__CTL_PORT+1
TURN ON SECOND INTERRUPT CHIP
0486
24 6F
AND
AL,OBFH
0480
048F
E6 Al
E4 21
OUT
IN
I NT CTL PORT+1,AL
AL, TNTCCTL_PORT+1
LET INTERRUPTS PASS THRU TO
0491
21+
FB
AND
AL,OF8H
SECOND CH I P
0493
E6 21
OUT
I NTl_CTL_PORT+l ,AL
0495
0 1 198
E8 05DF R
75 1A
CALL
JNZ
NOT BUSY
CD3_RR
WAIT FOR CARD
BAD CARD
0119A
SA 01
F7
MOV
OX, HF_PORT+7
0119D
eo 90
MOV
AL,DIAG.CMD
START DIAGNOSE
0119F
OIIAO
EE
E8 05DF R
OUT
CALL
OX,Al
NOT BUSY
WAIT FOR IT TO COMPLETE
04A3
OJIA5
134 80
75 OF
MOV
JNZ
AH, TIME_OUT
CD EXIT
TIME OUT ON DIAGNOSTIC
OJIA?
eA 01 Fl
MOV
DX~HF
_PORT+l
GET ERROR REGISTER
OJIAA
EC
IN
AL,DX
04AIl
A2 0080
R
MOV
HF ERROR,AL
SAVE IT
04AE
B4 00
MOV
AH~O
04BO
3C 01
CMP
AL,l
CHECK FOR ALL OK
0482
74 02
JE
SIIORT CD_EXIT
0484
84 20
CD_ERR: MOV
AH,BAD_CNTLR
0466
CD EXIT;
04B6
04BA
88 26 0074 R
C3
-
MOV
RET
0ISK_STATUS1,AH
04B8
CTlR_O I AGNOST I C ENOP
.
---­
-­--­--­--­-----­
- -- -
-
-­---­--­-­----
­
---­
; COMMAND I
REPEATEDLY I NPUTS DATA TIL NSECTOR
RETURNS ZERO
048B
041313
E8 068f R
COMMAND I :
CALL
CHECK DMA
CHECK 64K BOUNDARY ERROR
04BE
72 3A
JC
CMO ABORT
04CO
04C2
88 FB
£8 0544 R
MOV
CALL
DI,BX
COMMAND
OUTPUT COMMAND
04C5
75 33
JNZ
CMD_ABORT
04C7
a4C7
E8 05A5 R
CALL
WAIT
; WAIT FOR DATA REQUEST INT
a4cA
04CC
75
B9 0100
JNZ
MOV
TM OUT
CX~256D
;
;
TIME OUT
SECTOR SIZE
IN WORDS
04cr
BA 01 FO
MOV
OX, HF_PORT
0402
FC
CLO
REP_1I'lSW
GET THE SECTOR
0403
01105
F3 60
F6 06 0048 R 02
TEST
DB
QF3H,06DH
CMO_BLOCK+6, ECC_MODE
; CHECK FOR NORMAL INPUT
04DA
04DC
"(II 12
E8 0608 R
JZ
CALL
CMD_13
WAIT DRQ
WAIT FOR DATA REQUEST
04DF
n
19
JC
TM OUT
01lE1
SA 01 FO
MOV
DX~HF
_PORT
04E4
69 0004
MOV
CX,4
GET ECC BYTES
04E7
04E8
04E8
EC
26: 88 05
47
C~1O.12:
IN
MDV
INC
AL,OX
ES:BYTE PTR (Dlj,AL
DI
GO SLOW FOR BOARD
04EC
E2 F9
LOOP
CMO 12
04EE
£8 061E R
CMD_I 3: CALL
CHECK STATUS
04F1
75 07
JNZ
CMD ABORT
ERROR RETURNED
04F3
04F8
F6 06 008C R 80
75 CD
TEST
JNZ
~~O~iA6~6~7~_BUSY
CHECK FOR MORE
04FA
CMD_ABORT:
04FA
TM_OUT:
04FA
C3
RET
COMMANDO
REPEATEDLY OUTPUTS DATA TIL NS£CTOR
RETURNS ZERO
5-110 Disk

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents