IBM AT 5170 Technical Reference page 293

Table of Contents

Advertisement

IBM Personal Computer Iro4ACRO Ass.mbler
VersIon 2.00
'-b
DISK ----- 06/10/85
FIXED DISK BIOS
06-10-65
48.
PAGE
481
;------­
488
FIXED DISK BIOS ENTRY POINT
489
490
491
01A9
DISK
10 PROC
FAR
492
493
494
OlA9 80 FA 80
01 AC
73
05
-
ASSUME
e"p
JAE
DS;DATA.ES:NOTHI NG
OL.60H
AI
;
TEST FOR FIXED DISK DRIVE
;
YES. HANDLE HERE
495
alAE CD 40
INT
40H
; 0
I SKETTE HANDLER
496
alBa
497
4 ••
0 I
BO CA 0002
RET
;
BACK TO CALLER
499
0lB3
AI.
500
0lB3 F8
STI
I
ENABLE INTERRUPT S
501
0lB4 OA E4
DR
AH.AH
502
a I 86 15 09
JNZ
A2
503
0188 CO 40
INT
40H
RESET NEC WHEN AH=O
504
alBA 2A E4
SUB
AH.AH
505
506
OIBC 80 FA 61
01BF 11 EF
e"p
JA
DL. (60H + S_Iro4AX_FILE -
RET_2
I)
501
0 IC 1
A2:
508
509
01Cl
80 FC 06
01C4 15 03
e"p
JNZ
A.... 06H
A3
GET PARAMETERS
IS
A SPECIAL CASE
510
01 C6 E9 0393 R
J"P
GET PARM N
511
01C9 80 FC
15
A31
CMP
AH.T5H
-
READ DASo TYPE
I S ALSO
512
OICC 15 03
JNZ
A4
513
OICE E9 0353 R
J"P
READ_DASD_TYPE
5'4
SIS
516
OIDI
OIDI
C6 0006 00
A4;
ENTER
.,0
SAVE
SAVE REGISTERS 04RING OPERATION
(BP)
AND ·MAKE ROOM FOR CtCIro4D BLOCK
511
01D553
PUSH
BX
IN THE STACK. THE COhiMAND BLOCK-IS:
518
519
0106 51
0107 52
PUSH
PUSH
ex
ox
.CMD_8LOCK == BYTE PTR
[8P]-~
520
0108
IE
PUSH
OS
521
522
0109 06
aiDA 56
PUSH
PUSH
ES
S.
523
0108
57
PUSH
01
524
0 IDC OA E4
OR
AH.AH
CHECK FOR RESET
525
aIDE 15 02
JNZ
A5
526
OlEO B2 80
NOV
DL.80H
FORCE DR I VE 80 FOR RESET
521
01 E2 E8 0225 R
AS:
CALL
DISK
10 CONT
PERFORM THE OPERAT I ON
528
0 I E5 E8 0000 E
CALL
DDS -
-
ESTABLISH SEGMENT
529
0lE8 8A 26 0014 R
NOV
AH.OOlSK STATUS!
GET STATUS FROt04 OPERATION
530
alEC 80 FC 01
CMP
AH.I
-
SET THE CARRY FLAG TO'INDICATE
531
OlEF F5
e"e
SUCCESS OR FAILURE
532
533
OIFO SF
OIFI
5E
POP
POP
01
S.
RESTORE REG
I
STERS
534
0lF2 07
POP
ES
535
QIF3
IF
POP
Os
536
a
IF4 5A
POP
OX
537
0lF5 59
POP
ex
538
0lF6 58
POP
8X
539
0lF7 C9
LEAVE
AD..JUST
(SP)
AND RESTORE (BP)
540
OIF! CA 0002
RET
THROW AWAY SAVED FLAGS
541
OIFB
DISK 10 ENDP
542
543
01 FB
M I
LA8EL
WORD
FUNCT I ON TRANSFER TABLE
544
545
0
I
FB 02C
1
R
01FD 0315 R
OW
ow
o
[SK RESET
RETURN STATUS
OOOH
00 IH
546
OIFF 031E R
ow
DISK READ
002H
541
0201
0325 R
ow
DISK-WRITE
003H
548
0203 032C R
ow
01
SK-VERF
004H
549
0205 033E R
ow
FMT TRK
005H
550
0201 0289 R
ow
BAD-COMMAND
006H
FORMAT 8AD SECTORS
551
0209 0289
R
ow
8AD­ COM~AND
001H
FORMAT DRIVE
552
0208 0289
R
ow
8AD-COMIro4AND
006H
RETURN PARAMETERS
553
0200 03F 1
R
ow
INIT DRY
009H
554
020F 0423 R
ow
RD LONG
OOAH
555
021 I
042A R
ow
WR-LONG
OOBH
556
0213 0431 R
ow
DISK SEEK
OOCH
557
0215 02CI
R
OW
DISK-RESET
OODH
558
0217 0289 R
ow
8AD COMMAND
OOEH
READ 8UFFER
559
0219 0289 R
ow
BAD-COMMAND
OOFH
WR I TE BUFFER
560
021B 044F R
ow
TST-RDY
a
I OH
561
02100466 R
ow
HDISK RECAL
OIIH
562
021F 0289 R
ow
8AD COMMAND
Ol2H
MEMORY DIAGNOSTIC
563
0221
02B9 R
ow
BAO-COIro4I.1AND
Ol3H
DRIVE DIAGNOSTIC
564
0223 048E R
ow
CTLR DIAGNOSTIC
014H
CONTROLLER DIAGNOSTIC
565
002A
Iro4IL
EQU
1-1011­
.
5bb
561
0225
01 SK
10 CaNT
PROC
~EAR
568
0225 E8 0000
E
-
-CALL
DDS
ESTABLISH SEGMENT
569
0228 80 FC 0 I
eMP
AH.OIH
RETURN STATUS
510
022B 75 03
JNZ
Suo
571
0220 E9 0315 R
JMP
RETURN_STATUS
572
0230
SUOI
573
0230 C6 06 0014 R 00
NOV
ClDISK STATUSI.O
RESET THE STATUS
INDICATOR
574
0235 53
PUSH
8X
-
SAVE DATA ADDRESS
575
0236 8A
IE 0015 R
MDV
BL.«IHF NUM
GET NUM8ER OF DR I VES
576
023A 50
PUSH
AX
-
517
023B 80 E2 1F
AND
DL.1FH
GET DRIVE AS 0 OR 1
578
023E 3A DA
eMP
BL,DL
519
580
0240 16 15
0242 06
J8E
PUSH
BAD COMMAND pop
ES -
-
INVALID DRIVE
581
0243 E8 0681 R
CALL
GET VEC
GET DISK PARAMETERS
582
0246 26
I
88 41
as
MOV
AX.WORD PTR ES:
[ax]
(5]
GET WRITE PRE-COMPENSATION CYLINDER
583
024A C 1 E8 02
SHR
AX.2
584
O?4D 88 46 F8
NOV
""CNO BLOCK. AL
585
586
0250 26: 8A 41 06
0254 52
NOV
PUSH
AL.8YTE PTR E5:(8XJI81
OX
GET CONTROL BYTE MOD I F I ER
581
0255 8A 03F6
MOV
DX.HF REG PORT
566
0258 EE
OUT
DX.A.L­
-
;
SET EXTRA HEAD OPTION
569
0259 5A
POP
OX
590
025A 07
PDP
ES
591
0258 6A 26 001& R
NOV
AH.OCONTROL
~YTE
SET EXTRA HEAD OPT I ON IN
592
025F 80 E4 CO
AND
AH.OCOH
-
CONTROL 8YTE
593
0262 OA EO
OR
AH.AL
594
595
0264 86 2& 001& R
0268 56
MaV
PDP
""CONTROL 8YTE.AH
AX
-
596
0269 88 46 F9
MOV
IIICMD 8LOCK
+
! •
AL
I
SECTOR COUNT
597
026C 50
PUSH
AX
-
598
02&0 8A C I
NOV
AL,CL
GET SECTOR NUMBER
599
026F 24 3F
AND
AL.3FH
DISK
5-121

Advertisement

Table of Contents
loading

Table of Contents