IBM AT 5170 Technical Reference page 276

Table of Contents

Advertisement

IBM Personal
Comput.er MACRO Assembler
Ver:llon 2.00
1-6
DSKETTE -- 06/10/85
0 I SKETTE 810S
06-10-85
7.8
02E5
08 85
0090
R
OR
c-DSK_STATE[DI] ,AL
I
UPDATE DRIVE STATE
7 ••
02E9
XN_OUT:
770
02E9 C3
RET
771
772
02EA
DO_DET:
773
02EA E8 08ED R
CALL
DR I VE_DET
TRY TO DETERM I NE
774
02ED C3
RET
77.
77.
777
02EE
XLAT
NEW
ENDP
-
.-
- - - ------- ­
--------- ­
-
­
- ­
-------------­
------------------­ - -
- - - --­ - --- ­ -­
778
;
XLAT OLD:
TRANSLATES DISKETTE STATE LOCATIONS FROM NEW ARCHITECTURE TO
77.
-
COMPATI8LE MODE.
780
781
;
ON ENTRY:
01
:
DRIVE
782
783
02EE
~~~~
-
~~~
-
------
-;~~~---
~~~~----
- -------- ­ -
- -
------­ -
---- ­
784
02EE 83 FF 0 I
-
CMP
01, I
;
VALID DRIVE
'!
785
02Fl
77
68
JA
XO OUT
;
IF
INVALID 8ACK
786
787
02F3 80 80 0090 R
02F8 74 61
00
S~P
~g~~UiTATE[DI],O
;
;
NO DRIVE
'!
IF NO DRIVE TRANSLATE DONE
788
78.
TEST FOR SAVED DRIVE
INFORMATION ALREADY SET
7'0
791
02FA 88 CF
MOV
CX,DI
CX
=
DR I VE NUM8ER
792
02FC CO El
02
SHL
CL,2
CL :: SHIFT COUNT,
A::O,
8::4
793
02FF 84 02
MOV
AH,FMT CAPA
LOAD MULTIPLE DATA RATE 81T MASK
794
0301
02 CC
ROR
AH,CL -
ROTATE BY MASK
795
0303 84 26 008F R
TEST
4!OHF CNTRL, AH
MULTIPLE-DATA RATE DETERMINED"
796
0307 75
16
"NZ
SAVE_SET
IF SO, NO NEED TO RE-SAVE
7'7
7.8
ERASE DRIVE BITS
IN IPHF_CNTRL FOR THIS DRIVE
7 ••
800
0309 84 07
MDV
AH,DRV DET+FMT CAPA+TRK CAPA
; MASK TO KEEP
801
0308 02 CC
ROR
AH,CL -
-
-,
FIX MASK TO KEEP
802
0300 F6 04
NOT
AH
;
TRANSLATE MASK
803
030F 20 26 008F R
AND
.HF_CNTRL,AH
;
KEEP 81TS FROM OTHER DRIVE
INTACT
804
805
;----­
ACCESS CURRENT DRIVE BITS AND STORE IN
~HF
_CNTRL
80.
807
0313 8A 85 0090 R
MOV
AL.~DSK
STATE[DI]
;
ACCESS STATE
808
03172407
AND
AL.DRV 15ET+FMT CAPA+TRK CAPA
;
KEEP DRIVE 81TS
809
0319 02 C6
ROR
AL,CL -
-
; FIX FOR THIS DRIVE
810
031808 06 008FR
OR
Il'HF_CNTRL.AL
; UPDATE SAVED DRIVE STATE
811
8>2
TRANSLATE TO COMPATI81LITY MODE
813
814
031F
SAVE SET:
815
816
031F 8A A5 0090 R
0323 8A FC
-
MOV
MOV
AH,~DSK
STATEIOlj
8H,AH
-
ACCESS STATE
TO 8H FOR LATER
817
0325 80 E4 CO
AND
AH,RATE MSK
KEEP ONLY RATE
818
032880 02
MDV
AL,MIDIU
AL '"
1.2 IN 1.2 UNESTA8LISHEO
819
820
821
032A 80 FC 00
0320 74
IC
032F 80 01
CMP
"Z
MOV
AH,RATE 500
TST DET­
AL,M30lU
RATE 500 .,
JUMP IF 1.2 IN 1.2
AL
=
360
IN
1.2 UNESTABLISHED
822
0331 80 FC 40
CMP
AH,RATE 300
RATE 300
?
823
0334 75 09
JNZ
CHK 250­
IF SO FALL THRU
824
0336 F6 C7 20
TEST
BH,D8L STEP
CHECK FOR DOUBLE STEP
825
0339 75
10
JNZ
TST_DET
MUST 8E 360
I N 1.2
82.
827
0338
UNKNO:
828
0338 BO 07
MOV
AL,MEO UNK
NONE OF THE A80VE
829
0330 E8 13
"MP
SHORT "AL_SET
PROCESS COMPLETE
630
831
033F
CHK 250 I
832
033F 80 00
-
MOV
AL,M3D3U
AL
=
360
IN
3bO
UNEST A8L I SHED
833
0341
80 FC 80
CMP
AH.RATE 250
RATE 250
?
834
0344 75 F5
"NZ
UNKNO
-
I F SO FALL THRU
835
0346 F6 C7 0 I
TEST
8H, TRK CAPA
80 TRACK CAPABILITY
?
836
0349 75 FO
JNZ
UNKNO -
IF SO JUMP, FALL THRU TEST DET
837
836
0348
TST DET:
839
0348 F6 C7
10
-
TEST
BH,MED DET
DETERM I NED
'!
840
034E 74 02
JZ
AL SET­
I F NOT THEN SET
841
0350 04 03
AOO
AL73
MAKE DETERMINED/ESTA8LISHED
842
843
0352
844
0352 80 A5 0090 R F8
AND
845
0357 06 85 0090 R
DR
846
0358
847
0358 C3
RET
848
035C
XLAT _ OLD
ENDP
84.
850
RD_WR_VF
:
COMMON READ,
WRITE AND VERIFY, MAIN LOOP FOR STATE RETRIES.
851
852
;
ON ENTRY:
AH :
READ/WR I TE/YER I FY DMA PARAMETER
653
;
AL :
READ/WRITE/VERIFY NEC PARAMETER
654
655
85.
857
035G
;
ON EXIT:
4!ODSKETTE_STATUS, CY REFLECT STATUS OF OPERATION
~~-;~
-
~;------ --~~~~---- ~~~~
-
---- ­ --- ­
-
----------- ­
-­ ----- ­ - - ---­
858
035G 50
-
-
PUSH
AX
SAVE DMA, NEC PARAMETERS
659
0350 E8 02G8 R
CALL
XLAT NEW
TRANSLATE STATE TO PRESENT ARCH.
860
0360 E8 039B R
CALL
SETUP STATE
STATE
INITIALIZATIONS
861
03b3
58
POP
AX
-
RESTORE DMA,NEC PARAMETERS
662
863
0364
DO AGAIN:
864
03b4
50
-
PUSH
AX
SAVE READ/WRITE/VERIFY PARAMETER
865
03b5
E8 0416 R
GALL
MEO CHANGE
MED I A CHANGE AND RESET
I F CHANGED
86&
867
868
0368 56
0369 72 21
03b8 50
POP
"C
PUSH
AX -
RWV END
AX -
RESTORE READ/WRITE/VERIFY
MEDIA CHANGE ERROR OR TIME-OUT
SAVE READ/WRITE/VERIFY PARAMETER
669
03bG
ES 0451
R
GALL
SEND RATE
SEND DATA RATE TO NEC
870
871
872
03bF E8 063A R
0372 72
12
0374 58
CALL
"C
POP
SETUP D8L
CHK RET
AX -
CHECK FOR DOUBLE STEP
ERROR FROM READ ID, POSS I BLE RETRY
RESTORE NEC, DMA COMMAND
873
0375 50
PUSH
AX
SAVE NEC COMMAND
874
0376 E8 0471 R
CALL
OMA SETUP
SET UP THE OMA
875
87b
871
0379 58
037A 72
16
037C 50
POP
"C
PUSH
AX -
RWV BAC
AX -
RESTORE NEC COMMAND
CHECK FOR DMA BOUNDARY ERROR
SAVE NEC COMMAND
87e
0370 E8 04C7 R
CALL
NEC INIT
INITIALIZE NEe
679
0380 E8 04EG R
CALL
RWV-COM
DP CODE COMMON TO READ/WRITE/VERIFY
880
0383 E8 0530 R
CALL
NEC::::TERM
TERMINATE, GET STATUS,
ETC.
881
5-104
DISKETTE

Advertisement

Table of Contents
loading

Table of Contents