free hit counter

IBM XT 5160 Technical Reference page 187

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

IBM Personal Computer MACRO Assembler
Version 2.00
DSKETTE - -
0 I
I
10
I
86
0 I SKETTE ADAPTER B I OS
1-18
01-10-86
·
--
-
---
- - - - - - - - - - - - - -
-
-
---
-
--
--
-
-
---
-
----
-
--------
-
-
-- --
-
---
-----
; GET PARM
-
TH I S ROUT I NE FETCHES THE I NDEXED PO I NTER FROM THE
DISK BASE BLOCK PO I NTED TO BY THE DATA VAR I ABLE
;
(to I SK PO INTER. A BYTE FROM THAT TABLE I S THEN MOVED
INTO AH, THE INDEX OF THAT BYTE BEING THE PARAMETER
IN DL.
SAVE WA
IT
PARAMETER
LOAD LARGEST POSS I BLE MULTI PL I ER
MULTIPLY BY HALF OF WHAT'S NECESSARY
CX = HIGH WORD
CX ,OX = 1
12 •
(#
OF MICROSECONDS)
CLEAR CARRY FOR ROTATE
DOUBLE LOW WORD, CY CONT A I NS OVERFLOW
DOUBLE HI,
I NCLUD I NG LOW WORD OVERFLOW
LOAD WA I T CODE
PERFORM WA I T
RESTORE WA I T PARAMETER
CY MEANS WA I T COULD NOT BE DONE
GET THE MOTOR WA I T PARAMETER
AL = MOTOR WA I T PARAMETER
AX = MOTOR WA I T PARAMETER
SEE
I F AT LEAST A SECOND I S SPEC I F I ED
IF YES, CONTINUE
ONE SECOND WA I T FOR MOTOR START UP
SAVE REG.
TURN ON MOTOR
IF CY=1 NO WAIT
TRANSLATE STATE TO COMPATIBLE MODE
LOAD WA I T CODE
&
TYPE
TELL OPERATING SYSTEM ABOUT TO DO WAIT
SAVE CY FOR TEST
TRANSLATE STATE TO PRESENT ARCH.
RESTORE CY FOR TEST
BYPASS LOOP IF OP SYSTEM HANDLED WA I T
CHECK AGA I N I F MOTOR ON
IF NO WAIT MEANS IT IS ON
; PO I NT TO BLOCK
; GET THE WORD
; RESTORE BX
; OS = 0
, BIOS DATA AREA
; BL = INDEX
; BX = INDEX
DRIVE TYPE 0
EX I T WITH AL=TYPE ACCORD I NG TO TRACKS
EX IT WITH CARRY I F DUAL CARD
; ROTATE TO ORIGINAL POSITION
; ROT ATE BITS 6 AND 7 TO 0 AND 1
; AX=NUMBER OF DR I VES
;
I S DR I VE REQUESTED PRESENT
; C-->REQUESTED DR I VE NOT PRESENT
; TEST CONTROLLER 1.0.
TEST FOR 80 TRACKS
DR I VE TYPE HAS 40 TRACKS
DR I VE TYPE HAS 80 TRACKS
CX,8286
WAITF
AL
DX,I
CX,I
AH,86H
15H
AX
MOT_I S_ON
AX
DX,62500
OX
CX,DX
DX,AX
AX,CX,DX DESTROYED
DL,10
GET PARM
AL,AH
AH,AH
AL,8
GP2
AL,8
M WAIT
TURN ON
MOT_IS_ON
01
= DRI VE #
DL = I NDEX OF BYTE TO BE FETCHED
AH = THAT BYTE FROM BLOCK
AL,DH DESTROYED
AL,AL
AL,I
AL,I
AL,I
AH,AH
AX,DI
TYP ZERO
(tHF-CNTRL, DUAL
CR2-
(tDSK STATE[DI], TRK CAPA
AL,I-
-
CRI
AL,3
SHORT CR 1
CRI
ENDP
AX CONTA I NS NUMBER OF
1/8 SECONDS (125000 MICROSECONDS I TO WA I T
FOLLOW I NG LOOPS REQU I RED WHEN RTC WA I T FUNCT I ON I S ALREADY
I N USE
WAIT FOR 1/8 SECOND PER
(ALI
COUNT FOR 1/8 SECOND AT 15.085737 US
GO TO FIXED WAIT ROUTINE
DECREMENT T I ME VALUE
MOV
CALL
DEC
PUSH
MOV
MUL
MOV
MOV
CLC
RCL
RCL
MOV
INT
POP
JNC
MOV
CALL
MOV
XOR
CMP
JAE
MOV
RET
ON ENTRY:
ON EX IT:
ON ENTRY:
ON EXIT:
J13:
GP2:
·
--
- - -
-
-
----
-
--
-
----
---
-
-
--------
--
-
-
--
- -- - - - - - - -
--
--
- -- - - -
-----
-- ----
---
MOTOR ON
PROC
NEAR
-
PUSH
BX
CALL
TURN ON
JC
MOT IS ON
CALL
XLAT OLD
MOV
AX, 090FDH
INT
15H
PUSHF
CALL
POPF
JNC
CALL
JC
~~;
-
~~~~
-
-
-
--
-
-
-
~~~~
----
~~~~
-
-
----
- -
-
-
---
-
-
-
------
-
---
-
---
-
--
--
--
-
PUSH
OS
PUSH
SI
SUB
AX,AX
MOV
DS,AX
XCHG
DX,BX
SUB
BH,BH
ASSUME
OS
I
ABSO
LOS
S I ,(to I SK PO INTER
MOV
AH, [S I +BX]
XCHG
DX,BX
POP
SI
POP
OS
RET
ASSUME
OS :DATA
GET_PARM
ENDP
STC
JMP
CMOS_TYPE
ROL
ROL
ROL
XOR
CMP
JC
TEST
JNZ
TEST
MOV
JZ
MOV
JMP
TYP ZERO:
-
XOR
·
--
-
-----------
-
---
-
-
-
-
--
-------
--
-
-
-
---- --
-
--
--
---------
----
--------
-- --
; MOTOR ON
I
-TURN MOTOR ON AND WAIT FOR MOTOR START UP TIME. THE (tMOTOR COUNT
I S REPLACED WITH A SUFF I C I ENTL Y HIGH NUMBER
(OFFH I TO ENSURE
THAT THE MOTOR DOES NOT GO OFF OUR I NG THE OPERAT I ON •
I F THE
MOTOR NEEDED TO BE TURNED ON, THE MULTI TASK I NG HOOK FUNCTI ON
(AX=90FDH,
INT 15HI
IS CALLED TELLING THE OPERATING SYSTEM
THAT THE B I OS I S ABOUT TO WA I T FOR MOTOR START UP.
IF TH IS
FUNCTION RETURNS WITH CY = 1,
IT MEANS THAT THE MINIMUM WAIT
HAS BEEN COMPLETED. AT TH I S PO I NT A CHECK I S MADE TO ENSURE
THAT THE MOTOR WASN'T TURNED OFF BY THE TIMER.
IF THE HOOK DID
NOT WA IT, THE WA I T FUNCT I ON (AH=086H I
I S CALLED TO WA I T THE
PRESCR I BED AMOUNT OF T I ME.
I F THE CARRY FLAG I S SET ON RETURN,
I T MEANS THAT THE FUNCT I ON I SIN USE AND 0 I 0 NOT PERFORM THE
WA IT. A T I MER 1 WA I T LOOP WILL THEN DO THE WA IT.
CRI :
CR2:
1886 0808 DO CO
1887 08DA DO CO
1888 08DC DO CO
1889 08DE 32 E4
1890 08EO 3B C7
1891
08E2 72
14
1892 08E4 F6 06 008F R 0 I
1893 08E9 75
10
1894 08EB F6 85 0090 R 01
1895 08FO BO 0 I
1896 08F2 74 06
1897 08F4 BO 03
1898 08F6 EB 02
1899 08F8
1900 08F8 32 CO
1901 08FA
1902 08FA C3
1903 08FB
1904 08FB F9
1905 08FC EB FC
1906 08FE
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920 08FE
1921
08FE IE
1922 08FF 56
1923 0900 2B CO
1924 0902 8E 08
1925 0904 87 03
1926 0906 2A FF
1927
1928 0908 C5 36 0078 R
1929 090C 8A 20
1930 090E 87 03
1931 0910 5E
1932 0911
IF
1933 0912 C3
1934
1935 0913
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956 0913
1957 0913 53
1958 0914 E8 095E R
1959 0917 72 43"
1960 0919 E8 0432 R
1961 091 C B8 90FD
1962 09 I F CD 15
1963 0921
9C
1964 0922 E8 0404 R
1965 0925 90
1966 0926 73 05
1967 0928 E8 095E R
1968 092B 72 2F
1969
1970 0920
1971 0920 B2 OA
1972 092F E8 08FE R
1973 0932 8A C4
1974 0934 32 E4
1975 0936 3C 08
1976 0938 73 02
1977 093A BO 08
1978
1979
1980
1981
093C 50
1982 0930 BA F424
1983 0940 F7 E2
1984 0942 8B CA
1985 0944 8B DO
1986 0946 F8
1987 0947 01 02
1988 0949 01 01
1989 094B B4 86
1990 0940 CD 15
1991 094F 58
1992 0950 73 OA
1993
1994
1995
1996 0952
1997 0952 B9 205E
1998 0955 E8 0000 E
1999 0958 FE C8
5-40
DISKETTE (Ol/lO/86)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents