IBM AT 5170 Technical Reference page 274

Table of Contents

Advertisement

[8M Personal
Computer MACRO Assembler
VerSion
2,00
1-6
oSKETTE --
06/10/85
DISKETTE 8105
06-10-85
540
017E F9
STe
SET ERROR RETURN CODE
541
017F C3
RET
5.2
543
0180
01 SK P2:
544
0180
E8 02C8 R
CALL
XL AT NEW
TRANSLATE STATE TO PRESENT ARCH.
545
0183 C7 46 02
0000
MOV
WORD-PTR
[BP+2) ,0
ORIYE TYPE = 0
546
0188
AI
0010 R
MOV
AX, (IIEQU I P FLAG
LOAD EQU I PMENT FLAG FOR
# 0 I SKETTES
547
018B 24 CI
AND
AL, I 10000018
KEEP 0 I SKETTE DR I YE 8 I TS
548
0180 B2 02
MOV
OL,2
o [SKETTE DR I YES = 2
549
018F 3C 41
eMF
AL,OIOOOOOIB
2 DRIYES
INSTALLED?
550
0191
74 06
JZ
D1SK_P3
I F YES JUMP
551
552
0193 FE CA
DEC
OL
DISKETTE DRIYES = 1
553
0195 3C 01
eMF
AL,000000018
1 DRIYE INSTALLED 7
554
0197 75 6A
JNZ
o
[SK_P8
IF NO JUMP
555
0199
DISK_P3:
556
0199 88 56 04
MOV
[8P+4] ,DL
STORE NUM8ER OF DR I YES
551
019C 83 FF 01
eMF
01,1
CHECK FOR YALIO DRIVE
558
019F 11 66
JA
DISK P9
DRIYE
INYALID
559
OIAI
C6 46 05 01
MOV
8YTE-PTR[8P+5] ,I
MAX I MUM HEAD NUM8ER =
,
560
01 A5 E8 0683 R
CALL
CMOS TYPE
RETURN DR I VE TYPE
IN AL
561
01A8 12 18
Je
DISK-P4
IF CMOS BAD CHECKSUM ESTABLISHED
562
OIAA OA CO
OR
AL,AL
TEST FOR NO DRIYE TYPE
563
01AC 74
14
JZ
DISK P4
JUMP IF SO
~7S~~~~tTE-DR_PT)
(2
564
a
I AE 3C 03
eMF
>
MAXIMUM
565
0180 11
10
JA
IF SO JUMP
566
561
0182 88 46 02
MOV
[8P+2] ,AL
STORE VALID CMOS DRIYE TYPE
568
0185 FE C8
DEC
AL
MAKE 0 ORIGIN
569
01Bl DO EO
SHL
AL,
I
ACCOUNT FOR F [ELD WIDTH
510
0189
8A 08
MOV
BL,AL
F[NISH MAKING
[NDEX POINTER
511
a
IB8 32 FF
XOR
8H,8H
;
CLEAR HIGH ORDER
[NDEX
572
0180 2E:
88 8F 0214 R
MOV
CX,CS:WORO PTR OR_PT[8X); GET MAX TRACK AND SECTOR
513
574
a
IC2
DISK P4:
575
0lC2 8A 85 0090 R
-
MaY
LOAD STATE FOR TH[S DR[VE
~~:~~~K5~~ATEIOI)
576
0lC6 A8
10
TEST
CHECK FOR ESTA8L [SHED STATE
577
0lC8 75 08
JNZ
D[SK P5
GO TO CMOS FOR DR I VE CHECK
578
OICA 80
lE 02 00
eMF
8YTE-PTR
[BP+2], 0
CHECK FOR CMOS 8AD ( [NVAL
[0
579
0 ICE 74 37
JZ
DISK P9
CMOS 8ADI [NYAL[D AND UNESTABL[SHEO
580
0100 E8
lC
JMF
SHORT 0 [SK_P6
CMOS GOOD AND UNESTA8LISHED; USE CMOS
561
582
0102
01 SK P5:
583
010224 CO
-
AND
AL, RATE MSK
I SOLATE STATE
584
0104 2E:
88 OE 0216 R
MOV
GET DR I VE PARAMETERS FOR
1,2 M DR I YE
eMF
~~ :=~~~-~~~
CS
=
DR_PT+2
585
0109 3C 80
1
.2M DR[VE
;>
58601087511
JNE
01 SK_P6-
300
OR
500
RATE
[S
I
,2M DR[YE
567
588
0100 2E:
88 OE
0214
R
MoV
CX,WORO PTR CSloR PT
GET DR [VE PARAMETERS 360K DR I YE
~~~~=~!
ATE
[0
I ] , TRK_ CAPA
589
01E2 F6 85
0090
R 01
TEST
80 TRACK
-,
590
0lE7 74 05
JZ
MUST BE
360
591
592
0lE9 2E: 88 OE 0218 R
MOV
CX,WORO PTR CS:DR_PT+4
GET DR I VE PARAMETERS
593
01 EE
01 SK P6:
594
OlEE 89 4E 00
[8P] ,CX
SAVE POINTER
IN STACK FOR RETURN
-
MOY
595
OIFI
8006
0000
E
LEA
AX,DISK BASE
ADDRESS OF 0 I SK 8ASE
596
0lF5 89 46 06
MOV
{8P+6] ,AX
SAVE
IN STACK
­
597
01F8 8C C8
MOV
AX,CS
SEGMENT DISK_8ASE
[SAME AS THIS ONE)
598
OIFA
DISK Pl:
599
OIFA 8E CO
-
MOY
ES,AX
ES
I S SEGMENT OF TA8LE
600
0 I FC E8 02EE R
CALL
XLAT OLD
TRANSLATE STATE TO COMPATIBLE MODE
601
OIFF 33 CO
XOR
AX,AX
CLEAR
602
0201 F8
eLe
603
0202 C3
RET
60.
605
NO DR [YE PRESENT HANDLER
606
607
0203
01 SK P8:
608
0203 C6 46 04 00
-
MOV
BYTE PTR
I BP+4 ] ,0
CLEAR NUM8ER OF DR [YES
609
0207
01 SK P9:
-
610
0207
33 CO
XOR
AX,AX
CLEAR PARMS
[F
NO DR [YES OR CMOS BAD
611
0209 89 46 00
MOV
18P]
,AX
TRACKS,
SECTORSfTRACK = 0
612
020C 88 66 05
MOV
[8P+5],AH
HEAD = 0
613
020F 89 46 06
MOV
IBP+6],AX
OFFSET TO 01 SK 8ASE = 0
614
0212 E8 E6
JMF
01 SK P7
EX
[T
­
615
0214
01 SK_PARMS
ENoP­
616
,---------------------------------------------------------------- ------------­
611
;
ORIYE PARAMETER TA8LE
616
,----------------------------------------------------------­
619
0214
09 27
08
;
~RACKS,
DR_PT
09H,027H
MAX,
SEC~ORS/TRACK ~:~~
620
0216
OF 4F
DB
OFH,04FH
621
0218 09 4F
DB
09H,04FH
720K
622
= 021 A
DR_PTE
EQU
S
623
;------
------------------------
--------------------------­
62.
;
0 [SK_ TYPE:
TH I S ROUT I NE RETURNS THE TYPE OF MED I A I NST ALLED,
625
626
:
ON ENTRY:
D[
:
oRIYE
#
627
626
;
ON EXIT:
AH
DR[YE TYPE, CY=O
629
b
~~;-~~;~---
630
021A
PROC
NEAR
631
021A E8 02C8 R
-
CALL
XLAT NEW
TRANSLATE STATE TO PRESENT ARCH.
~~:!~SK-STATE[OI
]
632
0210 8A 85 0090 R
MOV
GET PRESENT STATE INFORMATION
633
0221
OA CO
OR
CHECK FOR NO DR I VE
634
0223 74
13
JZ
NO DRV
635
0225 84 0 I
MOV
AH-;NOCHGLN
NO CHANGE LINE FOR 40 TRACK DR I YE
636
0227 A8 01
TEST
AL, TRK CAPA
IS THIS DRIYE AN 80 TRACK DRIYE?
637
0229 74 02
JZ
DT 8ACK
IF NO JUMP
638
0228 84 02
AH-;CHGLN
CHANGE LINE FOR 80 TRACK DR I VE
639
640
0220
DT 8ACK:
641
0220 50
-
PUSH
AX
SAVE RETURN VALUE
642
022E E8 02EE R
CALL
XLAT OLD
TRANSLATE STATE TO COMPATI BLE MODE
643
0231
58
FoF
AX
-
RESTORE RETURN YALUE
644
0232 F8
eLe
NO ERROR
645
0233 88 DE
MoV
BX,SI
GET SAVED AL TO BL
646
0235 8A C3
MoV
AL,8L
PUT BACK FOR RETURN
647
0231 C3
RET
648
0238
649
0238 32 E4
XOR
AH,AH
NO DR I YE PRESENT OR UNKNOWN
650
023A E8 F I
JMP
SHORT DT _8ACK
651
023C
652
~ ~ :~::~~~:- :~~~- - --- - --- ­
653
DISK_CHANGE: THIS ROUT[NE RETURNS THE STATE OF THE DISK CHANGE LINE,
5-102
DISKETTE

Advertisement

Table of Contents
loading

Table of Contents