IBM 5170 Technical Reference page 251

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

034A
06
PUSH
ES
034B
034C
034F
53
B8
---­ R
8E 08
PUSH
Mav
Mav
BX
AX, DATA
DS,AX
ESTABLISH ADDRESSING
ASSUME
DS: [,ATA
03')1
0356
03')A
03~D
C6 06 0074 R 00
8A 1 E 0075 R
80 E2 7F
3A DA
MOV
Mav
ANO
CMP
DISK STATUS1,0
Bl, HF
_NUM
DL,7FH
BL,Dl
GET NUMBER OF DR I VES
GET DR I VE NUMBER
03~F
76 22
J8E
RDT NOT PRESENT
RETURN DRIVE NOT PRESENT
0361
0364
0368
036C
E8 06B4 R
26:
8A 47 02
26:
8A 4F OE
F6 E9
CALL
Mav
Mav
IMUL
GET=:VEC­
AL,ES:[BXj[2]
CL,ES:[BX][14j
CL
GET DISK PARM ADDRESS
HEADS
.. NUMBER OF SECTORS
036E
0371
0372
0374
0376
26:
8B OF
"9
F7 E9
86 CA
8B DO
Mav
DEC
IMUL
Mav
Mav
CX,ES:[6Xj
CX
CX
CX,OX
oX,AX
MAX NUMBER OF CYLI NDERS
LEAVE ONE FOR DIAGNOSTICS
NUMBER OF SECTORS
HIGH ORDER HALF
LOW ORDER HALF
0378
037A
26 CO
B4 03
SUB
Mav
AX,AX
AH,03H
INDICATE FIXED DISK
037C
58
RoT2:
POP
BX
RESTORE REGS
0370
07
pap
ES
037E
1F
pap
OS
037F
F8
CLC
CLEAR CARRY
0380
CA 0002
RET
0383
ROT NOT_PRESENT:
0383
0385
2B CO
86 C8
SUB
MOV
AX,AX
CX, AX
DR I VE NOT PRESENT RETURN
ZERO BLOCK COUNT
0387
8B 00
MOV
DX, AX
0389
EB Fl
JMP
RDT2
038B
READ_D_T
ENDP
PAGE
GET PARAMETERS
(AH '" 8)
038B
GET PARM N
LABEL
NEAR
038B
GET-PARr~-
PROC
FAR
GET DR I VE PARAMETERS
038B
1 E
-
PUSH
OS
SAVE REG
I
STERS
038C
06
PUSH
ES
0380
53
PUSH
BX
ASSUME
OS;ABSO
038E
0390
2B CO
8E 08
SUB
Mav
AX, AX
OS,AX
ESTABLI SH ADDRESS I NG
0392
F6 C2 01
TEST
OL,1
CHECK FOR DR I VE 1
0395
74 06
JZ
GO
03n
C4 lE 0'18 R
LES
BX,HF'_TBL_VEC
039[3
EU 04
JMP
SHORT Gl
0390
C4 lE 0104 R
GO:
LES
BX,HF_TBL_VEC
ASSUME
DS: DATA
01A 1
88
---­ R
Gl:
MOV
AX, DATA
03M
8E 08
MOV
DS,AX
EST ABL I SH SEGMENT
03A6
80 EA GO
SU8
DL,80H
03A9
03AC
03AE
03B3
80 FA 02
73 2C
C6 06 007
1
1 R 00
26:
88 07
CMP
JAE
Mav
Mav
DL, MA>CF I LE
C"
DISK STATUS1,0
AX,
ES;
[8X]
TEST WI7HIN RANGE
MAX NUMBER OF CYLI NDERS
03B6
03B9
2D 0002
8A E8
SUB
Mav
AX,2
CH,AL
ADJUST FOR O-N
03B8
25 0300
AND
AX,0300H
HIGH TWO BITS OF CYL
03SE
01
E8
SHR
AX,l
03CO
Dl
E8
SHR
AX,l
03C2
03C6
03C8
26: OA 47 OE
8A
ce
26:
8A
77
02
aR
Mav
Mav
AL,ES:IBX][14]
CL,AL
DH,ES:[BX][2]
SECTORS
HEADS
03CC
FE CE
DEC
DH
O-N RANGE
03CE
8A 16 0075 R
Mav
DL, HF _NUM
DR I VE COUNT
03D2
26 CO
SUB
AX,
AX
0304
G5:
0304
56
POP
BX
RESTORE REG I STERS
0305
07
pap
ES
0306
1 F
pap
OS
0307
CA 0002
RET
2
03DA
O.l.DA
C6 06 0074 R 07
G4:
Mav
01 SK_STATUSl , INIT_FAIL
;
OPERATION FAILED
03DF
BII 07
MOV
AH, I N I T_FAI L
03E1
2A CO
SUB
AL,AL
03E3
2B 02
SUB
OX, OX
03F5
28 C9
SUB
CX, CX
03E7
F9
STC
SET ERROR FLAG
03E8
EB EA
JMP
G5
03EA
GET_PARM
ENDP
PAGE
INITIALIZE DRIVE
03EA
03EA
c6 06 0048 R 91
j
NIT DRV
-
MOV
PROC
NEAR
CMD_BLOCk.+6, SET _PARM_CMD
03EF
E8 06B4 R
CALL
GET VEC
ES: BX
->
PARM BLOCK
03F2
26:
8A 47 02
MOV
AL,ES;[BX][2]
GET NUMBER OF HEADS
03F6
03FI)
FE C8
8A 26 0047 R
DCC
Mav
AL
AH,CMD_BLOCK+5
CONVFRT TO 0- I ND(X
GET SDH REGISTER
03FC
80 E4 FO
AND
AH,OFOH
CHANGE HEAD NUMBER
03FF
OA EO
OR
AH,AL
TO MAX HEAD
0401
88 26 0047 R
MOV
CMD BLOCK+5,AH
0405
011()9
26:
8A 47 OE
A2 0043 R
MOV
Mav
AL,ES:[BX](14]
CMD_BLOCK+l, AL
MAX SECTOR NUMBER
040C
OIIOE
0 1 111
2B CO
A2
0045
R
E8 05411 R
SUB
Mav
CALL
AX,AX
CMD_BLOCK+3,AL
COMMAND
ZFRO FLAGS
TELL CONTROLLER
04111
75 08
JNZ
I N IT EXIT
CONTROLLER BUSY ERROR
0416
E8 05DF R
CALL
NOT BUSY
WAIT FOR
IT TO BE DONE
0419
75 03
JNZ
I N IT EXIT
TIME OUT
0418
E8 061 E R
CALL
CHECK_STATUS
041£
INlT EXIT:
041E
C3
-
RET
all' F
INIT_DRV
ENDP
READ LONG
(AH;= OAH)
0111 F
PROC
NEAR
041 F
C6 06 0048 R 22
CMD_BLOCK+6,REAO_CMO OR ECC_MOoE
042 1 1
E9 048B R
COMMAND I
0427
ENoP
WRITE LONG
(AH = OBH)
0427
PROC
NEAR
01127
c6 06 00 1 18 R 32
CMD_BLOCk.+6, WR I TE_CMO OR ECC_MODE
0112C
E9 04 FB R
COMMANDO
042F
ENOP
Disk
5-109

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents