IBM 5170 Technical Reference page 236

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

0333
E8 0580 R
CALL
RESULTS
;
GET
THE NEC STATUS
0336
72
3F
JC
J20
; LOOK FOR ERROR
; ------ CHECK THE RESULTS RETURNED BY THE CONTROLLER
0338
FC
CLD
;
SET THE CORRECT DIRECTION
0339
BE 0042 R
MOV
SI,OFFSET NEC STATUS
POINT TO STATUS FIELD
033C
AC
LOoS
NEC STATUS
-
GET 5TO
0330
24 CO
AND
AL,QCOH
;
TEST fOR NORMAL TERMINATION
033F
74 38
JZ
J22
;
OPN OK
0341
3C 40
CMP
AL,040H
; TEST fOR ABNORMAL TERMINATION
0343
75 29
JNZ
J18
;
NOT ABNORMAL, BAD NEC
;------ ABNORMAL
TERI~INATION,
FIND OUT WHY
0345
031~6
AC
DO EO
LaDS
SAL
NEG STATUS
AL,
T
GET SIl
TEST FOR EaT FOUND
0348
84 04
MOV
AH,RECORD_NOT_fND
034A
72
2l~
JC
J19
RI-CFAIL
034C
DO EO
SAL
AL,1
034E
DO EO
SAL
AL,1
TEST FOR CRC ERROR
0350
B4 10
MOV
AH, BAD_eRC
0352
72 1C
JC
J19
Rio.' FAI L
0354
DO EO
SAL
AL,l
TEST FOR DMA OVERRUN
0356
84 08
MOV
AH. BAD_DMA
0358
72 16
JG
J19
RW_FA I L
035A
035C
DO
DO
EO
EO
SAL
SAL
AL,1
AL,1
TEST FOR RECORD NOT FOUND
035E
B4 04
MOV
AH, RECORD_NOT_FN
0360
72
OE
JC
J19
RW_FA I L
0362
0364
0366
DO
B4
72
EO
03
08
SAL
MOV
JC
AL,1
AH, WR I TE_PROTECT
J19
TEST FOR WR I TE PROTECT
RW FAIL
-
0368
DO EO
SAL
AL,1
TEST MISS I NG ADDRESS MARK
D36A
84 02
MOV
AH, BAD_ADDR_MARK
036C
72
02
JC
J19
RW_fA I L
; ------ NEC MUST HAVE fA I LED
036E
J18:
RW-NEC-FAI L
036E
B4 20
MOV
0370
J19:
RW-FAI L
0370
08 26 0041 R
OR
01 SKETTE STATUS,AH
0374
E8 05Ce R
CALL
NUM_TRANS
HOW MANY WERE REALLY TRANSFERRED
0377
J20:
0377
C3
RET
RETURN;
T~WC!~~ER
0378
J2l :
RW ERR RES
0378
E8 0580 R
CALL
RESULTS
fLUSH THE RESULTS BUFFER
037B
C3
RET
; ------ OPERAT ION WAS SUCCESSFUL
037C
J22:
037C
E8 OSCB R
CALL
NUM TRANS
~6~-~~NY
GOT MOVED
037F
32 E4
XOR
AH,AH
NO ERRORS
0381
C3
RET
0382
RW_OPN
ENDP
GET PARM
THIS ROUTINE FETCHES THE INDEXED POINTER FROM
THE DISK BASE BLOCK POINTED AT BY THE DATA
VAR I ABLCD I SK_PO INTER
A BYTE FROM THAT TABLE I S THEN MOVED INTO AH,
THE I NDEX Of THAT BYTE BE I NG THE PARM IN BX
ENTRY -­
BX = I NDEX OF BYTE TO BE fETCHED
it
2
IF THE LOW BIT OF BX IS ON, THE BYTE IS IMMEDIATELY
OUTPUT TO THE NEC CONTROLLER
EXI T -­
AH = THAT BYTE FROM BLOCK
0382
GET
PARM
PROC
NEAR
0382
1E
-
PUSH
OS
SAVE SEGMENT
0383
56
PUSH
51
SAVE
0384
2B CO
SUB
AX,AX
ZERO TO AX
0386
8E 08
MOV
OS,AX
ASSUME
DS:ABSO
0388
C5 36 0078 R
LOS
SI,DISK POINTER
PO I NT TO BLOCK
038C
Dl
EB
SHR
BX,l
-
DIVIDE BX BY 2, AND SET FLAG FOR EXIT
038E
8A 20
MOV
AII,ISI+BX)
GET THE WORD
0390
5E
POP
51
RESTORE
0391
lF
POP
OS
RESTORE SEGMENT
0392
9C
PUSHf
SAVE RESULTS FOR EX I T
ASSUME
OS: DATA
0393
83 FB OA
CMP
BX,10
LOOK FOR MOTOR STARTUP DELAY PARM
0396
75 19
J,E
GPO
BYPASS I F NOT PARM LOOK I NG FOR
0398
F6 06 003F R 80
TEST
MOTOR_STATUS, WR
J
TE_OP
IS THIS A WRITE
0390
74 09
JZ
GPl
NO, ENFORCE MINIMUM READ WAIT
039F
80 FC 08
CMP
AH,8
SEE I F AT LEAST
A
SECOND
I
S SPEC I F I ED
03A2
73 3A
JAE
GP2
I F YES, CONT I NUE
03A4
B4 08
MOV
AH,8
FORCE A SECOND WAIT FOR MOTOR START
a3A6
EB 36
JMP
SHORT GP2
CONT I NUE
a3A8
80 FC 05
GPl :
eMP
AH,5
SEE I F A 625 MS WAIT ON READ
03AS
73 31
JAE
GP2
IF TIiERE GO CONT I NUE
03AD
84
05
Mav
AH,5
ENFORCE A 625 MS WAIT
03Af
EB 20
JMP
SHORT GP2
CONT I NUE
03B1
83 FB 09
GPO:
CMP
8X,9
IS TH I S HEAD SETTLE PARM
03B4
75 28
JNE
GP2
BYPASS I F NOT HEAD SETTLE
03B6
f6 06 003F R 80
TEST
MOTOR_STATUS, WRITeOp
SEE I F A WRITE OPERATION
03BB
74 21
JL
GP2
I F NOT, DONT ENFORCE ANY VALUES
03Bo
OA E4
OR
AH,AH
CHECK FOR ANY WAI1'1
03BF
75 10
JNZ
GP2
I F THERE DONT ENFORCE
03C1
52
PUSH
OX
SAVE REG I STER
03C2
53
PUSH
BX
SAVE REG I STER
03C3
8B 56 00
MOV
OX, [BP]
GET ORIGINAL DRIVE REQUESTED
03C6
32 FF
XOR
BH,BH
~ET
UP ADDRESSING TO STATE INDICATOR
03C8
8A DA
MOV
BL,DL
03CA
84 OF
MOV
AH, H012_SETTLE
SPEC
1
ED
HEAD SETTLE TIME fOR 1.2 DRIVE
03CC
8A 87 0090
R
MOV
AL, DSK_STATE[ BX
1
GET MEDIA/DRIVE STATE
0300
5.
POP
BX
RESTORE
0301
5A
POP
ox
RESTORE
0302
24 07
AND
AL, STATE MSK
I SOLATE STATE NUMBER
0304
75 04
JNZ
GP4
-
BRANCH I f
STATES 1 THRU 5
0306
B4 14
Mav
AH, HD320_SETTLE
SPEC' ED HEAD SETTLE TIME FOR 320 DRIVE
0308
EB 04
JMP
SHORT GP2
GO TO WAlT LOOP
5-94
Diskette

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents