IBM XT 5160 Technical Reference page 291

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

LOC OBJECT
LINE
SOURCE
(B I OS FOR THE I BM PERSONAL COMPUTER XT)
1 1 /08/82
INPUT
INPUT
;----- WAIT FOR REQUEST FOR MASTER
RESUL TS
TH I S ROUT I NE WILL READ ANYTH I NG THAT THE NEC CONTROLLER HAS
TO SAY FOLLOW I NG AN INTERRUPT.
INPUT STAT
POINT-AT DATA PORT
GET THE DATA
STORE THE BYTE
I NCREMENT THE PO INTER
LOOP TO KILL T I ME FOR NEC
POINT AT STATUS PORT
GET STATUS
TEST FOR NEC ST I LL BUSY
GET STATUS REG AGAIN
TEST DIRECTION BIT
OK TO READ STATUS
NEC_FAIL
MAX STATUS BYTES
PO I NTER TO DATA AREA
SAVE COUNTER
END OF I NTERRUPT MARKER
I NTERRUPT CONTROL PORT
RECOVER SYSTEM
RETURN FROM INTERRUPT
TURN ON INTERRUPTS, JUST IN CASE
SAVE REG I STERS
CLEAR THE COUNTERS
FOR 2 SECOND WA I T
; RE ENABLE INTERRUPTS
OX
AL,DX
[01] ,AL
01
CX,10
J43
OX
AL,DX
AL,O I OH
AL,DX
AL,040H
J42
o
I ,OFFSET NEC STATUS
CX
-
OX
BX
BL,1
OS
AX
DDS
SEEK STATUS,INT FLAG
AL,20H
-
20H,AL
AX
OS
ENDP
OEF51H
PROC
FAR
ENDP
SEEK STATUS,INT FLAG
TEST FOR
INTERRUPT OCCURRING
J31 -
-
J36
COUNT DOWN WH I LE WA I
TI
NG
BL
SECOND LEVEL COUNTER
J36
DISKETTE_STATUS,TIME_OUT
; NOTHING HAPPENED
ERROR RETURN
SAVE CURRENT CARRY
SEEK_STATUS,NOT INT_FLAG
;
TURN OFF INTERRUPT FLAG
RECOVER CARRY
CX
BX
RECOVER REG I STERS
GOOD RETURN CODE COMES
FROM TEST INST
BX
CX
BL,2
CX,CX
INC
IN
MOV
INC
MOV
LOOP
DEC
IN
TEST
IN
TEST
JNZ
J43:
;----- TEST THE DIRECTION BIT
J40A:
J42:
J41 :
J38:
INPUT LOOP
XOR
CX,CX
COUNTER
MOV
OX ,03F4H
STATUS PORT
J39:
WA I T FOR MASTER
IN
AL,DX
GET STATUS
TEST
AL,080H
MASTER READY
JNZ
J40A
TEST DIR
LOOP
J39
; WA I T:::MASTER
OR
DISKETTE_STATUS,
TI
ME_OUT
J40:
RESUL TS ERROR
STC
SET ERROR RETURN
POP
BX
POf'
OX
POP
CX
RET
.
--- - ----------------- - ---------- -------- ----- --- --------
-
--------------
RESULTS PROC
NEAR
CLD
MOV
PUSH
PUSH
PUSH
MOV
NONE
OUTPUT
CY
=
0 SUCCESS
CY
=
I FAILURE -- DISKETTE STATUS
IS SET ACCORDINGLY
(AX)
DESTROYED
-
WAIT
INT
-
TH I S ROUT I NE WA I TS FOR AN I NTERRUPT TO OCCUR.
A T I ME OUT
ROUT I NE TAKES PLACE OUR I NG THE WA IT,
SO THAT AN ERROR MAYBE
RETURNED I F THE DR I VE I S NOT READY.
OR
0 I SKETTE ST ATUS ,BAD NEC
JMP
J40
-
-
RESUL TS_ERROR
; ----- READ I N THE STATUS
NONE
OUTPUT
CY
=
0
SUCCESSFUL TRANSFER
CY
=
I
FAILURE -- TIME OUT IN WAITING FOR STATUS
NEC STATUS AREA HAS STATUS BYTE LOADED I NTO IT
(AHT DESTROYED
ORG
01 SK
INT
-
STI
PUSH
PUSH
CALL
OR
MOV
OUT
POP
POP
IRET
01 SK_INT
.
--------------------------------------------------------
; 01 SK
INT
; INPUT-
TH I S ROUT I NE HANDLES THE 0 I SKETTE INTERRUPT
;
NONE
; OUTPUT
THE I NTERRUPT FLAG I S SET I S SEEK _ STATUS
J36:
TEST
JNZ
LOOP
DEC
JNZ
OR
STC
J31:
PUSHF
AND
POPF
POP
POP
RET
WAIT
INT
.
---- --
--
-- --------- ----------- --- --
-------
-------------- -- - --------- ---
WA I T
I NT
PROC
NEAR
-
STI
PUSH
PUSH
MOV
XOR
2904
2905
2906
2901
2908
2909
2910
2911
2912
2913
2914
2915
2916
2911
2918
2919
2920
2921
2922
2923
2924
2925
2926
2921
2928
2929
2930
2931
2932
2933
2934
2935
2936
2931
2938
2939
2940
2941
2942
2943
2944
2945
2946
2941
2948
2949
2950
2951
2952
2953
2954
2955
2956
2951
2958
2959
2960
2961
2962
2963
2964
2965
2966
2961
2968
2969
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2980
2981
2982
2983
2984
2985
2986
2981
2988
2989
2990
2991
2992
2993
2994
2995
2996
2991
2998
2999
3000
3001
3002
3003
3004
3005
3006
3001
3008
3009
30 I 0
3011
3012
3013
3014
3015
3016
3011
3018
3019
EF69
EF69 FC
EF6A BF4200
EF6D 51
EF6E 52
EF6F 53
EF10 B301
EF94
EF94 42
EF95 EC
EF96 8805
EF98 41
EF99 B90AOO
EF9C E2FE
EF9E 4A
EF9F EC
EFAO A810
EF51
EF51
EF51 FB
EF58
IE
EF59 50
EF5A E8FCOA
EF5D 800E3E0080
EF62 B020
EF64 E620
EF66 58
EF61
IF
EF68 CF
EF12
EF12 33C9
EF14 BAF403
EF11
EF11 EC
EF18 A880
EF1A 150C
EF1C E2F9
EF1E 800E410080
EF83
EF83 F9
EF84 5B
EF85 5A
EF86 59
EF81 C3
EF88
EF88 EC
EF89 A840
EF8B 1501
EF8D
EF8D 800E410020
EF92 EBEF
EF33
EF33 FB
EF34 53
EF35 51
EF36 B302
EF38 33C9
EF3A
EF3A F6063E0080
EF3F 150C
EF41 E2F1
EF43 FECB
EF45 15F3
EF41800E410080
EF4C F9
EF4D
EF4D 9C
EF4E 80263E001F
EF53 90
EF54 59
EF55 5B
EF56 C3
5-144
PC-XT System BIOS (11/08/82)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents