Google
 

Trailing-Edge - PDP-10 Archives - BB-D351B-SM - sources/nbio.mac
There are 2 other files named nbio.mac in the archive. Click here to see a list.
; NBIO - Non-blocking I/O module

;
;
;			COPYRIGHT (c) 1979, 1980
;                    DIGITAL EQUIPMENT CORPORATION
;
;     This software is furnished under a license and may  be  used
;     and copied only in accordance with the terms of such license
;     and with the inclusion of the above copyright notice.   This
;     software  or any other copies thereof may not be provided or
;     otherwise made available to any other person.  No  title  to
;     and ownership of the software is hereby transferred.
;
;     The information  in  this  software  is  subject  to  change
;     without  notice  and should not be construed as a commitment
;     by DIGITAL EQUIPMENT CORPORATION.
;
;     DIGITAL assumes no responsibility for the use or reliability
;     of  its  software  on  equipment  which  is  not supplied by
;     DIGITAL.
;
; Macro - SNOOZE
;
; Function - This macro allows IBMSPL to deschedule tasks in an I/O wait
;	for some FE device action to finish. D60JSY checks during assembly
;	for a SNOOZE macro definition.  If there is one, it will be used
;	instead of it's default sleep routine.
;
; Parameters -
;
;	MS/	Number of milliseconds to wait
;	TYPE/	If set to keyword IOWAIT, will be desceduled until
;		 the I/O activity flag is set.

Define  SNOOZE (MS,TYPE) <
	MOVX	S1,MS/^d333		;; Time delay in 1/3 seconds
	AOS	S1			;; Always delay for 1/3 second
IFIDN <TYPE>,<IOWAIT>,<
	TLO	S1,10			;; TW.IOD - SCHED flag
    >;End if TYPE=IOWAIT
	PUSHJ	P,SNZ##			;; Call IBMSPL external DESCHED rtn
>;End SNOOZE

; IBMSPL dependent test flags

	FTNDNU==-1		; Stop checking for DSR during D60OPN call