IBM PC CONVERTIBLE Technical Reference page 212

Table of Contents

Advertisement

03BF
06
PUSH
ES
SAVE REGISTERS
03CO
57
PUSH
01
03C1
53
PUSH
BX
03C2
IE
PUSH
OS
SET ES TO DATA SEGMENT
03C3
07
POP
ES
03C4
8B 3E 0098 R
MOV
01 ,USER_FLAG
GET POSTED BYTE ADDR IN ES:DI
03C8
BO 03
MOV
AL,03
SET TEST & RTRN I F NOT ZERO
03CA
B7 80
MOV
BH, POSTED
SET RTRN FOR INTERVAL POSTED
03CC
2A DB
SUB
BL,BL
SET NO TIME LIMIT
03CE
E8 01BE R
CALL
EXLEVENT
WAIT ON EVENT
TIME HAS ELAPSED, RESTORE REGISTERS AND TURN OF PERIODIC INTERRUPT
0301
5B
POP
BX
; RESTORE REGISTERS
0302
5F
POP
01
0303
07
POP
ES
0304
80 26 OOAO R 7E
AND
RTCWAILFLAG, NOT POSTED+ INTERVAL_WAIT
RST FUNCT
0309
F8
CLC
03DA
WINTLEXIT:
030A
C3
RET
03DB
WAILINTV
ENDP
Device Busy Services (DEV _BUSY)
INT 15H
ROUTINE-NAME:
DELBUSY
(AH
=
90H)
FUNCTION:
THIS ROUTINE IS CALLED TO INDICATE THAT A DEV IS BUSY.
FOR THE DEVICE TYPE
=
DISKETTE, A RTRN IS NOT MADE UNTIL
A DISKETTE INTERRUPT HAS BEEN RECEIVED OR 2 SECONDS HAVE
ELAPSED (WHICHEVER IS FIRST). FOR THE DEV TYPE
=
KYBRD A
RETURN WILL NOT BE MADE UNTIL T*HE KYBD BFR IS IN A NOT
EMPTY CONDITION.
ENTRY IEXIT
CONDITIONS:
INPUT:
AL
=
DEVICE TYPE:
01 - DISKETTE
02 - KEYBOARD
FD - WAIT FOR
MOTOR STARTUP
RETURN AFTER IRPT RECEIVED OR 2
SECOND TIMEOUT HAS OCCURRED CARRY
SET I F TIMEOUT
RETURN WHEN KEYBOARD
BUFFER HEAD
<>
BUFFER TAIL
RETURN WHEN TIME HAS EXPIRED IF
TIMER 0 IS RUNNING OR IMMEDIATE
RETURN WHEN NOT RUNN I NG ON ENTRY CH
CONTAINS TIME TO WAIT IN 1/8 SEC
UNITS
ALL OTHERS
REGISTERS
MODIFIED:
IMMEDIATE RETURN WITH CARRY CLEAR
AX
ROM BIOS 2-187

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents