IBM PC CONVERTIBLE Technical Reference page 58

Table of Contents

Advertisement

0203
58
0204
A2 0040 R
0207
0207
IE
0208
88 5E 12
020S
8S 46 14
020E
8E 08
0210
4B
0211
8A 07
0213
IF
0214
3C EC
0216
74 04
0218
3C EE
021A
75 03
021C
021C
FF 4E 12
021F
021F
E9 0050 R
0222
0222
51
0223
BA 03F4
0226
2B C9
0228
0228
EC
0229
A8 10
022B
74 02
0220
E2 F9
022F
022F
59
0230
C3
0231
0231
0231
51
0232
53
0233
B3 04
0235
2B C9
0237
POP
AX
; RETRI EVE MOTOR COUNT
MOV
MOTOILCOUNT , AL
ADJUST THE STACK POINTER TO RETURN TO USER
DSKLRSEXIT:
PUSH
OS
MOV
BX,OFFSAVE[BP]
MOV
AX,SEGSAVE[BP]
MOV
DS,AX
DEC
BX
MOV
AL, [BX]
POP
OS
CMP
AL,IN_INSTR
JE
DSKLRHLADJ
CMP
AL, DULl NSTR
JNE
RHLEXITNMI
DSKLRTN-ADJ:
DEC
OFFSAVE[BP]
RTN_EXITNMI:
JMP
NMIH_EXIT
GET RETURN OFFSET
AODR
GET RETURN SEGMENT AOOR
POINT BACK TO INSTR
GET INSTRUCTION BYTE
IN AL ,OX INSTRUCTION?
YES THEN ADJUST RETURN
OUT DX,AL INSTRUCTION?
NO TH EN DO NOT ADJUST RTN
SETUP TO REISSUE THE I/O FOR USER
RETURN TO NMLFLIH
;THIS ROUTINE WILL WAIT FOR THE FOC TO DROP BUSY
DROP_BUSY PROC NEAR
PUSH
CX
MOV
OX, FOCSTATUS
SUB
CX,CX
WAILBUSY:
IN
AL,OX
TEST
AL, FDCBUSY
JZ
FOCDONE
LOOP
WAIT_BUSY
FOCDONE:
POP
CX
RET
DROP_BUSY ENDP
SAVE REGISTER VALUE
POINT TO MASTER STATUS PORT
TIMING COUNT FOR LOOP
READ THE MASTER PORT
TEST FOR BUSY TO DROP
FDC NO LONGER I S BUSY
RESTORE ORIGINAL VALUE
;THIS ROUTINE WILL WAIT FOR AN INTERRUPT FROM THE FOC
WAILINTRPT PROC NEAR
PUSH
CX
PUSH
BX
SAVE BX
MOV
BL,4
2 SECONDS WAIT
SUB
CX,CX
TIMING COUNT FOR LOOP
WAILINT:
0237
F6 06 003E R 80
TEST
SEEICSTATUS,INLFLAG
WAIT FOR AN INTERRUPT
023C
75 06
JNZ
FOCINTRPT
FDC GENERATED AN INTERRUPT
023E
E2 F7
LOOP
WAILINT
0240
FE CB
DEC
BL
0242
75 F3
JNZ
WAILINT
WAIT ON INTERRUPT
0244
FDCINTRPT:
0244
80 26 003E R 7F
AND
SEEICSTATUS, NOT INLFLAG ; RESET THE INTERRUPT FLAG
0249
5B
024A
59
024B
C3
024C
024C
024C
024C
IE
0240
50
024E
B8 ---- R
0251
8E 08
POP
BX
RESTORE BX
POP
CX
RET
WAILINTRPT ENDP
DSKLRESYNC ENDP
DSKLINTE
THIS ROUTINE HANDLES THE DISKETTE INTERRUPT
INPUT:
NONE
OUTPUT:
THE INTERRUPT FLAG SET IS SEEICSTATUS
DSKLNMIE
PUSH
PUSH
MOV
MOV
PROC
FAR
OS
AX
AX,DATA
DS,AX
SET UP DATA SEGMENT
0253
80 OE 003E R 80
OR
SEEICSTATUS, I NLFLAG
ROM BIOS 2-33

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents