IBM 5170 Technical Reference page 237

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

r " ,
r-"\
03DA
03DC
03DE
030F
03E1
03E2
03E2
03[2
03E3
03E4
03E5
03E8
03EA
03EC
03EC
03EO
03EF
03Fl
03F3
03F~
03F1
03F7
03FC
03FO
Q3FE
03FF
0400
0401
0402
040
1 1
0404
0406
0406
0407
0409
0408
0400
040F
0411
0413
0413
(l1115
01117
0418
0 1
119
041A
041 B
041C
041C
041C
041 E
041
r
0421
0423
0424
0428
042A
042E
0430
01133
0435
0
1
138
0438
0430
0442
0444
0447
01~49
OIII~C
044F
0451
0451
0456
0458
045A
045C
0461
3C 03
74 F8
90
72 01
C3
52
51
53
SA 03F4
B3 02
33 C9
EC
A8 40
74
11
E2 F9
FE CB
7') F3
80
DE
0041
R
80
58
59
5A
58
1-9
C3
83 02
33 C9
EC
A8 80
75 08
E2 F9
FE CB
75 F3
EB Ell
8A C4
B2 f5
EE
5B
59
<;A
C3
80 01
51
8A CA
02 CO
59
81~
06 003E R
-'5
37
08 06 003E R
B4 07
E8 03E2 R
8A E2
E8 03E2 R
E8 051A R
73 14
C6 06 0041 R 00
84 07
E8 03E2 R
8A E2
E8 03E2 R
E8 OS1A R
72 78
f6 06 008F R 01
-'I~ 09
32 FF
SA DA
C6 87 0094 R 00
CMP
JE
AL,3
GP3
SEE
IF STATE 3(320 ORIVE/320
GO REESTABLISH WAIT TIME
MEDIA)
GP2:
popr
JC
RET
CET _PARM
ENOP
RESTORE EXIT RESULTS
I F FLAG SET,
OUTPUT TO CONTR
RETURN TO CALLER
OLLER
NEC_OUTPUT
TH I S ROUT I NE SENDS A BYTE TO THE NEC CONTROLLER
AFTER TESTING fOR CORRECT DIRECTION AND CONTROLLER READY
THIS ROUTINE WILL TIME OUT
IF THE BYTE IS NOT ACCEPTED
WITfIIN A REASONABLE AMOUNT Of TIME,
SETTING THE DISKETTE STATUS
ON
COMPLET
I
ON
INPUT
(AH)
BYTE TO BE OUTPUT
OUTPUT
CY
=
0
SUCCESS
CY
=
1
FAILURE -- DISKETTE STATUS UPDATED
IF A FAILURE HAS OCCURRED,
THE RETURN
IS MADE ONE LEVEL
HIGHER THAN THE CALLER OF NEC OUTPU
r
TH I S REMOVES THE REQU I REMENT
or
TEST I NG AFTER EVERY GALL
or
NEC OUTPUT
;
(AL) DESTROYED ­
~~~-;;~~ ;~T-
-----
;~oz
----
N
~;R-
--------------------­
-
PUSH
OX
SAVE REGISTERS
PUSH
CX
PUSH
BX
MOV
DX,03f4H
STATUS PORT
MOV
BL,2
HIGH ORDER COUNTER
Rll;
XOR
CX,CX
COUNT fOR T I ME OUT
J23:
IN
AL,DX
GET
STATUS
TEST
AL,040H
TEST DIRECTION BIT
JZ
R12
DIRECTION OK
LOOP
J23
OEC
BL
DECREMENT COUNTER
JNZ
R11
REPEAT TIL DELAY FINISHED
;
TIME ERROR
OR
DISKETTE_STATUS, T I ME_OUT
pop
BX
;
RESTORE REG I STERS
POP
ex
pop
ox
SET ERROR CODE
AND f'lESTORE REGS
POP
AX
DISCARD THE RETURN ADDRESS
5TC
I NDrCATE ERROR TO CALLER
RET
R12:
MOV
BL,2
HIGH ORDER COUNT
J25:
XOR
CX, CX
RESET THE COUNT
J26:
IN
AL,DX
GET
THE STATUS
TEST
AL,080H
r S
IT
READY
JNZ
J27
YES,
GO OUTPUT
LOOP
J26
COUNT DOWN AND TRY ACA I N
DEC
BL
DECREMENT COUNTER
JNZ
J2')
REPCAT TIL DELAY fiNISHED
JMP
ERROR COND
I
T r ON
J27:
OUTPUT
MOV
AL,AH
GET
BYTE TO OUT PUT
MOV
DX,D3F5H
OATA PORT
MaY
DL,OF5H
OUT
DX,AL
OUTPUT THE BYTE
POP
BX
RECOVER REG I STERS
pop
CX
RECOVER REGI STERS
pop
OX
RET
CY
=
0
FROM TEST INSTRUCTION
NEC_OUTPUT
ENDP
SEEK
THIS ROUTINE WILL MOVE THE HEAD ON THE NAME[) DRIV[
TO THE NAMED TRACK.
J F THE DR I VE HAS NOT BEEN ACCESSED
SINCE THE DRIVE RESET COMMANO WAS ISSUED,
THE DRIVE WILL BE
I~ECAL
18RATED.
INPUT
(DLl '" DRIVE TO SEEK ON
(CH
1 '"
TRACK TO SEEK TO
OUTPUT
CY
=
0 SUCC[SS
;
CY
1
FAILURE -- DISKETTE STATUS SET ACCORDINGLY
;
(AX) DESTROYED
­
§EE~----PR;C----NE;~-----------------------------------
f~OV
AL,1
[STABL I SH MASK FOR RECAL TEST
PUSH
CX
SAVE I NPUT VALUES
MOV
CL,DL
GET DRIVE VALUE
INTO CL
ROL
AL,CL
SHIFT
IT BY THE DRIVE VALUE
POP
CX
RECOVER TRACK VALUE
TEST
AL,SEEK_STATUS
TEST FOR RECAL REQUIRED
JNZ
J28
NO_RECAL
OR
SEEK_STATUS,AL
TURN ON THE NO RECAL BIT I N FLAG
MOY
AH,07H
RECAL
~
BRA
TE
COMMAND
CALL
NEC_OUTPUT
MOY
AH,DL
CALL
NEC_OUTPUT
OUTPUT THE
DR
I V[ NU;'1BER
CALL
CHK STAT
2
GET THE INTERUPT AND SENSE I NT STATUS
JNC
J28A
-
SEEK_COMPLETE
;-----
ISSUE RCCALIBRATE
FOR
80
TRACK DISKETTES
MOV
DISKETTE_STATUS,O ;
CLEAR OUT I NVAL I D STATUS
MOV
AH,07H
RECALIBRATE COMMAND
CALL
NEC OUTPUT
MOV
AH.DL
CALL
NEC OUTPUT
OUTPUT THE DR I VE NUMBER
CALL
CHK-STAT 2
GET THE I NTERU PT AND SENSE I NT STATUS
JC
SEEK_ERROR
RB -
­
j28A!
TEST
HF_CNTRL, DUAL
GO DETERM I NE TYPE OF CONTROLLER CARD
JZ
J26
DISKETTE ATTACH CARD
XOR
~ET
UP ADDRESSING TO STATE INDICATOR
MOV
MOV
BXJ,O
SAVE NEW CYLINDER AS PRESENT POSITION
DRIVE 15
IN SYNCH WITH CONTROLLER,
SEEK TO TRACK
J28:
Diskette 5-95

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents