IBM 5150 Technical Reference page 165

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

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

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents