IBM AT 5170 Technical Reference page 287

Table of Contents

Advertisement

IBM Personal COlllput.,. MACRO Ass.",ble,.
Vers ion 2.00
1-19
DSKETTE --
06/10/85
DISKETTE BIOS
06-10-65
1919
PAGE
1980
;--- HARDW....RE
INT
08 H --
(
IRQ LEVEL
6 )
----------------------------------­
1981
1982
: DISK
INT
THIS ROUTINE H....NDLES THE DISKETTE INTERRUPT.
1983
I
­
1984
; ON EXIT:
THE
INTERRUPT FL.. ....G IS SET IN O>SEEK_STATUS.
1985
;
1986
;
------ -
--
- - - - -- -------- - - -­
1981
1988 0934
DISK
INT I
PROC
F ....R
ENTRY POINT FOR ORG OEF51H
1989 0934 FB
-
STI
RE-EN .... 8L..E
INTERRUPTS
1990 0935 50
PUSH
AX
S.... VE WORK REGISTER
1991
0936
IE
PUSH
as
SAVE REG I STERS
1992 0931 E8 0000 E
CALL
005
SETUP DATA ADDRESSING
1993 093A 80 DE 003E R 80
OR
;~EEK-STATUS.INT-FL
.... G
TURN ON INTERRUPT OCCURRED
1994 093F
IF
POP
RESTORE USER
IDS I
1995 0940 80 20
"OV
AL.EOI
END OF I NTERRUPT MARKER
1996 0942 E6 20
OUT
INT .... OO .....L
I NTERRUPT CONTROL.. PORT
1991 0944 B8 9101
"OV
AX.09101H
I NTERRUPT POST CODE AND TYPE
19980941 CD
15
INT
15H
GO PERFORM OTHER TASK
1999 0949 58
POP
AX
RECOVER REG I STER
2000 094 .... CF
IRET
RETURN FROM INTERRUPT
2001
2002 0948
01 SK
INT_'
ENDP
2003
2004
2005
2006
;
-~~~~~~~-~~~~;;-~~ ~~- ;~~~~~~-~~~~
-
~
-
;~~~ ~ ~ ~ ~~~~-~~~C~
-
~~
-
;E~ -;~~~-~;;~-~;-----
2001
;
-
DISKETTE DRIVES ARE ATTAcH TO THE SYSTEM.
2008
;
--------------
-- -- - - - - ---
------
-
--------------------------
- -------------- - - - -­
2009
2010 0948
OSKETTE SETUP PROC
NEAR
2011
0948 50
-PUSH
AX
;
SAVE REGISTERS
2012 094C 53
PUSH
8X
20130940 51
PUSH
CX
2014 094E 52
PUSH
OX
2015 094F 51
PUSH
0 I
2016 0950
IE
PUSH
OS
2011 0951
E8 0000 E
CALL
ODS
; POINT DATA SEGMENT TO 8105 DATA AREA
2018 0954 80 OE OOAO R 01
OR
!(tRTC WAIT FLAG,OI
; NO RTC WAIT, FORCE USE OF LOOP
2019 0959
33 FF
XOR
D[
.0T
-
1 INITIALIZE DRIVE POINTER
2020 0958 C1 06 0090 R 0000
NOV
WORD PTR o>DSK STATE,O
1 INITIALIZE STATES
2021
0961
80 26 008B R 33
.... ND
('ILASTRATE,NOT-STRT MSK+SENO MSK ; CLEAR START
&
SEND
2022 0966 80 OE 006B R CO
OR
O>LASTRATE,SEND MSK-
INITIALIZE SENT TO
IMPOSSIBLE
2023 0968 C6 06 003E R 00
MOV
('ISEEK STATUS,O-
INDICATE RECALIBRATE NEEDED
2024 0910 C6 06 0040 R 00
MOV
PMOTOR COUNT, 0
I NIT I AL I ZE MOTOR COUNT
2025 0915 C6 06 003F R 00
MOV
PMOTOR-STATUS,O
INITIALIZE DRIVES TO OFF STATE
2026 091A C6 06 0041 R 00
MOV
POSKETTE_STATUS,O
NO ERRORS
2021
2026 091F
SUPO:
2029 091F E5 08ED R
CALL
DRIVE DET
DE TERM [NE DR [VE
2030 0962 E8 02EE R
CALL
XL .... T 'OLD
TRANSLATE STATE TO COMPATIBLE MODE
2031
0985 41
INC
01
-
POINT TO NEXT DRIVE
2032 0986 53 FF 02
CMP
OI,MAX DRV
SEE
IF DONE
2033 0969 15 F4
JNZ
SUPO
-
REPEAT FOR EACH DR [VE
2034 0968 C6 06 003E R 00
MOV
PSEEK STATUS.O
FORCE RECAL ISRATE
2035 0990 80 26 OOAQ R FE
AND
PRTC WAIT FLAG,OFEH
ALLOW FOR RTC WA [T
2036 0995 E5 0620 R
CALL
SETUP ENO-
VAR [OUS CLEANUPS
2031 0996
1 F
POP
as
-
RESTORE CALLERS RES I STERS
2035 0999 5F
POP
01
2039 099A 5 ....
POP
OX
2040 0998 59
POP
CX
2041
099C 58
POP
ex
2042 0990 58
POP
AX
2043 099E C3
RET
2044
2045 099F
DSKETTE_SETUP ENDP
2046
2041 099F
CODE
ENDS
2048
ENO
DISKETTE
S-llS

Advertisement

Table of Contents
loading

Table of Contents