IBM 5170 Technical Reference page 235

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

0257
51
0258
8A CA
025A
SO 01
025C
02 EO
025E
FA
025F
811
06 003F
R
0263
74 OC
0265
80 3E 0040
R
EC
026A
C6 06 0040 R FF
026F
72 42
0271
08 06 D03F
R
0275
Bl 04
0277
80 26 003F
R
CF
027C
02 C2
027E
08
16
003F R
0282
02 CA
0284
FB
0285
AO 003 F R
0288
24 3F
02BA
02 CO
028C
OC DC
028E
52
028F
BA 03F2
0292
EE
0293
SA
0294
F8
0295
B8 90FD
0298
CD 15
029A
72 17
029C
BB 0014
029 F
E8 0382
R
02A2
OA E4
02A4
02A4
74 00
02A6
2B C9
02A8
E2 FE
02AA
B9 6006
02AD
E2 FE
02AF
FE CC
02Bl
75
F1
02B3
0263
FB
02B4
59
02B5
E8 041C R
02B8
58
02B9
8A FC
02BB
B6 00
02BO
72 72
02BF
BE 0331 R
02C2
56
02C3
E8 03E2 R
02C6
8A 66 01
02C9
DO Ell
02CB
DO E4
02CO
80 £4 04
0200
OA £2
0202
£8 03E2 R
0205
80 H
40
0208
75 03
020A
E9 0228 R
0200
8A £5
020F
E8 03E2 R
02E2
8A 66 01
02E5
E8 03E2 R
02E8
8A £1
02EA
E8 03E2 R
02ED
BS 0007
02FO
E8 0382 R
02F3
BB 0009
02F6
E8 0382 R
02F9
8B 5E 00
02FC
32 H
02FE
8A A7 0090 R
0302
F6 C4
10
0305
74 06
0307
80 E4 07
030A
80 EC 03
0300
80 E4 07
0310
80 FC 00
0313
75 04
0315
B4 2A
0317
ES DB
0319
80 FC 01
031C
15 04
031E
B423
0320
EB 02
0322
B4 1 B
0324
E8 03E2 R
0321
BB 0000
032A
032A
E8 0382 R
0320
5E
032E
£8 OS3B R
0331
0331
12
45
rUSH
ex
MOV
CL,DL
MOV
AL,l
SAL
AL,CL
ell
TEST
AL, MOTOR_STATUS
JZ
R13
eMP
MOTOR_COUNT,OECH
MOV
MOTOR_COUNT,OFFH
JB
J14
R13 :
OR
MOTOR_STATUS, AL
MOV
CL,4
AND
MOTOR STATUS,OCFH
ROL
DL,CL ­
OR
MOTOR_STATUS,DL
ROR
DL,CL
STI
MOV
AL,MOTOR_STATUS
AND
AL,03FH
ROL
AL,CL
OR
AL,OCH
PUSH
OX
MOV
DX,03F2H
OUT
DX,AL
POP
OX
; ------ WAIT FOR MOTOR
ele
MOV
AX,090FDH
INT
15H
Je
J14
MOV
BX,20
CALL
GET_pARM
OR
AH,AH
J12:
JZ
J14
SUB
CX,CX
J13:
LOOP
J13
MOV
CX,06D06H
R18:
LOOP
R18
DEC
AH
JNZ
J12
J14:
STI
POP
ex
DO THE SEEK OPERATION
CALL
POP
MOV
MOV
JC
MOV
PUSH
;
--~--~
SEND
CALL
MOV
SAL
SAL
AND
OR
CALL
; ---- .... TEST
eMP
JNE
JMP
J15:
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
XOR
MOV
TEST
JZ
AND
SUB
DO:
AND
eMP
JNE
"IQV
JMP
R16:
eMP
JNE
MOV
JMP
R17:
MOV
R15:
CALL
MOV
J16:
CALL
POP
SEEK
AX
BH,AH
DH,O
J17
SI,OFFSETJ17
S I
SAVE THE T/5 PARMS
GET DRIVE NUMBER AS SHIFT COUNT
MASK FOR DETERM
I
N
I
NG MOTOR BIT
SHI FT THE MASK BIT
NO INTERRUPTS WHILE DETERMINING MOTOR STATUS
IS THIS MOTOR ON
I
F NOT GO TEST FOR WAIT NECESSARY
SEE I F THE MOTOR HAS BEEN ON LONG ENOUGH
ENSURE MOTOR DOESHT TURN OFF DURING OPERATION
I S LESS THAN EC, THEN TURN ON NOT DUE TO
READING OF DISK CHANGE LINE, OTHERWISE
GO TEST FOR WAIT NECESSARY
TURN ON THE CURRENT MOTOR
SHI
FT
COUNT TO MOVE DRIVE TO HIGH NIBBLE
CLEAR ENCODED DRIVE SELECT 'BITS(4 & 5)
MOVE DR I VE ENCODED BITS TO HIGH NIBBLE
SAVE AS SELECTED DR I VE
RESTORE
INTERRUPTS BACK ON
GET MOTORS ON AND DRIVE SELECTED
STRIP OFF UNWANTED BITS
SHI
FT
BITS AROUND TO DESIRED POSITIONS
NO RESET,
ENABLE DMA/INT
SAVE REG
CONTROL PORT ADDRESS
RECOVER REG
j
STERS
CLEAR TIMEouT INDICATOR
LOAD WA I T CODE & TYPE
PERFORM OTHER FUNCT
I
ON
BYPASS TIMING LOOP I F
GET THE MOTOR WAIT
PARAMETER
TEST FOR NO WA I T
I~n-~N~-~: =~
EXP I RED
SET UP 1/8 SECOND LOOP
WAIT FOR THE REQUIRED
DECREMENT T I ME VALUE
ARE WE DONE YET
MOTOR_RUN:-t
l NG
I NTERRUPTS BACK ON FOR
MOVE TO CORRECT TRACK
RECOVER COMMAND
SAVE COMMAND IN BH
TIMEOUT OCCURRED
TIME
TIME
BYPASS 'riA IT
SET NO SECTORS READ INCASE OF ERROR
I F ERROR, THEN EX
I
T AFTER MOTOR OFF
D~~MiH~VY~\?~LS~~~~R~O~ON~gfg~T~~~
LOCATION
OUT THE PARAMETERS TO THE CONTROLLER
FOR
; ............ LET THE OpERAT I ON HAPPEN
CALL
WAIT_I NT
J17:
JC
J21
NEC_OUTPUT
AH, [BP+lj
AH,l
AH,1
AH,4
AH,DL
NEC_OUTPUT
FORMAT COMMAND
BH,04DH
J15
Jl0
AH, CH
NEC OUTPUT
AH, IBP+1
1
NEC OUTPUT
AH, CL
NEC_OUTPUT
BX.7
GET PARM
BX,
'9
GET_pARM
BX, [BP]
SH,BH
;
AH,DSK_STATE[BX];
AH,DETERMINED
00
AH.07H
AH,03H
A~I,
07H
AH,O
.'6
AH,02AH
SHORT R15
AH,1
.17
AH.023H
SHORT R15
AH,01BH
NEC OUTPUT
BX,13
GET_PARM
SI
OUTPUT THE OPERATION COMMAND
GET THE CURRENT HEAD NUMBER
MOVE IT TO BIT 2
ISOLATE THAT BIT
OR I N THE DR I VE NUMBER
IS THIS A FORMAT OPERATION
NO. CONTI NUE WI TH R/W/V
I F SO, HANDLE SPECIAL
CYLJ NOER NUMBER
HEAD NUMBER FROM STACK
SECTOR NUMBER
BYTES/SECTOR PARM FROM BLOCK
TO THE NEC
EOT PARM FROM BLOCK
TO THE NEC
RESTORE DRIVE NUMDER FROM PARMS
CLEAR HIGH ORDER INDEX REGISTER
GET DRIVE STATE VALUE
SEE IF STATE ALREADY ESTABLISHED
BYPASS STATE REDUCT I ON FOR GAP LENGTH
STRI P OFF HIGH BITS
REDUCE STATES
STRIP OFF HIGH BITS
CHECK FOR DISKETTE ATTACH CARD OR 320 DRIVE
I F NOT CHECK FOR NEXT STATE
LOAD 320/360 DR I VE GAP LENGTH
GO OUTPUT
CHECK FOR 320 MEDIA IN 1.2 DRIVE
IF NOT, THEN HANDLE 1.2 MEDiA IN 1.2 DRIVE
LOAD 320/360 MED I A IN 1.2 DR I VE GAP LENGTH
LOAD 1.2 MEDIA IN 1.2 DRIVE GAP LENGTH
DTL PARM FROM BLOCK
R~OO;~EF~~~
SH
CAN NOW
0
I SCARO THAT DUMMY RETURN ADDRESS
WAIT FOR THE INTERRUPT
MOTOR Off
LOOK FOR ERROR
Diskette 5-93

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents