IBM XT 5160 Technical Reference page 188

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

IBM Personal Computer MACRO Assembler
Version 2.00
DSKETTE - -
01 /10/86
0 I SKETTE ADAPTER 810S
AH CONTA I NS NUM8ER OF MILL I SECONDS TO WA I T
TURN ON
-
TURN MOTOR ON AND RETURN WAIT STATE.
5-41
CHECK FOR WA I T TO 8E ZERO
IF NOT WRITE AND 0 THEN EXIT
AL = # MILL I SECONDS
AX = # MILL I SECONDS
SAVE HEAD SETTLE PARAMETER
SET UP FOR MULTI PL Y TO MICROSECONDS
OX, AX = # MICROSECONDS
CX ,AX = # MICROSECONDS
CX ,OX = # MICROSECONDS
LOAD WA I T CODE
PERFORM WA I T
RESTORE HEAD SETTLE PARAMETER
CHECK FOR EVENT WA I T ACT I VE
I
MILL I SECOND LOOP
COUNT AT 15.085131 US PER COUNT
DELA Y FOR 1 MILL I SECOND
DECREMENT THE COUNT
DO AL M I LLI SECOND # OF TIMES
PO I NT TO HEAD SETTLE PARAMETER
GET PARAMETER
SEE IF A WRITE OPERATION
IF NOT, DO NOT ENFORCE ANY VALUES
IS WAIT 15 MILLISECONDS OR GREATER?
I F THERE DO NOT ENFORCE
HEAD SETTLE MIN I MUM
DO WAIT OPERATION
NO RESET, ENA8LE DMA / INTERRUPT
SELECT DR I VE AND TURN ON MOTOR
NEW MOTOR TURNED ON ?
NO WA I T REQU I RED I F JUST SELECT
SET CARRY MEAN I NG WA I T
SET NO WA I T REQU I RED
INTERRUPTS 8ACK ON
AH = DR I VE SELECT AND MOTOR ON
SAVE COpy OF OMOTOR STATUS 8EFORE
KEEP ONLY MOTOR 81 TS
CLEAR OUT DR I VE SELECT AND MOTORS
OR
I N DR I VE SELECTED
GET 0 I G I TAL OUTPUT REG I STER REFLECTI ON
8L=tlMOTOR STATUS AFTER, 8H=8EFORE
KEEP ONLY-MOTOR 81 TS
ENA8LE INTERRUPTS AGA I N
STRIP AWAY UNWANTED 81TS
PUT 81TS IN DESIRED POSITIONS
REQUESTED DR I VE ALREADY SELECTED ?
I F NOT SELECTED JUMP
TEST MOTOR ON 81 T
JUMP I F MOTOR ON AND SELECTED
8X
=
DR I VE #
CL = DR IVE #
8L = DR I VE SELECT
NO INTERRUPTS WH I LE DETERM I N I NG STATUS
ENSURE MOTOR STAYS ON FOR OPERATION
GET 0 I G I TAL OUTPUT REG I STER REFLECT I ON
KEEP ONLY DR I VE SELECT 81 TS
MASK FOR DETERM 1N I NG MOTOR 81 T
AH = MOTOR ON, A=OOOOOOO 1, 8=00000010
RESTORE REG.
;
ARE WE DONE YET
CX,66
WAITF
AL
J29
AL,AH
AH,AH
AX
DX,1000
OX
CX,DX
DX,AX
AH,86H
15H
AX
HW_DONE
AX, 8X, CX, OX DESTROYED
01
: DRIVE #
AL,OO 1111118
AL,I
AL,I
AL,I
AL,
I
AL,000011008
DX,03F2H
DX,AL
8L,8H
NO_MOT_WA I T
AH,8L
8H,tlMOTOR STATUS
8H, 0000 lIT 18
tlMOTOR STATUS, 1 10000008
tlMOTOR-STATUS, AH
AL,tlMOTOR STATUS
8L,AL
-
8L , 0000 1 1 1 18
tlMOTOR COUNT, OFFH
AL, tlMOTOR STATUS
AL, 00 1 100008
AH,I
AH,CL
AL,8L
TURN IT ON
AH,tlMOTOR STATUS
NO_MaT_WATT
CY = 0 MEANS WA I T REQU I RED
CY = 1 MEANS NO WA IT REQU I RED
AX, 8X, CX, OX DESTROYED
01
= DRI VE #
J13
8X
ENDP
MOV
XOR
PUSH
MOV
MUL
MOV
MOV
MOV
INT
POP
JNC
DISKETTE (01/10/86)
NEC OUTPUT
-
TH I S ROUT I NE SENDS A 8YTE TO THE NEC CONTROLLER AFTER
ON ENTRY:
ON EXIT:
ON ENTRY:
ON EX IT:
J29:
MOV
CALL
DEC
JNZ
HW DONE:
-
RET
HD_WA IT
ENDP
.
- - - --
-
-
-
-
- -
-----
- - - - - - -
---- --
- -
-- --
- - -
-- -- -----
-
-- -- -- - -- --
-
-- --
HD_WA I T
PROC
NEAR
MOV
DL,9
CALL
GET PARM
TEST
tlMOTOR STATUS, 100000008
JZ
I SNT WRI TE
CMP
AH,15
JAE
DO WAT
MOV
AH-;15
JMP
SHORT DO_WAT
I SNT WR ITE:
-
OR
JZ
HD WAIT
-
WA I T FOR HEAD SETTLE T I ME.
CMP
JNZ
TEST
JNZ
TURN_IT ON:
-OR
MOV
AND
AND
OR
MOV
MOV
AND
STI
AND
ROL
ROL
ROL
ROL
OR
MOV
OUT
CMP
JZ
CLC
RET
NO MOT WAIT:
-
-
STC
STI
RET
TURN_ON ENDP
AL = DR I VE SELECT FROM tlMOTOR STATUS
8L = DR I VE SELECT DES I RED
-
AH = MOTOR ON MASK DES I RED
.
----------------------------------------------------------------
TURN ON PROC
NEAR
-
MOV
8X,DI
MOV
CL ,8L
ROL
8L,1
ROL
8L,1
ROL
8L,1
ROL
8L,1
CLI
MOV
MOV
AND
MOV
SHL
JNZ
MOT I SON:
-
-
POP
RET
MOTOR_ON
2000 095A 15 F6
2001
2002 095C
2003 095C 58
2004 0950 C3
2005 095E
2006
2001
2008
2009
2010
2011
2012
2013
2014
2015
2016 095E
2011 095E 88 OF
2018 0960 8A C8
2019 0962 DO C3
2020 0964 DO C3
2021
0966 DO C3
2022 0968 DO C3
2023 096A FA
2024 0968 C6 06 0040 R FF
2025 0910 AO 003F R
2026 0913 24 30
2021 0915 84 01
2028 0911 02 E4
2029
2030
2031
2032
2033
2034 0919 3A C3
2035 0918 15 06
2036 0910 84 26 003F R
2031 0981
15 31
2038
2039 0983
2040 0983 OA E3
2041
0985 8A 3E 003F R
2042 0989 80 E1 OF
2043 098C 80 26 003F R CO
2044 0991
08 26 003F R
2045 0995 AO 003F R
2046 0998 8A 08
2041 099A 80 E3 OF
2048 0990 F8
2049 099E 24 3F
2050 09AO DO CO
2051
09A2 DO CO
2052 09A4 DO CO
2053 09A6 DO CO
2054 09A8 OC OC
2055 09AA 8A 03F2
2056 09AD EE
2051 09AE 3A OF
2058 0980 14 02
2059 0982 F8
2060 0983 C3
2061
2062 0984
2063 0984 F9
2064 0985 F8
2065 0986 C3
2066 0981
2061
2068
2069
2010
2011
2012
2013
2014
2015 0981
2016 0981 82 09
2011 0989 E8 08FE R
2018 098C F6 06 003F R 80
2019 09C
I
14 09
2080 09C3 80 FC OF
2081
09C6 13 08
2082 09C8 84 OF
2083 09CA E8 04
2084 09CC
2085 09CC OA E4
2086 09CE 14 1F
2081
2088
2089
2090 0900
2091
0900 8A C4
2092 0902 32 E4
2093 0904 50
2094 0905 8A 03E8
2095 0908 F1 E2
2096 09DA 88 CA
2091 09DC 88 DO
2098 09DE 84 86
2099 09EO CD 15
2100 09E2 58
2101
09E3 13 OA
2102
2103 09E5
2104 09E5 89 00"12
2105 09E8 E8 0000 E
2106 09E8 FE C8
2101 09ED 15 F6
2108 09EF
2109 09EF C3
211009FO
2111
2112
2113

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents