LOC
OBJ
LINE
SOURCE
EF2C
800£410040
3023
OR
Ef31
F9
3024
STe
j;
ERROR
RETURN
COOE
EF32 C3
3025
RET
3026
CHK_STAT_2
ENOP
3027
; -
------------------
____________________________________________________
_
3028
:
WAIT
INT
3029
THIS
ROUTINE WAITS
FOR
AN
INTERRUPT
TO
OCCUR. A
TItlE
OUT
3030
ROUTINE TAKES PLACE DURING THE
WAIT,
SO
THAT
AN
ERROR
HAY
BE
3031
RETURNED
IF
THE
DRIVE
IS
HOT
READY.
3032
; INPUT
3033
NONE
3034
j OUTPUT
3035
CY
= 0
SUCCESS
3036
ty
= 1
FA.IlURE
--
DISKETICSTATUS
IS
SET
ACCORDINGLY
3037
{AX)
DESTROYED
3038
1------------------------------------------------------------------------
EF3!
3039
WAIT_INT
PROC
HEAR
En]
FB
3040
STI
;
TURN
ON
INTE~RUPTS,
JUST
IN
CASE
EF34
53
3041
PUSH
BX
EF3S 51
3042
PUSH
ex
i SAVE
~EGISTERS
EF30
8302
3043
NOV
BL.2
I CLEAR
THE
COUNTERS
Ef38
33C9
3044
XOR
CX,CX
J
FOR
2
SECOND
WAIT
EF3A
3045
J36:
EF3A
F6063Eooeo
3046
TEST
SEEK_STATUS.INTJLAG
, TEST
FOR
INTERRUPT
OCCURRING
EF3F 750C
3047
JHZ
J17
EF41
ElF7
3048
LOOP
J36
I
COUNT
DOWN
WHILE WAITING
EF43 FEee
3049
DEC
BL
I
SECOND
LEVEL
COUNTER
EF45
75F3
3050
JHZ
J36
EF47
800E410080
3051
OR
DISKETTE_STATUS,TIME_OUT
; NOTHING
HAPPENED
EF4C
f9
3052
STe
~
ERROR
RETURN
EF4D
3053
J37:
EF4D
9C
3054
PUSHF
, SAVE
CURRENT
CARRY
EF4E
80263E007F
30S5
AND
SEEK.STATUS,NOT
INTJLAG
;
TURN
OFF
INTERRUPT FLAG
EF53 90
3056
POPF
;
RECOVER
CARRY
EF54
59
3057
POP
ex
EF55 5B
3058
POP
BX
;
RECOVER
REGISTERS
Ef56
C3
3059
RET
I
GOOD
RETURN
COOE
COMES
3060
,
FROM
TEST
INST
3061
WAIT_INT
EHOP
3062
i--------------------------------------------------------
3063
;
DISK.1NT
3064
THIS
ROUTINE HANDLES
THE
DISKETTE INTERRUPT
3065
iINPtJT
3066
NONE
3067
I
OUTPUT
3068
THE
INTERRUPT FLAG
IS
SET
IS
SEEK_STATUS
3069
;
-------
-----------------------------------
_____________
_
EF57
3070
ORG
OEF57H
EF57
3071
DISK.INT
PROC
FAR
EF57 FB
3072
STI
I
RE
EHABLE INTERRUPTS
EF58
IE
3073
I'\JSH
as
EF59
50
3074
PUSH
AX
Ef5A
E8EIOF
3075
CALL
DDS
EF5D
800£3E0060
3076
OR
SEEK_STATUS.
INTJLAG
EF62
B020
3071
NOV
AL,20H
J
END
OF
INTERRUPT
HARKER
EF64
E620
3078
OUT
20H.AL
J INTERRUPT
CONTROL
PORT
EF66
58
3079
POP
AX
EF67
IF
3060
POP
os
j
RECOVER
SYSTEM
EF68
CF
3081
IRET
;
RETURN
FROM
INTERRUPT
3062
DISK_IHT
EtilP
3083
1----
--
----
-
--
---
--
-
------
- -
--
- - - - - -
-------
------
-
----
--
------
------
-
---.
3064
I RESULTS
3085
THIS
ROUTINE
WIll
READ
ANYTHING THAT
THE
NEC
COt-'TROLLER
HAS
3086
TO
SAY
FOLLOWING
AN
INTERRUPT.
3067
INPUT
3086
NONE
3069
;
OUTPUT
3090
CY
= 0 SUCCESSFUL
TRANSFER
3091
CY
= 1 FAILURE
--
TIME
OUT
IN
WAITING
FOR
STA.TUS
3092
NEC.STATUS
AREA
HAS STATUS BYTE
LOADED
INTO
IT
3093
(AH)
DESTROYED
3094
;
-----------------
---
--
- -
--------------------~---------~-------
----------
EF69
3095
RESULTS
PROC
NEAR
EF69
FC
3.96
CLO
EF6A
BF4200
3097
MOV
OI.OFFSET
NEe_STATUS
I POINTER
TO
DATA
AREA
EF60 51
3096
PUSH
CX
I SAVE
COUNTER
EF6E
52
"iOqq
PUSH
OX
5-72
System BIOS