EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)    4300  CHECK PROCESS RESOURCE REQUEST

   (1)   10900  GET PROTECTION MASK ACCORDING TO UIC ACCESS

   (1)   16600  CHECK ACCESS PROTECTION

   (1)   21500  INSERT ENTRY IN TIME DEPENDENT SCHEDULER QUEUE

   (1)   26900  MAXIMIZE ACCESS MODE

   (1)   29600  REMOVE ENTRY FROM TIME DEPENDENT SCHEDULER QUEU

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000   100 	.TITLE	EXSUBROUT - EXECUTIVE SUPPORT SUBROUTINES

                                     0000   200 	.IDENT	/01/

                                     0000   300  

                                     0000   400 ;

                                     0000   500 ; COPYRIGHT (C) 1977

                                     0000   600 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000   700 ;

                                     0000   800 ; THIS SOFTWARE IS FURNISHED UNDER  A LICENSE FOR USE ONLY  ON  A

                                     0000   900 ; SINGLE COMPUTER SYSTEM AND MAY BE  COPIED ONLY WITH  THE INCLU-

                                     0000  1000 ; SION OF  THE  ABOVE  COPYRIGHT NOTICE.  THIS SOFTWARE,  OR  ANY

                                     0000  1100 ; OTHER COPIES THEREOF, MAY NOT BE  PROVIDED  OR  OTHERWISE  MADE

                                     0000  1200 ; AVAILABLE TO ANY OTHER PERSON EXCEPT  FOR  USE  ON  SUCH SYSTEM

                                     0000  1300 ; AND TO  ONE WHO AGREES  TO  THESE LICENSE  TERMS.  TITLE TO AND

                                     0000  1400 ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

                                     0000  1500 ;

                                     0000  1600 ; THE INFORMATION IN THIS SOFTWARE  IS  SUBJECT TO CHANGE WITHOUT

                                     0000  1700 ; NOTICE AND SHOULD NOT BE CONSTRUED  AS  A COMMITMENT BY DIGITAL

                                     0000  1800 ; EQUIPMENT CORPORATION.

                                     0000  1900 ;

                                     0000  2000 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS

                                     0000  2100 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000  2200 ;

                                     0000  2300 ; D. N. CUTLER 17-AUG-76

                                     0000  2400 ;

                                     0000  2500 ; MODIFIED BY R.HEINEN 22-SEPT-76

                                     0000  2600 ;

                                     0000  2700 ; EXECUTIVE SUPPORT SUBROUTINES

                                     0000  2800 ;

                                     0000  2900 ; MACRO LIBRARY CALLS

                                     0000  3000 ;

                                     0000  3100  

                                     0000  3200 	$ACBDEF				;DEFINE ACB OFFSETS

                                     0000  3300 	$IPLDEF				;DEFINE PRIORITY LEVELS

                                     0000  3400 	$PCBDEF				;DEFINE PCB OFFSETS

                                     0000  3500 	$PRDEF				;DEFINE PROCESSOR REGISTERS

                                     0000  3600 	$PSLDEF				;DEFINE PROCESSOR STATUS FIELDS

                                     0000  3700 	$RSNDEF				;DEFINE RESOURCE WAIT NUMBERS

                                     0000  3800 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000  3900 	$TQEDEF				;DEFINE TQE OFFSETS

                                     0000  4000  

                                 00000000  4100 	.PSECT	AEXENONPAGED

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   2

01              CHECK PROCESS RESOURCE REQUEST                                                                                   (1)



                                     0000  4300 	.SBTTL	CHECK PROCESS RESOURCE REQUEST

                                     0000  4400 ;+

                                     0000  4500 ; EXE$BUFFRQUOTA - CHECK BUFFER BYTE COUNT QUOTA AND CONDITIONALLY WAIT

                                     0000  4600 ; EXE$MULTIQUOTA - CHECK MULTI-UNIT RESOURCE REQUEST AND CONDITIONALLY WAIT

                                     0000  4700 ; EXE$SNGLEQUOTA - CHECK SINGLE-UNIT RESOURCE REQUEST AND CONDITIONALLY WAIT

                                     0000  4800 ;

                                     0000  4900 ; THESE ROUTINES ARE CALLED TO CHECK IF A PROCESS HAS SUFFICIENT RESIDUAL

                                     0000  5000 ; QUOTA TO GRANT A RESOURCE. IF SUFFICIENT QUOTA IS NOT AVAILABLE AND THE

                                     0000  5100 ; PROCESS IS ENABLED FOR IMPLIED RESOURCE WAIT, THEN THE PROCESS IS ENTERED

                                     0000  5200 ; IN A WAIT STATE TO WAIT FOR SUFFICIENT QUOTA TO BECOME AVAILABLE.

                                     0000  5300 ;

                                     0000  5400 ; INPUTS:

                                     0000  5500 ;

                                     0000  5600 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     0000  5700 ;

                                     0000  5800 ; IF ENTRY AT EXE$BUFFRQUOTA OR EXE$MULTIQUOTA, THEN

                                     0000  5900 ;

                                     0000  6000 ;	R1 = NUMBER OF UNITS OF RESOURCE REQUESTED.

                                     0000  6100 ;

                                     0000  6200 ; IF ENTRY AT EXE$MULTIQUOTA OR EXE$SNGLEQUOTA, THEN

                                     0000  6300 ;

                                     0000  6400 ;	R2 = ADDRESS OF QUOTA WORD CONTAINING REMAINING UNITS FOR SPECIFIED

                                     0000  6500 ;		RESOURCE.

                                     0000  6600 ; OUTPUTS:

                                     0000  6700 ;

                                     0000  6800 ;	R0 LOW BIT CLEAR INDICATES CHECK FAILURE WITH CALLING IPL PRESERVED.

                                     0000  6900 ;

                                     0000  7000 ;		R0 = SS$_EXQUOTA = QUOTA EXCEEDED OR REQUEST GREATER THAN

                                     0000  7100 ;			MAXIMUM PROCESS OR SYSTEM QUOTA.

                                     0000  7200 ;

                                     0000  7300 ;	R0 LOW BIT SET INDICATES SUCCESS WITH IPL SET TO AST DELIVERY

                                     0000  7400 ;		LEVEL.

                                     0000  7500 ;

                                     0000  7600 ;		R0 = SS$_NORMAL = NORMAL COMPLETION.

                                     0000  7700 ;

                                     0000  7800 ;	R1 IS PRESERVED ACROSS CALL.

                                     0000  7900 ;-

                                     0000  8000  

                                     0000  8100 	.ENABL	LSB

                                     0000  8200 EXE$BUFFRQUOTA::			;CHECK BUFFER BYTE COUNT QUOTA

       0000'CF            51     B1  0000  8300 	CMPW	R1,W^IOC$GW_MAXBUF	;REQUEST GREATER THAN SYSTEM MAXIMUM?

                          0A     1A  0005  8400 	BGTRU	5$			;IF GTRU YES

            52         42 A4     DE  0007  8500 	MOVAL	PCB$W_BYTCNT(R4),R2	;SET ADDRESS OF BYTE COUNT QUOTA WORD

         68 A4            51     B1  000B  8600 	CMPW	R1,PCB$W_BYTLM(R4)	;REQUEST GREATER THAN PROCESS MAXIMUM?

                          07     1B  000F  8700 	BLEQU	EXE$MULTIQUOTA		;IF LEQU NO

            50            1C     3C  0011  8800 5$:	MOVZWL	#SS$_EXQUOTA,R0		;SET QUOTA EXCEEDED

                                 05  0014  8900 	RSB				;

                                     0015  9000 EXE$SNGLEQUOTA::			;CHECK SINGLE-UNIT RESOURCE REQUEST

            51            01     D0  0015  9100 	MOVL	#1,R1			;SET NUMBER OF UNITS OF RESOURCE REQUESTED

                                     0018  9200 EXE$MULTIQUOTA::			;CHECK MULTI-UNIT RESOURCE REQUEST

                          7E     DC  0018  9300 10$:	MOVPSL	-(SP)			;READ CURRENT PSL

                                     001A  9400 	DSBINT	#IPL$_SYNCH,R3		;SYNCHRONIZE ACCESS TO SYSTEM DATA BASE

            50            1C     3C  0020  9500 	MOVZWL	#SS$_EXQUOTA,R0		;ASSUME QUOTA EXCEEDED

            62            51     B1  0023  9600 	CMPW	R1,(R2)			;ENOUGH RESOURCE UNITS REMAINING?

                          0C     1A  0026  9700 	BGTRU	30$			;IF GTRU NO

            50            01     3C  0028  9800 	MOVZWL	#SS$_NORMAL,R0		;SET NORMAL COMPLETION

            53            02     D0  002B  9900 	MOVL	#IPL$_ASTDEL,R3		;SET TO RAISE TO AST DELIVERY LEVEL

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   3

01              CHECK PROCESS RESOURCE REQUEST                                                                                   (1)



                          8E     D5  002E 10000 20$:	TSTL	(SP)+			;REMOVE PSL FROM STACK

                                     0030 10100 	ENBINT	R3			;ALLOW INTERRUPTS

                                 05  0033 10200 	RSB				;

         28 A4            0A     E0  0034 10300 30$:	BBS	#PCB$V_SSRWAIT,PCB$L_STS(R4),20$ ;IF SET, NO WAIT

                          F5         0038       

            50            01     3C  0039 10400 	MOVZWL	#RSN$_ASTWAIT,R0	;SET AST WAIT RESOURCE NUMBER

                          FFC1'  30  003C 10500 	BSBW	SCH$RWAIT		;WAIT FOR AST

                          D7     11  003F 10600 	BRB	10$			;

                                     0041 10700 	.DSABL	LSB

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   4

01              GET PROTECTION MASK ACCORDING TO UIC ACCESS                                                                      (1)



                                     0041 10900 	.SBTTL	GET PROTECTION MASK ACCORDING TO UIC ACCESS

                                     0041 11000 ;+

                                     0041 11100 ; EXE$GETACCESS - GET ACCESS RIGHTS ACCORDING TO UIC AND PROTECTION MASK

                                     0041 11200 ;

                                     0041 11300 ; THIS ROUTINE RETURNS THE ACCESS RIGHTS OF A GIVEN PROCESS PCB WITH

                                     0041 11400 ; REGARDS TO A PROTECTION / UIC MASK PAIR.

                                     0041 11500 ;

                                     0041 11600 ; INPUTS:

                                     0041 11700 ;

                                     0041 11800 ;	R1 = PROTECTION MASK IN "RWED" FORM (SYSTEM,OWNER,GROUP,WORLD).

                                     0041 11900 ;	R2 = UIC ASSOCIATED WITH PROTECTION MASK.

                                     0041 12000 ;	R4 = PCB OF PROCESS WISHING VALIDATION.

                                     0041 12100 ;

                                     0041 12200 ; OUTPUTS:

                                     0041 12300 ;	

                                     0041 12400 ;	R0 = MASK IN "RWED" FORM (SYSTEM,OWNER,GROUP,WORLD) WHICH

                                     0041 12500 ;	     CORRESPONDS TO THE ACCESS AVAILABLE TO THE PROCESS.

                                     0041 12600 ;

                                     0041 12700 ;	R3 IS PRESERVED ACROSS CALL.

                                     0041 12800 ;-

                                     0041 12900  

                                 00000000 13000 	.PSECT	Y$EXEPAGED

                                     0000 13100 EXE$GETACCESS::				;

            50       F000 8F     3C  0000 13200 	MOVZWL	#^XF000,R0		;SET WORLD MASK

                                     0005 13300  

                                     0005 13400 ;

                                     0005 13500 ; TEST GROUP ACCESS

                                     0005 13600 ;

                                     0005 13700  

            7E         22 A4     3C  0005 13800 	MOVZWL	PCB$W_GRP(R4),-(SP)	;GET CURRENT PROCESS GROUP CODE

            10            10     ED  0009 13900 	CMPZV	#16,#16,R2,(SP)+	;COMPARE GROUP VALUES

            8E            52         000C       

                          10     12  000E 14000 	BNEQ	20$			;IF NEQ THEN NOT THE SAME GROUP

            08            0F     F0  0010 14100 	INSV	#^XF,#8,#4,R0		;INSERT GROUP MASK

            50            04         0013       

                                     0015 14200  

                                     0015 14300 ;

                                     0015 14400 ; TEST OWNER ACCESS

                                     0015 14500 ;

                                     0015 14600  

            52         20 A4     B1  0015 14700 	CMPW	PCB$L_UIC(R4),R2	;COMPARE MEMBER VALUES

                          05     12  0019 14800 	BNEQ	20$			;IF NEQ THENNOT SAME MEMBER

            04            0F     F0  001B 14900 	INSV	#^XF,#4,#4,R0		;INSERT OWNER MASK

            50            04         001E       

                                     0020 15000  

                                     0020 15100 ;

                                     0020 15200 ; CHECK SYSTEM ACCESS

                                     0020 15300 ;

                                     0020 15400  

         22 A4   00000000'EF     B1  0020 15500 20$:	CMPW	L^EXE$GL_SYSUIC,PCB$W_GRP(R4) ;COMPARE GROUP WITH SYSTEM ACCESS

                          05     1F  0028 15600 	BLSSU	30$			;IF LSSU THEN NOT SYSTEM

            00            0F     F0  002A 15700 	INSV	#^XF,#0,#4,R0		;INSERT SYSTEM MASK

            50            04         002D       

                                     002F 15800  

                                     002F 15900 ;

                                     002F 16000 ; FORM FINAL MASK

                                     002F 16100 ;

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   5

01              GET PROTECTION MASK ACCORDING TO UIC ACCESS                                                                      (1)



                                     002F 16200  

            50            51     AA  002F 16300 30$:	BICW	R1,R0			;RETURN RESULT IN R0

                                 05  0032 16400 	RSB				;

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   6

01              CHECK ACCESS PROTECTION                                                                                          (1)



                                     0033 16600 	.SBTTL CHECK ACCESS PROTECTION

                                     0033 16700 ;+

                                     0033 16800 ; EXE$CHKCREACCES - CHECK CREATE ACCESS

                                     0033 16900 ; EXE$CHKDELACCES - CHECK DELETE ACCESS

                                     0033 17000 ; EXE$CHKLOGACCES - CHECK LOGICAL I/O FUNCTION ACCESS

                                     0033 17100 ; EXE$CHKPHYACCES - CHECK PHYSICAL I/O FUNCTION ACCESS

                                     0033 17200 ; EXE$CHKRDACCES - CHECK READ ACCESS

                                     0033 17300 ; EXE$CHKWRTACCES - CHECK WRITE ACCESS

                                     0033 17400 ;

                                     0033 17500 ; THESE ROUTINES RETURN A TRUE OR FALSE VALUE ON ACCESS

                                     0033 17600 ; GIVEN A REQUESTING PROCESS PCB AND A PROTECTION MASK / UIC PAIR.

                                     0033 17700 ;

                                     0033 17800 ; INPUTS:

                                     0033 17900 ;

                                     0033 18000 ;	R1 = PROTECTION MASK - "RWED" FOR (SYSTEM,OWNER,GROUP,WORLD).

                                     0033 18100 ;	R2 = UIC ASSOCIATED WITH PROTECTION MASK.

                                     0033 18200 ;	R4 = REQUESTING PCB.

                                     0033 18300 ;

                                     0033 18400 ; OUTPUTS:

                                     0033 18500 ;

                                     0033 18600 ;	R0 = SS$_NORMAL FOR ACCESS ALLOWED

                                     0033 18700 ;	R0 = SS$_NOPRIV FOR ACCESS DENIED

                                     0033 18800 ;

                                     0033 18900 ;	R3 IS PRESERVED ACROSS CALL.

                                     0033 19000 ;-

                                     0033 19100  

                                     0033 19200 	.ENABL	LSB

                                     0033 19300 EXE$CHKDELACCES::			;CHECK DELETE ACCESS

                                     0033 19400 EXE$CHKLOGACCES::			;CHECK LOGICAL I/O FUNCTION ACCESS

            7E       7777 8F     3C  0033 19500 	MOVZWL	#^X7777,-(SP)		;SET COMPLEMENT OF NEEDED ACCESS

                          13     11  0038 19600 	BRB	10$			;

                                     003A 19700 EXE$CHKCREACCES::			;CHECK CREATE ACCESS

                                     003A 19800 EXE$CHKPHYACCES::			;CHECK PHYSICAL I/O FUNCTION ACCESS

            7E       BBBB 8F     3C  003A 19900 	MOVZWL	#^XBBBB,-(SP)		;SET COMPLEMENT OF NEEDED ACCESS

                          0C     11  003F 20000 	BRB	10$			;

                                     0041 20100 EXE$CHKRDACCES::			;CHECK READ ACCESS

            7E       EEEE 8F     3C  0041 20200 	MOVZWL	#^XEEEE,-(SP)		;SET COMPLEMENT OF NEEDED ACCESS

                          05     11  0046 20300 	BRB	10$			;

                                     0048 20400 EXE$CHKWRTACCES::			;CHECK WRITE ACCESS

            7E       DDDD 8F     3C  0048 20500 	MOVZWL	#^XDDDD,-(SP)		;SET COMPLEMENT OF NEEDED ACCESS

                          B1     10  004D 20600 10$:	BSBB	EXE$GETACCESS		;GET THE PROCESS' ACCESS RIGHTS

            50            8E     CA  004F 20700 	BICL	(SP)+,R0		;FORM ANSWER -- IF 0 THEN FALSE

                          04     13  0052 20800 	BEQL	20$			;RETURN NO PRIVILEGE IF EQL

            50            01     9A  0054 20900 	MOVZBL	#SS$_NORMAL,R0		;SET SUCCESS INDICATOR

                                 05  0057 21000 	RSB				;AND RETURN

            50            24     3C  0058 21100 20$:	MOVZWL	#SS$_NOPRIV,R0		;SET ERROR

                                 05  005B 21200 	RSB				;AND RETURN

                                     005C 21300 	.DSABL	LSB

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   7

01              INSERT ENTRY IN TIME DEPENDENT SCHEDULER QUEUE                                                                   (1)



                                     005C 21500 	.SBTTL	INSERT ENTRY IN TIME DEPENDENT SCHEDULER QUEUE

                                     005C 21600 ;+

                                     005C 21700 ; EXE$INSTIMQ - INSERT ENTRY IN TIME DEPENDENT SCHEDULER QUEUE

                                     005C 21800 ;

                                     005C 21900 ; THIS ROUTINE IS CALLED TO INSERT AN ENTRY IN THE TIME DEPENDENT SCHEDULER

                                     005C 22000 ; QUEUE. THE ENTRY IS THREADED INTO THE QUEUE ACCORDING TO ITS DUE TIME.

                                     005C 22100 ; THE QUEUE IS ORDERED SUCH THAT THE MOST IMMINENT ENTRIES ARE AT THE FRONT

                                     005C 22200 ; OF THE QUEUE.

                                     005C 22300 ;

                                     005C 22400 ; INPUTS:

                                     005C 22500 ;

                                     005C 22600 ;	R0 = LOW ORDER PART OF DELTA TIME.

                                     005C 22700 ;	R1 = HIGH ORDER PART OF DELTA TIME.

                                     005C 22800 ;	R5 = ADDRESS OF ENTRY TO INSERT IN TIME QUEUE.

                                     005C 22900 ;

                                     005C 23000 ;	IF R1 IS NEGATIVE, THEN THE TIME FORMAT IS DELTA TIME.

                                     005C 23100 ;	ELSE THE TIME IS ALREADY IN ABSOLUTE FORMAT.

                                     005C 23200 ;

                                     005C 23300 ; OUTPUTS:

                                     005C 23400 ;

                                     005C 23500 ;	SPECIFIED ENTRY IS INSERTED INTO THE TIME DEPENDENT SCHEDULER QUEUE

                                     005C 23600 ;	ACCORDING TO ITS DUE TIME.

                                     005C 23700 ;-

                                     005C 23800  

                                     0000 23900 	.PSECT

                                     0000 24000 EXE$INSTIMQ::				;INSERT ENTRY IN TIME QUEUE

                                     0000 24100 	DSBINT	#IPL$_HWCLK		;DISABLE HARDWARE CLOCK INTERRUPTS

                          51     D5  0006 24200 	TSTL	R1			;TIME ALREADY IN ABSOLUTE FORM?

                          13     18  0008 24300 	BGEQ	10$			;IF GEQ YES

            51            51     CE  000A 24400 	MNEGL	R1,R1			;NEGATE HIGH ORDER PART OF TIME

            50            50     CE  000D 24500 	MNEGL	R0,R0			;NEGATE LOW ORDER PART OF TIME

            51            00     D9  0010 24600 	SBWC	#0,R1			;PROPAGATE CARRY TO HIGH ORDER PART OF TIME

            50       0000'CF     C0  0013 24700 	ADDL	W^EXE$GQ_SYSTIME,R0	;ADD LOW ORDER PART OF SYSTEM TIME

            51       0004'CF     D8  0018 24800 	ADWC	W^EXE$GQ_SYSTIME+4,R1	;ADD CARRY AND HIGH ORDER PART OF TIME

            6E            07     D1  001D 24900 10$:	CMPL	#IPL$_TIMER,(SP)	;TIMER IPL GREATER THAN PREVIOUS IPL?

                          05     18  0020 25000 	BGEQ	20$			;IF GEQ YES

                                     0022 25100 	SETIPL	(SP)			;SET IPL TO PREVIOUS LEVEL

                          03     11  0025 25200 	BRB	30$			;

                                     0027 25300 20$:	SETIPL	#IPL$_TIMER		;LOWER IPL TO TIMER LEVEL

         18 A5            50     7D  002A 25400 30$:	MOVQ	R0,TQE$Q_TIME(R5)	;SET ABSOLUTE DUE TIME

            53       0000'CF     DE  002E 25500 	MOVAL	W^EXE$GL_TQFL,R3	;GET ADDRESS OF TIME QUEUE LISTHEAD

            52            53     D0  0033 25600 	MOVL	R3,R2			;COPY ADDRESS OF TIME QUEUE LISTHEAD

            52         04 A2     D0  0036 25700 40$:	MOVL	TQE$L_TQBL(R2),R2	;GET ADDRESS OF NEXT ENTRY

            52            53     D1  003A 25800 	CMPL	R3,R2			;END OF QUEUE?

                          0E     13  003D 25900 	BEQL	50$			;IF EQL YES

         1C A2            51     D1  003F 26000 	CMPL	R1,TQE$Q_TIME+4(R2)	;COMPARE HIGH ORDER PARTS OF TIME

                          F1     1F  0043 26100 	BLSSU	40$			;IF LSSU NEW ENTRY MORE IMMINENT

                          06     1A  0045 26200 	BGTRU	50$			;IF GTRU NEW ENTRY LESS IMMINENT

         18 A2            50     D1  0047 26300 	CMPL	R0,TQE$Q_TIME(R2)	;COMPARE LOW ORDER PART OF TIME

                          E9     1F  004B 26400 	BLSSU	40$			;IF LSSU NEW ENTRY MORE IMMINENT

            62            65     0E  004D 26500 50$:	INSQUE	TQE$L_TQFL(R5),TQE$L_TQFL(R2) ;INSERT NEW ENTRY IN TIME QUEUE

                                     0050 26600 	ENBINT				;ENABLE SOFTWARE INTERRUPTS

                                 05  0053 26700 	RSB				;

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   8

01              MAXIMIZE ACCESS MODE                                                                                             (1)



                                     0054 26900 	.SBTTL	MAXIMIZE ACCESS MODE

                                     0054 27000 ;+

                                     0054 27100 ; EXE$MAXACMODE - MAXIMIZE ACCESS MODE

                                     0054 27200 ;

                                     0054 27300 ; THIS ROUTINE IS CALLED TO MAXIMIZE A SPECIFIED ACCESS MODE WITH THE PREVIOUS

                                     0054 27400 ; MODE FIELD OF THE CURRENT PSL.

                                     0054 27500 ;

                                     0054 27600 ; INPUTS:

                                     0054 27700 ;

                                     0054 27800 ;	R0 = ACCESS MODE TO MAXIMIZE WITH PREVIOUS MODE FIELD OF PSL.

                                     0054 27900 ;

                                     0054 28000 ; OUTPUTS:

                                     0054 28100 ;

                                     0054 28200 ;	THE SPECIFIED ACCESS MODE IS MAXIMIZED WITH THE PREVIOUS MODE FIELD

                                     0054 28300 ;	OF THE CURRENT PSL AND RETURNED IN REGISTER R0.

                                     0054 28400 ;

                                     0054 28500 ;	REGISTERS R2 AND R3 ARE PRESERVED ACROSS CALL.

                                     0054 28600 ;-

                                     0054 28700  

                                 0000005C 28800 	.PSECT	Y$EXEPAGED

                                     005C 28900 EXE$MAXACMODE::				;MAXIMIZE ACCESS MODE

                          51     DC  005C 29000 	MOVPSL	R1			;READ CURRENT PSL

            02            16     ED  005E 29100 	CMPZV	#PSL$V_PRVMOD,#PSL$S_PRVMOD,R1,R0 ;COMPARE WITH PREVIOUS MODE

            50            51         0061       

                          05     15  0063 29200 	BLEQ	10$			;IF LEQ SPECIFIED ACCESS MODE LESS PRIVILEGED

            02            16     EF  0065 29300 	EXTZV	#PSL$V_PRVMOD,#PSL$S_PRVMOD,R1,R0 ;EXTRACT PREVIOUS MODE FIELD

            50            51         0068       

                                 05  006A 29400 10$:	RSB				;

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page   9

01              REMOVE ENTRY FROM TIME DEPENDENT SCHEDULER QUEU                                                                  (1)



                                     006B 29600 	.SBTTL	REMOVE ENTRY FROM TIME DEPENDENT SCHEDULER QUEUE

                                     006B 29700 ;+

                                     006B 29800 ; EXE$RMVTIMQ - REMOVE ENTRY FROM TIME DEPENDENT SCHEDULER QUEUE

                                     006B 29900 ;

                                     006B 30000 ; THIS ROUTINE IS CALLED TO REMOVE ONE OR MORE ENTRIES FROM THE TIME

                                     006B 30100 ; DEPENDENT SCHEDULER QUEUE. ENTRIES ARE REMOVED BY TYPE, ACCESS MODE,

                                     006B 30200 ; REQUEST IDENTIFICATION, AND PROCESS ID.

                                     006B 30300 ;

                                     006B 30400 ; INPUTS:

                                     006B 30500 ;

                                     006B 30600 ;	R2 = ACCESS MODE (ALL EQUAL AND HIGHER ACCESS MODES).

                                     006B 30700 ;	R3 = REQUEST IDENTIFICATION (ZERO IMPLIES ALL).

                                     006B 30800 ;	R4 = TYPE OF ENTRY TO REMOVE (ALL SINGLE AND REPEAT ENTRIES).

                                     006B 30900 ;	R5 = PROCESS ID OF PROCESS TO REMOVE ENTRIES FOR.

                                     006B 31000 ;

                                     006B 31100 ;	IF SYSTEM SUBROUTINE OR WAKE REQUESTS ARE BEING REMOVED, THEN ACCESS

                                     006B 31200 ;	MODE AND REQUEST IDENTIFICATION ARE NOT USED AND NEED NOT BE SUPPLIED

                                     006B 31300 ;	IN THE CALLING SEQUENCE.

                                     006B 31400 ;

                                     006B 31500 ; OUTPUTS:

                                     006B 31600 ;

                                     006B 31700 ;	ALL ENTRIES OF THE SPECIFIED TYPE ARE REMOVED FROM THE TIME 

                                     006B 31800 ;	DEPENDENT SCHEDULER QUEUE.

                                     006B 31900 ;-

                                     006B 32000  

                                 00000054 32100 	.PSECT

                                     0054 32200 EXE$RMVTIMQ::				;REMOVE ENTRY FROM TIME QUEUE

            7E            12     DB  0054 32300 	MFPR	#PR$_IPL,-(SP)		;READ CURRENT PRIORITY

            6E            07     D1  0057 32400 	CMPL	#IPL$_TIMER,(SP)	;TIMER IPL GREATER THAN CURRENT IPL?

                          03     15  005A 32500 	BLEQ	10$			;IF LEQ NO

                                     005C 32600 	SETIPL	#IPL$_TIMER		;RAISE IPL TO TIMER LEVEL

            50       0000'CF     DE  005F 32700 10$:	MOVAL	W^EXE$GL_TQFL,R0	;GET ADDRESS OF TIMER QUEUE LISTHEAD

            51            50     D0  0064 32800 	MOVL	R0,R1			;COPY LISTHEAD ADDRESS

            51            61     D0  0067 32900 20$:	MOVL	TQE$L_TQFL(R1),R1	;GET ADDRESS OF NEXT ENTRY

            50            51     D1  006A 33000 	CMPL	R1,R0			;END OF QUEUE?

                          5C     13  006D 33100 	BEQL	80$			;IF EQL YES

            02            00     ED  006F 33200 	CMPZV	#0,#2,TQE$B_RQTYPE(R1),R4 ;REQUEST TYPE MATCH?

            54         0B A1         0072       

                          F0     12  0075 33300 	BNEQ	20$			;IF NEQ NO

         0C A1            55     D1  0077 33400 	CMPL	R5,TQE$L_PID(R1) 	;PROCESS ID MATCH?

                          EA     12  007B 33500 	BNEQ	20$			;IF NEQ NO

            54            00     91  007D 33600 	CMPB	#TQE$C_TMSNGL,R4	;SYSTEM SUBROUTINE OR CANCEL WAKE?

                          12     12  0080 33700 	BNEQ	40$			;IF NEQ YES - SKIP ID-ACCESS TEST

                          53     D5  0082 33800 	TSTL	R3			;ALL REQUEST ID'S MATCH?

                          06     13  0084 33900 	BEQL	30$			;IF EQL YES

         14 A1            53     D1  0086 34000 	CMPL	R3,TQE$L_ASTPRM(R1)	;REQUEST IDENTIFICATION MATCH?

                          DB     12  008A 34100 	BNEQ	20$			;IF NEQ NO

            02            00     ED  008C 34200 30$:	CMPZV	#0,#2,TQE$B_RMOD(R1),R2	;REQUEST MODE LESS THAN SPECIFIED MODE?

            52         28 A1         008F       

                          D3     19  0092 34300 	BLSS	20$			;IF LSS YES

                          0C     BB  0094 34400 40$:	PUSHR	#^M<R2,R3>		;SAVE REGISTERS R2 AND R3

                       04 A1     DD  0096 34500 	PUSHL	TQE$L_TQBL(R1)		;SAVE BACKWARD LINK OF ENTRY

                          50     DD  0099 34600 	PUSHL	R0			;SAVE REGISTER R0

            50            61     0F  009B 34700 	REMQUE	TQE$L_TQFL(R1),R0	;REMOVE ENTRY FROM QUEUE

            54            01     91  009E 34800 	CMPB	#TQE$C_SSSNGL,R4	;CANCEL SYSTEM SUBROUTINE?

                          24     13  00A1 34900 	BEQL	70$			;IF EQL YES

            51         2C A0     3C  00A3 35000 	MOVZWL	TQE$L_RQPID(R0),R1	;GET PROCESS INDEX

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page  10

01              REMOVE ENTRY FROM TIME DEPENDENT SCHEDULER QUEU                                                                  (1)



            51       0000'CF41   D0  00A7 35100 	MOVL	W^SCH$AL_PCB[R1],R1	;GET ADDRESS OF PROCESS PCB

         60 A1         2C A0     D1  00AD 35200 	CMPL	TQE$L_RQPID(R0),PCB$L_PID(R1) ;PROCESS ID MATCH?

                          10     12  00B2 35300 	BNEQ	60$			;IF NEQ NO

            54            02     91  00B4 35400 	CMPB	#TQE$C_WKSNGL,R4	;CANCEL WAKE UP REQUEST?

                          08     13  00B7 35500 	BEQL	50$			;IF EQL YES

                       4A A1     B6  00B9 35600 	INCW	PCB$W_TQCNT(R1)		;UPDATE AVAILABLE TIME QUEUE ENTRIES

         28 A0            06     E1  00BC 35700 	BBC	#ACB$V_QUOTA,TQE$B_RMOD(R0),60$ ;IF CLR, NO AST SPECIFIED

                          03         00C0       

                       3C A1     B6  00C1 35800 50$:	INCW	PCB$W_ASTCNT(R1)	;UPDATE AVAILABLE AST QUEUE ENTRIES

                          FF39'  30  00C4 35900 60$:	BSBW	EXE$DEANONPAGED		;DEALLOCATE TIME QUEUE ENTRY

                          0F     BA  00C7 36000 70$:	POPR	#^M<R0,R1,R2,R3>	;RESTORE REGISTERS R0, R1, R2, AND R3

                          9C     11  00C9 36100 	BRB	20$			;

                                     00CB 36200 80$:	ENBINT				;ENABLE SOFTWARE INTERRUPTS

                                 05  00CE 36300 	RSB				;

                                     00CF 36400  

                                     00CF 36500 	.END

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



ACB$B_RMOD       0000000B            PCB$L_EFWM       0000004C            PR$_ICCS       = 00000018            

ACB$B_TYPE       0000000A            PCB$L_OWNER      0000001C            PR$_ICR        = 0000001A            

ACB$L_AST        00000010            PCB$L_PHD        00000064            PR$_IPL        = 00000012            

ACB$L_ASTPRM     00000014            PCB$L_PHYPCB     00000018            PR$_ISP        = 00000004            

ACB$L_ASTQBL     00000004            PCB$L_PID        00000060            PR$_KSP        = 00000000            

ACB$L_ASTQFL     00000000            PCB$L_PQB        0000004C            PR$_MAPEN      = 00000038            

ACB$L_KAST       00000018            PCB$L_SQBL       00000004            PR$_NICR       = 00000019            

ACB$L_PID        0000000C            PCB$L_SQFL       00000000            PR$_P0BR       = 00000008            

ACB$M_QUOTA    = 00000040            PCB$L_STS        00000028            PR$_P0LR       = 00000009            

ACB$S_MODE     = 00000002            PCB$L_UIC        00000020            PR$_P1BR       = 0000000A            

ACB$V_KAST     = 00000007            PCB$L_WSSWP      00000024            PR$_P1LR       = 0000000B            

ACB$V_MODE     = 00000000            PCB$L_WTIME      0000002C            PR$_PCBB       = 00000010            

ACB$V_QUOTA    = 00000006            PCB$T_LNAME      0000006C            PR$_RXCS       = 00000020            

ACB$W_SIZE       00000008            PCB$V_ASTPEN   = 00000011            PR$_RXDB       = 00000021            

BIT...         = 00000003            PCB$V_BATCH    = 0000000E            PR$_SBIER      = 00000034            

EXE$BUFFRQUOTA   00000000 RG    03   PCB$V_DELPEN   = 00000001            PR$_SBIFS      = 00000030            

EXE$CHKCREACCES  0000003A RG    04   PCB$V_FORCPEN  = 00000002            PR$_SBIMT      = 00000033            

EXE$CHKDELACCES  00000033 RG    04   PCB$V_HIBER    = 00000013            PR$_SBIQC      = 00000036            

EXE$CHKLOGACCES  00000033 RG    04   PCB$V_INQUAN   = 00000003            PR$_SBIS       = 00000031            

EXE$CHKPHYACCES  0000003A RG    04   PCB$V_LOGIN    = 00000014            PR$_SBISC      = 00000032            

EXE$CHKRDACCES   00000041 RG    04   PCB$V_NOACNT   = 0000000F            PR$_SBITA      = 00000035            

EXE$CHKWRTACCES  00000048 RG    04   PCB$V_PHDRES   = 00000012            PR$_SBR        = 0000000C            

EXE$DEANONPAGED  ********   X   01   PCB$V_PSWAPM   = 00000004            PR$_SCBB       = 00000011            

EXE$GETACCESS    00000000 RG    04   PCB$V_RES      = 00000000            PR$_SID        = 0000003E            

EXE$GL_SYSUIC    ********   X   04   PCB$V_RESPEN   = 00000005            PR$_SIRR       = 00000014            

EXE$GL_TQFL      ********   X   01   PCB$V_SSFEXC   = 00000006            PR$_SISR       = 00000015            

EXE$GQ_SYSTIME   ********   X   01   PCB$V_SSFEXCE  = 00000007            PR$_SLR        = 0000000D            

EXE$INSTIMQ      00000000 RG    01   PCB$V_SSFEXCS  = 00000008            PR$_SSP        = 00000002            

EXE$MAXACMODE    0000005C RG    04   PCB$V_SSFEXCU  = 00000009            PR$_TBIA       = 00000039            

EXE$MULTIQUOTA   00000018 RG    03   PCB$V_SSRWAIT  = 0000000A            PR$_TBIS       = 0000003A            

EXE$RMVTIMQ      00000054 RG    01   PCB$V_SUSPEN   = 0000000B            PR$_TODR       = 0000001B            

EXE$SNGLEQUOTA   00000015 RG    03   PCB$V_SWPVBN   = 00000010            PR$_TXCS       = 00000022            

GBL...         = 00000000            PCB$V_WAKEPEN  = 0000000C            PR$_TXDB       = 00000023            

IOC$GW_MAXBUF    ********   X   03   PCB$V_WALL     = 0000000D            PR$_USP        = 00000003            

IPL$_ASTDEL    = 00000002            PCB$W_APTCNT     00000034            PR$_WCSA       = 0000002C            

IPL$_HWCLK     = 00000018            PCB$W_ASTCNT     0000003C            PR$_WCSD       = 0000002D            

IPL$_IOPOST    = 00000004            PCB$W_BIOCNT     0000003E            PSL$C_EXEC     = 00000001            

IPL$_MAILBOX   = 0000000B            PCB$W_BIOLM      00000040            PSL$C_KERNEL   = 00000000            

IPL$_POWER     = 0000001F            PCB$W_BYTCNT     00000042            PSL$C_SUPER    = 00000002            

IPL$_QUEUEAST  = 00000006            PCB$W_BYTLM      00000068            PSL$C_USER     = 00000003            

IPL$_SCHED     = 00000003            PCB$W_DIOCNT     00000044            PSL$M_CM       = 80000000            

IPL$_SYNCH     = 00000007            PCB$W_DIOLM      00000046            PSL$M_CURMOD   = 03000000            

IPL$_TIMER     = 00000007            PCB$W_FILCNT     00000048            PSL$M_DV       = 00000080            

PCB$B_ASTACT     0000000C            PCB$W_GPGCNT     00000038            PSL$M_FPD      = 08000000            

PCB$B_ASTEN      0000000D            PCB$W_GRP        00000022            PSL$M_FU       = 00000040            

PCB$B_PRI        0000000B            PCB$W_MEM        00000020            PSL$M_IPL      = 001F0000            

PCB$B_PRIB       00000033            PCB$W_MTXCNT     0000000E            PSL$M_IS       = 04000000            

PCB$B_TYPE       0000000A            PCB$W_PPGCNT     0000003A            PSL$M_IV       = 00000020            

PCB$B_WEFC       00000032            PCB$W_PRCCNT     0000006A            PSL$M_PRVMOD   = 00C00000            

PCB$C_LENGTH     0000007C            PCB$W_SIZE       00000008            PSL$M_SAFBITS  = 000037FF            

PCB$K_LENGTH     0000007C            PCB$W_STATE      00000030            PSL$M_TBIT     = 00000010            

PCB$L_ASTQBL     00000014            PCB$W_TMBU       00000036            PSL$M_TP       = 40000000            

PCB$L_ASTQFL     00000010            PCB$W_TQCNT      0000004A            PSL$S_CURMOD   = 00000002            

PCB$L_EFC2P      00000058            PR$_ACCR       = 00000029            PSL$S_IPL      = 00000005            

PCB$L_EFC3P      0000005C            PR$_ACCS       = 00000028            PSL$S_PRVMOD   = 00000002            

PCB$L_EFCS       00000050            PR$_ASTLVL     = 00000013            PSL$V_CM       = 0000001F            

PCB$L_EFCU       00000054            PR$_ESP        = 00000001            PSL$V_CURMOD   = 00000018            

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (1)



PSL$V_DV       = 00000007            SS$_DEVICEFULL = 00000850            SS$_IVLOGTAB   = 0000015C            

PSL$V_FPD      = 0000001B            SS$_DEVMOUNT   = 0000006C            SS$_IVPROTECT  = 000002F4            

PSL$V_FU       = 00000006            SS$_DEVNOTALLOC= 00000858            SS$_IVQUOTAL   = 00000164            

PSL$V_IPL      = 00000010            SS$_DEVNOTMBX  = 00000074            SS$_IVSECFLG   = 0000016C            

PSL$V_IS       = 0000001A            SS$_DEVNOTMOUNT= 0000007C            SS$_IVSECIDCTL = 000002E4            

PSL$V_IV       = 00000005            SS$_DEVOFFLINE = 00000084            SS$_IVSSRQ     = 00000174            

PSL$V_PRVMOD   = 00000016            SS$_DIRFULL    = 00000860            SS$_IVSTSFLG   = 0000017C            

PSL$V_TBIT     = 00000004            SS$_DRVERR     = 0000008C            SS$_IVTIME     = 00000184            

PSL$V_TP       = 0000001E            SS$_DUPFILENAME= 00000868            SS$_LENVIO     = 0000018C            

RSN$_ASTWAIT   = 00000001            SS$_DUPLNAM    = 00000094            SS$_LKWSETFUL  = 00000194            

RSN$_BRKTHRU   = 00000006            SS$_ENDOFFILE  = 00000870            SS$_MBFULL     = 000008D8            

RSN$_MAILBOX   = 00000002            SS$_ENDOFTAPE  = 00000878            SS$_MBTOOSML   = 0000019C            

RSN$_NPDYNMEM  = 00000003            SS$_ENDOFUSRLBL= 00000970            SS$_MCHECK     = 000002BC            

RSN$_PGDYNMEM  = 00000005            SS$_EXQUOTA    = 0000001C            SS$_MEDOFL     = 000001A4            

RSN$_PGFILE    = 00000004            SS$_EXTIDXFILE = 00000880            SS$_MSGNOTFND  = 00000621            

SCH$AL_PCB       ********   X   01   SS$_FCPREADERR = 00000888            SS$_MUSTCLOSEFL= 00000948            

SCH$RWAIT        ********   X   03   SS$_FCPREPSTN  = 00000988            SS$_NODATA     = 000001AC            

SS$_ABORT      = 0000002C            SS$_FCPREWNDERR= 00000890            SS$_NOHANDLER  = 000008F8            

SS$_ACCONFLICT = 00000800            SS$_FCPSPACERR = 00000898            SS$_NOHOMEBLK  = 000008E0            

SS$_ACCVIO     = 0000000C            SS$_FCPWRITERR = 000008A0            SS$_NOIOCHAN   = 000001B4            

SS$_ARITH      = 00000404            SS$_FILACCERR  = 0000009C            SS$_NOLINKS    = 0000027C            

SS$_ASTFLT     = 0000040C            SS$_FILALRACC  = 000000A4            SS$_NOLOGNAM   = 000001BC            

SS$_BADATTRIB  = 00000034            SS$_FILELOCKED = 000008A8            SS$_NOMBX      = 00000274            

SS$_BADCHKSUM  = 00000808            SS$_FILENUMCHK = 000008B0            SS$_NOMOREFILES= 00000930            

SS$_BADESCAPE  = 0000003C            SS$_FILESEQCHK = 000008B8            SS$_NONEXDRV   = 000001C4            

SS$_BADFILEHDR = 00000810            SS$_FILESTRUCT = 000008C0            SS$_NONEXPR    = 000008E8            

SS$_BADFILENAME= 00000818            SS$_FILNOTACC  = 000000AC            SS$_NONLOCAL   = 000008F0            

SS$_BADFILEVER = 00000820            SS$_FILNOTCNTG = 000002AC            SS$_NOPRIV     = 00000024            

SS$_BADIMGHDR  = 00000044            SS$_FILNOTEXP  = 000000B4            SS$_NORMAL     = 00000001            

SS$_BADIRECTORY= 00000828            SS$_FORMAT     = 000000BC            SS$_NOSIGNAL   = 00000900            

SS$_BADPARAM   = 00000014            SS$_GPTFULL    = 000000C4            SS$_NOSOLICIT  = 00000284            

SS$_BADSTACK   = 000002B4            SS$_GSDFULL    = 000000CC            SS$_NOSUCHDEV  = 00000908            

SS$_BEGOFFILE  = 00000938            SS$_GSDNOTXXX  = 000000D4            SS$_NOSUCHFILE = 00000910            

SS$_BLOCKCNTERR= 00000940            SS$_HANGUP     = 000002CC            SS$_NOSUCHNODE = 0000028C            

SS$_BREAK      = 00000414            SS$_HEADERFULL = 000008C8            SS$_NOSUCHSEC  = 00000978            

SS$_BUFFEROVF  = 00000601            SS$_IDXFILEFULL= 000008D0            SS$_NOTAPEOP   = 00000264            

SS$_BUGCHECK   = 000002A4            SS$_ILLBLKNUM  = 000000DC            SS$_NOTFILEDEV = 000001CC            

SS$_CANCEL     = 00000830            SS$_ILLCNTRFUNC= 000000E4            SS$_NOTINTBLSZ = 000001D4            

SS$_CHANINTLK  = 0000004C            SS$_ILLEFC     = 000000EC            SS$_NOTLABELMT = 000001DC            

SS$_CLIFRCEXT  = 00000980            SS$_ILLIOFUNC  = 000000F4            SS$_NOTNETDEV  = 000002EC            

SS$_CMODSUPR   = 0000041C            SS$_ILLLBLAST  = 00000968            SS$_NOTRAN     = 00000629            

SS$_CMODUSER   = 00000424            SS$_ILLPAGCNT  = 000000FC            SS$_NOTSQDEV   = 000001E4            

SS$_COMPAT     = 0000042C            SS$_ILLSEQOP   = 000002DC            SS$_OPCCUS     = 00000434            

SS$_CONTINUE   = 00000001            SS$_ILLSER     = 00000104            SS$_OPCDEC     = 0000043C            

SS$_CONTROLC   = 00000651            SS$_ILLUSRLBLRD= 00000958            SS$_OPINCOMPL  = 000002D4            

SS$_CONTROLO   = 00000609            SS$_ILLUSRLBLWT= 00000960            SS$_PAGOWNVIO  = 000001EC            

SS$_CONTROLY   = 00000611            SS$_INCVOLLABEL= 0000010C            SS$_PAGRDERR   = 00000444            

SS$_CREATED    = 00000619            SS$_INSFARG    = 00000114            SS$_PARITY     = 000001F4            

SS$_CTRLERR    = 00000054            SS$_INSFMEM    = 00000124            SS$_PARTESCAPE = 000001FC            

SS$_DATACHECK  = 0000005C            SS$_INSFRAME   = 0000012C            SS$_PFMBSY     = 00000204            

SS$_DATAOVERUN = 00000838            SS$_INSFWSL    = 0000011C            SS$_PSTFULL    = 0000020C            

SS$_DEBUG      = 0000046C            SS$_IVADDR     = 00000134            SS$_RADRMOD    = 0000044C            

SS$_DEVACTIVE  = 000002C4            SS$_IVCHAN     = 0000013C            SS$_REJECT     = 00000294            

SS$_DEVALLOC   = 00000840            SS$_IVCHNLSEC  = 0000026C            SS$_REMOTE     = 00000649            

SS$_DEVALRALLOC= 00000641            SS$_IVDEVNAM   = 00000144            SS$_RESIGNAL   = 00000918            

SS$_DEVASSIGN  = 00000848            SS$_IVGSDNAM   = 0000014C            SS$_RESULTOVF  = 00000214            

SS$_DEVFOREIGN = 00000064            SS$_IVLOGNAM   = 00000154            SS$_ROPRAND    = 00000454            

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



SS$_SECTBLFUL  = 0000021C            

SS$_SSFAIL     = 0000045C            

SS$_SUPERSEDE  = 00000631            

SS$_TAPEPOSLOST= 00000224            

SS$_TBIT       = 00000464            

SS$_TIMEOUT    = 0000022C            

SS$_TOOMANYVER = 00000990            

SS$_TOOMUCHDATA= 0000029C            

SS$_UNASEFC    = 00000234            

SS$_UNSAFE     = 0000023C            

SS$_UNWIND     = 00000920            

SS$_UNWINDING  = 00000928            

SS$_VASFULL    = 00000244            

SS$_VECINUSE   = 0000024C            

SS$_VOLINV     = 00000254            

SS$_WAITUSRLBL = 00000950            

SS$_WASCLR     = 00000001            

SS$_WASECC     = 00000639            

SS$_WASSET     = 00000009            

SS$_WRITLCK    = 0000025C            

TQE$B_EFN        00000029            

TQE$B_RMOD       00000028            

TQE$B_RQTYPE     0000000B            

TQE$B_TYPE       0000000A            

TQE$C_LENGTH     00000030            

TQE$C_SSREPT   = 00000005            

TQE$C_SSSNGL   = 00000001            

TQE$C_TMSNGL   = 00000000            

TQE$C_WKREPT   = 00000006            

TQE$C_WKSNGL   = 00000002            

TQE$K_LENGTH     00000030            

TQE$L_AST        00000010            

TQE$L_ASTPRM     00000014            

TQE$L_FPC        0000000C            

TQE$L_FR3        00000010            

TQE$L_FR4        00000014            

TQE$L_PID        0000000C            

TQE$L_RQPID      0000002C            

TQE$L_TQBL       00000004            

TQE$L_TQFL       00000000            

TQE$M_REPEAT   = 00000004            

TQE$Q_DELTA      00000020            

TQE$Q_TIME       00000018            

TQE$V_REPEAT   = 00000002            

TQE$W_SIZE       00000008            





PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        000000CF      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            0000007C      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

AEXENONPAGED     00000041      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

Y$EXEPAGED       0000006B      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

EXSUBROUT       - EXECUTIVE SUPPORT SUBROUTINES                  21-AUG-1978 23:27:15   VAX-11 MACRO X0.3-11               Page  14

PROGRAM SECTION SYNOPSIS                                                                                                         (1)



14418. BYTES LEFT IN FREE MEMORY POOL.

3068. BYTES OF RECLAIMED MEMORY.

OBJ$:EXSUBROUT,LIS$:EXSUBROUT/-SP=LIB$:LIB/ML,SRC$:EXSUBROUT

7 MLB DIR RDS - 631 GETS TO DEFINE 20 MACROS. 47 INTER. FILE WRITES. 

