IBM AT 5170 Technical Reference page 296

Table of Contents

Advertisement

•••
IBM Persona! Computer MACRO Assembler
Version 2.00
1-'
DISK -----
06/10/85
FIXED DISK 8105
06-10-85
781
782
783
78'
78.
78.
0393
7S7
0393
7SS
0393
IE
7S.
0394 06
7.,
0395 53
7"
7.2
0396 Be ---- R
7'3
0]99 8E 08
039B F6 C2 01
7'5
039E 14 06
7.'
03AO C4
IE 0118 R
7'.
7.7
03A4 E8 04
7,S
03A6 C4 IE 0104 R
7 ••
S'O
03AA
S.,
03AA E8 0000 E
S02
03AO 80 EA 80
S"
03BO 80 FA 02
SO.
03B3 73 2C
SO,
03B5 C6 06 0074 R 00
SO.
03BA 261 8B 07
S"
03BD
20
0002
S'S
03CO 8A E8
S"
03C2 25 0300
8,.
DI
E8
03e5
03C7 0 I
ES
."
812
03C9 26: OA 41 OE
81.
03CD 8A C8
81.
03CF 26: 8A
77 02
815
0303 FE CE
SI.
0305 8A
16 0075 R
S"
0309 28 CO
81S
0308
81.
03DB 58
820
03DC 07
821
03DD IF
822
030E CA 0002
82.
03EI
S"
03EI C6 06 0074 R 01
S2.
03E6 B4 01
S2.
03E8 2A CO
827
03EA 2B 02
.2.
03EC 2B C9
...
03EE F9
...
03EF E8 EA
S3I
03FI
S"
8 ••
,.4
•• 5
63b
03F 1
631
03F! C6 46 FE 91
636
03F5 E8 06B7 R
639
03F8 26: 8A 47 02
840
03FC FE C8
841
03FE eA 66 FO
e42
040 1 eo E4 Fa
e43
0404 OA EO
e44
0406 ee 66 FO
e45
0409 26: 8A 41 OE
846
0400 66 46 F9
847
0410 28
co
848
0412 88 46 FB
849
0415 E6 054F R
850
04181508
651
041A E8 05E6 R
852
0410 75 03
853
041 F E8 0623 R
854
0422
855
0422 C3
856
0423
857
858
85.
8 ••
8.'
862
0423
863
0423 C6 46 FE
22
864
0427 E9 04C6 R
865
042A
8.7
8 ••
S"
8"
871
042A
812
042A C6 46 FE 32
813
042£ E9 0505 R
814
0431
87.
S7.
8"
878
87.
eeo
0431
881
0431 C6 46 FE 70
882
0435 E8 054F R
663
0438 75 14
864
043A EIS 05B5 R
885
0430 75 OF
886
043F E8 0623 R
881
0442 80 3E 0074 R 40
888
0441 75 05
889
0449 C6 06 0074 R 00
890
044E
891
044E C3
8.2
893
044F
PAGE
;
----
--
--
--------------------
------ -- ---­
;
GET PARAMETERS
(AH
=
06H)
:
;
---------------------------------------­
GET PARM N
LABEL
NEAR
GET):lARM-
PROC
FAR
GET DR 1 VE PARAMETER S
PUSH
os
SAVE REGISTERS
PUSH
ES
PUSH
ex
ASSUME
os: ABSO
NOV
AX, ABSO
ESTABLISH ADDRESSING
NOV
OS, AX
TEST
OL,I
CHECK FOR OR I VE I
JZ
G.
LES
BX,3HFI TBL VEC
JNP
SHORT GT
­
GO:
LES
BX. iltHF _ TBL_VEC
ASSUME
OS:DATA
GI:
CALL
DDS
EST ABL
J
SH SEGMENT
SUB
OL,80H
CNP
OL,MAX_FILE
1 TEST WITHIN RANGE
JAE
G'
NOV
ODISK STATUS I ,0
NOV
AX,ES'i(BX]
1 MAX NUMBER OF CYL I NDERS
SUB
AX,2
; AD,JUST FOR O-N
MOV
CH,AL
AND
AX,0300H
; HIGH TWO BITS OF CYLINDER
SHR
AX, I
SHR
AX,I
OR
AL,ESI(BX](14]
SECTORS
MOV
CL,AL
MOV
DH,ES:(8XlI2]
HEADS
DEC
DH
O-N RANGE
MOV
DL.OHF_NUM
DR I VE COUNT
SUB
AX.AX
GS,
POP
ex
,
RESTORE REGISTERS
POP
ES
PDP
OS
RET
2
G.,
MOV
oDISK STATUSI,INIT FAIL
OPERATION FAILED
MDV
AH,INTT_FAIL
­
sue
AL,AL
sue
OX,OX
sue
CX,CX
STC
SET ERROR FLAG
JMP
G'
GET_PARM
ENOP
;
---- -
--
- - - - -
-------
- - - -- - - - - - -
-------
-- ­
;
INITIALIZE DRIVE
tAH
=
09HI
:
1--------------------------------------- ­
INIT ORV
PROC
NEAR
-
MOV
OCMD BLOCK-+6.SET PARM CMD
CALL
GET YEC
-
-
1 ES:8x
->
PARAMETER BLOCK
MOV
AL,ES: (BX] [2]
I GET NUMBER OF HEADS
DEC
AL
; CONVERT TO a-INDEX
104011
AH,3CMO 8LOCK-+5
; GET SOH REGISTER
AND
AH, OFOH-
I CHANGE HEAD NUMBER
OR
AH, AL
;
TO MAX HEAD
104011
CleMO BLOCK+5,AH
MOV
AL,ES:18X)[14]
MAX SECTOR NUMBER
MOV
3CMO BLOCK+I,AL
SUB
AX,AX
MOV
3CMO BLOCK+3, AL
ZERO FLAGS
CALL
COMMAND
TELL CONTROLLER
..INZ
INIT EX IT
CONTROLLER BUSY ERROR
CALL
NOT 'EiUSY
WAIT FOR
IT TO BE DONE
,JNZ
INIT EXIT
TIME OUT
CALL
CI£CK STATUS
lNIT EXIT:
­
-
RET
INIT_ORV
ENDP
;
-------
- - - - - ------------------- --- - -- - -­
;
READ LONG
(AH
=
OAH)
:
;
-------- ------
----
- -------- ------------­
PROC
NEAR
OCMO 8LOCK-+6,READ CMD OR ECC MODE
COMMAND I
-
­
ENDP
;
--
-- -
---
-
-
- - - - - - - - - - - - - - - - - - - - - -
---
- - - ­
;
WRITE LONG
(AH
=
OBH)
;
-------------------------------- ------- ­
PROC
NEAR
ClCMD BLOCK-+6.WRITE CMD OR ECC MODE
COMMANDO
-
­
ENOP
;
--------- - - ---
- -
----------------- ­
;
SEEK
(AH
=
OCH)
:
1----- - - - - - - ---------- - ----- - - ----------­
DISK SEEK
PRoe
NEAR
-
MOV
~g~~A~60CK-+6.
SEEK_CMD
CALL
JNZ
OS EXIT
I CONTROLLER BUSY ERROR
CALL
WATT
JNZ
OS EXIT
TIME OUT ON SEEK
CALL
CHECK STATUS
CMP
~~I~~~iTATUSI,BAD-SEEK
JNE
NOV
OOTSK_STATUSI
to
OS EXIT:
-
RET
DISK_SEEK
ENOP
5-124
DISK

Advertisement

Table of Contents
loading

Table of Contents