IBM AT 5170 Technical Reference page 298

Table of Contents

Advertisement

IBM
Personal Compute,. MACRO AS$emble,.
Version
2".00
1-] I
DISK -----
016/10/85
FIXED DISK 9105
06- I 0-85
1005
PAGE
1006
1001
;
-~~~~;~~~------
- ----
------------------- ­
1008
I
REPEATEDLY OUTPUTS DATA TILL
1009
;
NSECTOR RETURNS ZERO
10 I 0
~~~~~~~~ ~
-
---------- -
--- -
-
- -
---------
---­
1011
0505
10120505 E8 0694 R
CALL
CHECK DMA
CHECK 64K BOUNDARY ERROR
1013 0508 12 FA
.JC
CMD A'EiORT
1014 0500A 88 F3
CMO_OFI MOV
SI,BX
1015 0500C E8 054F R
CALL
COMMAND
;
OUTPUT COMIoiAND
1016 0500F 15 F3
.JNZ
CMO ABORT
1017
0511
E8 01600 R
CALL
WAIT DRQ
WAIT FOR DATA REQUEST
1018051472
EE
JC
TM OUT
TOO LONG
10190516
IE
CMO_O!: PUSH
OS ­
1020 0517 06
PUSH
ES
1oi0VE ES TO OS
1021
0518 IF
POP
DS
10220519890100
MOV
CX.2560
PUT THE DATA OUT TO THE CARD
1023
05lC 8A OIFO
MOV
OX, HF _PORT
1024 051F FA
CLI
1025 0520 FC
CLo
1026 0521 F31
6F
REP
OUTSW
1027 0523 F8
STi
1028 0524
IF
PDP
OS
I RESTORE OS
1029 0525
F6 46 FE 02
TEST
,
CHECK FOR NORMAL OUTPUT
~~~D5~LOCK
+6
I
ECC _MODE
1030 0529
74
12
JZ
1031
0528
E8 0600 R
CALL
WA IT ORO
WA IT FOR DATA REQUEST
1032
052E 72 04
JC
TM OOT
1033 0530 8A OIFO
"OV
DX-;HF PORT
1034 0533 89 0004
"OV
CX.4 -
OUTPUT THE ECC BYTES
1035 0536 261
8A 04
CMD_02: MOV
AL.ES;SYTE PTR (SIJ
1036 0539 EE
OUT
DX.AL
1037 053A 46
INC
51
1038
0538 E2 F9
LOOP
CMO_02
1039
OS30
1040 0530 E8
0595
R
CALL
WAIT
WA
I
T FOR SECTOR COMPLETE
INTERRUPT
"NZ
1041 0540 75 C2
TM OUT
ERROR RETURNED
1042 0542 E8 0623 R
CALL
CHECK STATUS
1043 0545 75 80
JNZ
CMD ABORT
1044 0547 F6 06 008C R 08
TEST
.HF-STATUS.ST DRQ
CHECK FOR MORE
1045 054C 75 C8
JNZ
SHORT CMO_O!
­
1046 054E C3
RET
1047
1048
;
-
-----------
- - - - - - -
------
-
--
- - - -
-
- - - -
---
- -
---
- - - -- - --
-- ­
1049
;
COMMAND
1050
;
TH
I
S ROUT I NE OUTPUTS THE COIoiMANO BLOCK
1051
I OUTPUT
1052
I
8L
=
STATUS
1053
I
8H :: ERROR REG I
STER
1054
;--
- - - ---- -
------------
-
--------------
-------
------ --- -­
1055
1056 054F
COMMAND PROC
NEAR
1051 054F 53
PUSH
BX
WA.I T FOR SEEK COMPLETE AND READY
1058 0550 89 0600
"OV
CX.DELAY_2
SET
I N I TI AL DELAY 8EFORE TEST
1059 0553
COMMAND
I :
1060 0553 51
PUSH
CX
SAVE LOOP COUNT
1061
0554 E8 044F R
CALL
TST ROY
CHECK DR I VE READY
1062 0551
59
POP
CX ­
1063 0558 14 08
COMMAND2
DRIVE
IS READY
"Z
1064 055A 80 3E 0074 R
eo
CMP
.DISK STATUS I ,TIME OUT
TST_RDY TIMED OUT--GIVE UP
1065 055F 14 48
JZ
CMD TIMEOUT
­
101616 0561 E2 FO
LOOP
COMMAND
I
KEEP TRYING FOR A WHILE
1061 00563 E8 49
SHORT COMMAN04
[TS NOT GOING TO GET READY
t
068 0565
COMMAND2 :
""P
1069 0565 58
POP
BX
1010 0566 51
PUSH
01
1071 0567 C6 06 008E R 00
NOV
.HF_I NT_FLAG ,
0
RESET I NTERRUPT FLAG
1012 056C FA
CLI
INHI81T
INTERRUPTS WH[LE CHANGING MASK
1073 0560 E4 A I
IN
AL,INTBOI
TURN ON SECOND INTERRUPT CHIP
1074 056F 24 8F
AND
AL,OBFH
1075 051. E8 00
"NP
'>2
1016 0513 E6 AI
OUT
INTB01,AL
1017 0515 E4 21
IN
AL.INTAO I
LET
INTERRUPTS PASS THRU TO
1018 0517 24 F8
AND
AL.OF8H
SECOND CHIP
1019 0519 E8 00
J"P
'>2
1080 0578 E6 21
OUT
INTAoOl.AL
1081
0510 F8
5TI
1082 057E 33 FF
XOR
01,01
I
NDEX THE COMMAN) TA8LE
1083 0580 8A OIFI
MOV
DX,HF PORT+l
DISK ADDRESS
l084
0583 F6 06 0076 R CO
TEST
.CONTROL 8YTE, OCOH
CHECK FOR RETRY SUPPRESS
I
ON
1085 0588 14 11
COMMAND3­
1086 058A 8A 46 FE
MOV
AL.oCMD 8LOCK+6
YES-GET OPERATION CODE
1087 0580 24 FO
AND
AL,OFOH-
GET RID OF MODIFIERS
1088 058F 3C 20
CMP
AL.20H
20H-40H I S READ.
WR I TE,
VER I FY
1089 0591
72 08
JB
COMMAND3
1090 0593 3C 40
CMP
AL.40H
1091
0595
77
04
JA
COMMAND3
1092059180 4E FE 01
OR
.CMD_8LOCK+6.NO_RETR I ES
VALID OPERATION FOR RETRY SUPPRESS
1093 0598
COMIoiAND3 :
1094 0598 8A 43 F8
MOV
AL. [OCMD_BLOCK+D I)
GET THE COMMAND STR I NG 8YTE
1095 059E EE
OUT
DX,AL
GIVE IT TO CONTROLLER
1096 059F 41
INC
01
NEXT BYTE
I
N COMMAND 8LOCK
1097 05AO 42
INC
OX
NEXT
0
I SK ADAPTER REG I STER
1098 05AI
8' FA 0lF8
CMP
ox
.HF PORT+8
A.LL DONE?
1099 05A5 75 F4
JNZ
COMMAN03
NO--GO DO NEXT
ONE
1100 05A1 5F
POP
01
101
05A8 C3
RET
ZERO FLAG I S SET
102 05A9
CMD TIMEOUTI
103 05A9 C6 06 0014 R 20
-
MOV
(IIDISK_STATUS I.BAO_CNTLR
t
04 05AE
COMMAND4:
105
05AE
5B
POP
BX
10& 05AF 80 3E 0074 R 00
CNP
(IIDISK_STATUSI,O
I
SET COND I T I ON CODE FOR CALLER
107 0584 C3
RET
108 05B5
COMMAND ENOP
"Z
5-126
DISK

Advertisement

Table of Contents
loading

Table of Contents