SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)     100  DECLARATIONS

   (3)     100  SETPRT - SET PROTECTION FOR RANGE OF PAGES

   (4)     100  SETPRTPAG - SET PROTECTION FOR A SINGLE PAGE

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   1

X0100                                                                                                                            (1)



                                     0000   100 	.TITLE	SYSSETPRT - Set Page Protection System Service

                                     0000   200 	.IDENT	/X0100/

                                     0000   300 ;

                                     0000   400 ; COPYRIGHT (C) 1978

                                     0000   500 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000   600 ;

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

                                     0000   800 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000   900 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000  1000 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000  1100 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000  1200 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000  1300 ; REMAIN IN DEC.

                                     0000  1400 ;

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

                                     0000  1600 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000  1700 ; CORPORATION.

                                     0000  1800 ;

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

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

                                     0000  2100 

                                     0000  2200 ;++

                                     0000  2300 ; FACILITY:

                                     0000  2400 ;

                                     0000  2500 ; ABSTRACT:

                                     0000  2600 ;

                                     0000  2700 ; ENVIRONMENT:

                                     0000  2800 ;

                                     0000  2900 ; AUTHOR: PETER H. LIPMAN	, CREATION DATE: 24-APR-78

                                     0000  3000 ;

                                     0000  3100 ; MODIFIED BY:

                                     0000  3200 ;

                                     0000  3300 ;	, : VERSION

                                     0000  3400 ; 01	- 

                                     0000  3500 ;--

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   2

X0100           DECLARATIONS                                                                                                     (2)



                                     0000   100 	.SBTTL	DECLARATIONS

                                     0000   200 ;

                                     0000   300 ; INCLUDE FILES:

                                     0000   400 ;

                                     0000   420 	$PFNDEF				;PAGE FRAME NUMBER DATA BASE

                                     0000   430 	$PHDDEF				;PROCESS HEADER DEFINITIONS

                                     0000   440 	$PRDEF				;PROCESSOR REGISTER DEFINTIONS

                                     0000   450 	$PRTDEF				;PROTECTION CODE DEFINITIONS

                                     0000   460 	$PTEDEF				;PAGE TABLE ENTRY DEFINITIONS

                                     0000   480 	$SSDEF				;SYSTEM STATUS CODE DEFINTIONS

                                     0000  2200 ;

                                     0000  2300 ; EXTERNAL SYMBOLS:

                                     0000  2400 ;

                                     0000  2500 ;

                                     0000  2600 ; MACROS:

                                     0000  2700 ;

                                     0000  2800 ;

                                     0000  2900 ; EQUATED SYMBOLS:

                                     0000  3000 ;

                                     0000  3100 ; OFFSET FROM AP

                                     0000  3200 ;

                           00000004  0000  3300 	INADR		= 4		;OFFSET TO INPUT RANGE

                           00000008  0000  3500 	RETADR		= 8		;OFFSET TO RETURN RANGE

                           0000000C  0000  3600 	ACMODE		= 12		;ACCESS MODE

                           00000010  0000  3800 	PROT		= 16		;NEW PROTECTION

                           00000014  0000  4000 	PRVPRT		= 20		;PREVIOUS PROTECTION ADDRESS

                                     0000  5700 ;

                                     0000  5800 ; OWN STORAGE:

                                     0000  5900 ;

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   3

X0100           SETPRT - SET PROTECTION FOR RANGE OF PAGES                                                                       (3)



                                     0000   100 	.SBTTL	SETPRT - SET PROTECTION FOR RANGE OF PAGES

                                     0000   200 ;++

                                     0000   300 ; FUNCTIONAL DESCRIPTION:

                                     0000   400 ;

                                     0000   500 ;	THE SET PROTECTION SYSTEM SERVICE SETS THE PROTECTION FOR

                                     0000   600 ;	THE SPECIFIED RANGE OF PAGES CHECKING THAT THE SPECIFIED MODE

                                     0000   700 ;	IS AT LEAST AS PRIVILEGED AS THE OWNER OF THE PAGE.

                                     0000   800 ;

                                     0000   900 ; CALLING SEQUENCE:

                                     0000  1000 ;

                                     0000  1100 ;	CALLG	ARGLIST,@#SYS$SETPRT

                                     0000  1200 ;

                                     0000  1300 ; INPUT PARAMETERS:

                                     0000  1400 ;

                                     0000  1500 ;	INADR(AP) = ADDRESS OF 2 LONG WORDS THE 1ST OF WHICH SPECIFIES

                                     0000  1600 ;		THE STARTING VIRTUAL ADDRESS TO CREATE, THE 2ND SPECIFIES

                                     0000  1700 ;		THE ENDING VIRTUAL ADDRESS TO CREATE (INCLUSIVE).

                                     0000  1800 ;	RETADR(AP) = ADDRESS OF A 2 LONGWORD ARRAY INTO WHICH IS RETURNED

                                     0000  1900 ;		THE STARTING AND ENDING VIRTUAL ADDRESSES (INCLUSIVE)

                                     0000  2000 ;		OF THE PAGES JUST CREATED

                                     0000  2100 ;	ACMODE(AP) = THE ACCESS MODE (MAXIMIZED WITH CALLING MODE)

                                     0000  2200 ;		ON BEHALF OF WHICH THE CHANGE PROTECTION IS TO BE DONE

                                     0000  2300 ;		THIS MODE MUST BE AT LEAST AS PRIVILEGED AS THE MODE

                                     0000  2400 ;		OF THE PAGE OWNER.

                                     0000  2500 ;	PROT(AP)   = THE NEW PROTECTION FOR THE PAGE(S) SPECIFIED IN

                                     0000  2600 ;		THE LOW 4 BITS OF THE PARAMETER IN THE HARDWARE FORMAT.

                                     0000  2700 ;		THE REMAINING BITS ARE IGNORED.

                                     0000  2800 ;	PRVPRT(AP) = THE ADDRESS TO RETURN THE PREVIOUS PROTECTION

                                     0000  2900 ;		OF THE LAST (ONLY) PAGE CHANGED.

                                     0000  3000 ;

                                     0000  3100 ; IMPLICIT INPUTS:

                                     0000  3200 ;

                                     0000  3300 ;	CURRENT PCB LOCATED VIA SCH$GL_CURPCB

                                     0000  3400 ;	PROCESS HEADER AS SPECIFIED IN PCB$L_PHD OF THE PCB

                                     0000  3500 ;

                                     0000  3600 ; OUTPUT PARAMETERS:

                                     0000  3700 ;

                                     0000  3800 ;	R0 = SYSTEM STATUS CODE

                                     0000  3900 ;

                                     0000  4000 ; IMPLICIT OUTPUTS:

                                     0000  4100 ;

                                     0000  4200 ;	NONE

                                     0000  4300 ;

                                     0000  4400 ; COMPLETION CODES:

                                     0000  4500 ;

                                     0000  4600 ;	SS$_NORMAL			;SUCCESSFUL COMPLETION

                                     0000  4700 ;	SS$_NOPRIV			;NO PRIV TO CHANGE PROT ON SYS OR GLOBAL PAGE

                                     0000  4800 ;	SS$_PAGOWNVIO			;PAGE OWNER VIOLATION

                                     0000  4900 ;	SS$_LENVIO			;LENGTH VIOLATION

                                     0000  5000 ;	SS$_ACCVIO			;ACCESS VIOLATION

                                     0000  5100 ;					;INPUT RANGE INACCESSIBLE

                                     0000  5200 ;					;RETURN RANGE NOT WRITABLE

                                     0000  5300 ;					;PREVIOUS PROTECTION ADDRESS NOT WRITABLE

                                     0000  5400 ;

                                     0000  5500 ; SIDE EFFECTS:

                                     0000  5600 ;

                                     0000  5700 ;	NONE

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   4

X0100           SETPRT - SET PROTECTION FOR RANGE OF PAGES                                                                       (3)



                                     0000  5800 ;

                                     0000  5900 ;--

                                     0000  6000 

                                     0000  6100 ;

                                     0000  6200 ; **********************************************************************

                                     0000  6300 ;

                                     0000  6400 ; **************** THE FOLLOWING CODE MAY BE PAGED *****************

                                     0000  6500 ;

                                 00000000  6600 	.PSECT	Y$EXEPAGED

                                     0000  6700 ;

                                     0000  6800 ; **********************************************************************

                                     0000  6900 ;

                               03FC' 0000  7000 	.ENTRY	EXE$SETPRT,^M<R2,R3,R4,R5,R6,R7,R8,R9>

                                     0002  7100 

            5E            00'    C2  0002  7200 	SUBL	S^#CDL$C_LENGTH,SP	;RESERVE SCRATCH AREA

            56   00000000'EF     DE  0005  7300 	MOVAL	L^MMG$SETPRTPAG,R6	;R6 = SUBR ADR TO CALL

                                     000C  7320 

                                     000C  7340 	ASSUME	PRT$C_NA EQ 0

                                     000C  7360 	ASSUME	PRT$C_RESERVED EQ 1

            58         10 AC     9A  000C  7380 	MOVZBL	PROT(AP),R8		;GET NEW PROTECTION

            01            58     D1  0010  7400 	CMPL	R8,#PRT$C_RESERVED	;RESERVED OR NO ACCESS?

                          1F     15  0013  7420 	BLEQ	40$			;BRANCH IF YES

            58         F0 8F     93  0015  7440 	BITB	#^C<PTE$M_PROT @ -PTE$V_PROT>,R8 ;BAD PROTECTION CODE?

                          20     12  0019  7460 	BNEQ	50$			;BRANCH IF YES

                          59     D4  001B  8200 10$:	CLRL	R9			;INIT THE RETURN PROTECTION

                          FFE0'  30  001D  8300 	BSBW	MMG$CRECOM1		;COMMON CREATE CODE

            52         14 AC     D0  0020  8400 	MOVL	PRVPRT(AP),R2		;ADDRESS TO RETURN PREVIOUS PROTECTION

                          09     13  0024  8500 	BEQL	20$			;BRANCH IF NONE SPECIFIED

                                     0026  8600 	IFNOWRT	#1,(R2),30$		;BRANCH IF NOT WRITABLE

            62            59     90  002C  8700 	MOVB	R9,(R2)			;RETURN THE PREVIOUS PROTECTION

                                     002F  8800 20$:

                                 04  002F  8900 	RET				;EXIT WITH STATUS FROM CRECOM1

            50            0C     3C  0030  9000 30$:	MOVZWL	#SS$_ACCVIO,R0		;ACCESS VIOLATION

                                 04  0033  9100 	RET

                          05     13  0034  9200 40$:	BEQL	50$			;BRANCH IF RESERVED

                                     0036  9700 ;

                                     0036  9750 ; REQUESTED PROTECTION IS NO ACCESS

                                     0036  9800 ; MUST BE AT LEAST KERNEL READ FOR THE FAULTING LOGIC TO WORK FOR

                                     0036  9900 ; TRANSITION PAGES IN BOTH SETPRTPAG AND DELPAG.

                                     0036 10000 ;

            58            03     D0  0036 10100 	MOVL	#PRT$C_KR,R8		;FORCE AT LEAST KERNEL READ

                          E0     11  0039 10200 	BRB	10$

                                     003B 10300 ;

                                     003B 10400 ; ILLEGAL OR RESERVED PROTECTION CODE SPECIFIED

                                     003B 10500 ;

            50       02F4 8F     3C  003B 10600 50$:	MOVZWL	#SS$_IVPROTECT,R0	;INVALID PROTECTION CODE

                                 04  0040 10700 	RET

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   5

X0100           SETPRTPAG - SET PROTECTION FOR A SINGLE PAGE                                                                     (4)



                                     0041   100 	.SBTTL	SETPRTPAG - SET PROTECTION FOR A SINGLE PAGE

                                     0041   200 ;++

                                     0041   300 ; FUNCTIONAL DESCRIPTION:

                                     0041   400 ;

                                     0041   500 ;

                                     0041   600 ; CALLING SEQUENCE:

                                     0041   700 ;

                                     0041   800 ;	BSBW	MMG$SETPRTPAG

                                     0041   900 ;

                                     0041  1000 ;

                                     0041  1100 ; INPUT PARAMETERS:

                                     0041  1200 ;

                                     0041  1300 ;	R0 = ACCESS MODE FOR PAGE OWNERSHIP CHECK

                                     0041  1400 ;	R2 = VIRTUAL ADDRESS

                                     0041  1500 ;	R4 = CURRENT PCB ADDRESS

                                     0041  1600 ;	R5 = PROCESS HEADER ADDRESS - P1 OR SYSTEM SPACE

                                     0041  1700 ;	R6 = COUNT - 1 OF PAGES TO BE PROCESSED INCLUDING THIS ONE

                                     0041  1800 ;	R7 = +^X200 IF GOING FORWARD IN THE ADDRESS SPACE

                                     0041  1900 ;	   = -^X200 IF GOING BACKWARDS IN THE ADDRESS SPACE

                                     0041  2000 ;	R8 = NEW PROTECTION

                                     0041  2100 ;

                                     0041  2200 ;	IPL = ASTDEL

                                     0041  2300 ;

                                     0041  2400 ; IMPLICIT INPUTS:

                                     0041  2500 ;	NONE

                                     0041  2600 ;

                                     0041  2700 ; OUTPUT PARAMETERS:

                                     0041  2800 ;

                                     0041  2900 ;	R0 = STATUS CODE

                                     0041  3000 ;	R2   PRESERVED

                                     0041  3100 ;

                                     0041  3200 ; IMPLICIT OUTPUTS:

                                     0041  3300 ;	NONE

                                     0041  3400 ;

                                     0041  3500 ; COMPLETION CODES:

                                     0041  3600 ;

                                     0041  3700 ;	SS$_NORMAL			;SUCCESSFUL COMPLETION

                                     0041  3800 ;	SS$_NOPRIV			;NO PRIV TO CHANGE PROT ON SYS OR GLOBAL PAGE

                                     0041  3900 ;	SS$_PAGOWNVIO			;PAGE OWNER VIOLATION

                                     0041  4000 ;	SS$_LENVIO			;LENGTH VIOLATION

                                     0041  4100 ;	SS$_ACCVIO			;ACCESS VIOLATION

                                     0041  4200 ;

                                     0041  4300 ; SIDE EFFECTS:

                                     0041  4400 ;

                                     0041  4500 ;	NONE

                                     0041  4600 ;

                                     0041  4700 ;--

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   6

X0100           SETPRTPAG - SET PROTECTION FOR A SINGLE PAGE                                                                     (5)



                                     0041   100 ;

                                     0041   200 ; **********************************************************************

                                     0041   300 ;

                                     0041   400 ; **************** THE FOLLOWING CODE MUST BE RESIDENT *****************

                                     0041   500 ;

                                 00000000   600 	.PSECT	$MMGCOD

                                     0000   700 ;

                                     0000   800 ; **********************************************************************

                                     0000   900 ;

                                     0000  1000 MMG$SETPRTPAG::

                                     0000  1100 	SAVIPL				;SAVE CALLER'S IPL

                          50     DD  0003  1200 	PUSHL	R0			;SAVE ACCESS MODE

                          FFF8'  30  0005  1300 	BSBW	MMG$PTEREF		;REFERENCE PTE, RETURN SVAPTE

                                     0008  1400 					;RETURN AT IPL=SYNCH

            5C            50     E9  0008  1500 	BLBC	R0,BRPRTPAGRET		;BRANCH IF LENGTH VIOLATION

            51            63     D0  000B  1600 	MOVL	(R3),R1			;FETCH THE PAGE TABLE ENTRY

                          59     13  000E  1700 	BEQL	PRTPAGACCVIO		;BRANCH IF DELETED

            50            6E     D0  0010  1800 	MOVL	(SP),R0			;ACCESS MODE

                          FFEA'  30  0013  1900 	BSBW	MMG$PAGETYPE		;CHECK ACCESS, RETURN PAGE TYPE

            4E            50     E9  0016  2000 	BLBC	R0,BRPRTPAGRET		;BRANCH IF PAGE OWNER VIOLATION

                                     0019  2100 ;

                                     0019  2200 ; R1 <0:7> PTE TYPE TO CASE ON (TYP0*2 + TYP1)

                                     0019  2300 ; R2 = VA, R3 = SVAPTE, IPL = SYNCH

                                     0019  2400 ; 0(SP) = ACCESS MODE, 4(SP) = SAVED IPL

                                     0019  2500 ;

            04            1B     EF  0019  2600 	EXTZV	#PTE$V_PROT,#PTE$S_PROT,(R3),R9 ;PREVIOUS PROTECTION

            59            63         001C       

                                     001E  2700 ;

                                     001E  2800 ; THE FOLLOWING CODE SETS BIT 31 OF R8 IF THE REQUESTED PROTECTION

                                     001E  2900 ; CHANGE IS FROM READ ONLY TO READ WRITE, WHICH IN TURN WILL TRIGGER

                                     001E  3000 ; COPY ON REFERENCE LOGIC FOR SECTION TABLE PAGES.

                                     001E  3100 ;

            58            58     9A  001E  3200 	MOVZBL	R8,R8			;RESET BIT 31

                          12     13  0021  3300 	BEQL	50$			;BRANCH IF NEW PROT IS "NO ACCESS"

            02            00     ED  0023  3400 	CMPZV	#0,#2,R8,#3		;IF EITHER OF 2 LOW BITS IS CLEAR

            03            58         0026       

                                     0028  3500 					;THEN NEW PROT ALLOWS WRITE

                          0B     13  0028  3600 	BEQL	50$			;BRANCH IF READ ONLY

                                     002A  3700 ;

                                     002A  3800 ; NEW PROTECTION WILL SET PAGE WRITABLE

                                     002A  3900 ; SEE IF OLD PROTECTION WAS READ ONLY

                                     002A  4000 ;

            02            00     ED  002A  4100 	CMPZV	#0,#2,R9,#3		;IF BOTH LOW BITS WERE SET

            03            59         002D       

                                     002F  4200 					;THEN PAGE WAS READ ONLY

                          04     12  002F  4300 	BNEQ	50$			;BRANCH IF PAGE WAS WRITABLE

            58            1F     E2  0031  4400 	BBSS	#31,R8,50$		;SET BIT INDICATING TRANSITION

                          00         0034       

                                     0035  4500 					;FROM READ ONLY TO WRITABLE

                                     0035  4600 50$:

            15            00     EF  0035  4700 	EXTZV	#PTE$V_PFN,#PTE$S_PFN,(R3),R0 ;R0=PFN IF PTE HAS ONE

            50            63         0038       

                                     003A  4800 	CASE	TYPE=B, SRC=R1, DISPLIST=<- ;DISPATCH ON PTE TYPE

                                     003A  4900 		PRTTRANS,-		;TRANSITION OR DZRO

                                     003A  5000 		PRTPAGFIL,-		;PAGING FILE

                                     003A  5100 		PRTGLOBAL,-		;GLOBAL

                                     003A  5200 		PRTSTX,-		;SECTION TABLE INDEX

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   7

X0100           SETPRTPAG - SET PROTECTION FOR A SINGLE PAGE                                                                     (5)



                                     003A  5300 		PRTVALID-		;VALID PAGE

                                     003A  5400 	>

                                     0048  5500 ;

                                     0048  5600 ; TRANSITION OR DEMAND ZERO PAGE

                                     0048  5700 ; FAULT THIS PAGE TO AVOID HAVING ANY CODE OTHER THAN THE PAGE FAULT

                                     0048  5800 ; UNDERSTAND ALL THE TRANSITION STATES.  THE FAULTING OF DEMAND ZERO

                                     0048  5900 ; PAGES ELIMINATES THE POSSIBILITY OF THE "ZERO PAGE" LOGIC IN THE

                                     0048  6000 ; PAGE FAULT GETTING AN ACCESS VIOLATION.

                                     0048  6100 ;

                                     0048  6200 PRTTRANS:

                          50     D5  0048  6300 	TSTL	R0			;DEMAND ZERO PAGE?

                          07     12  004A  6400 	BNEQ	20$			;BRANCH IF NOT

            02            00     ED  004C  6500 	CMPZV	#0,#2,R8,#3		;NEW PROT ALLOWS WRITING IF

            03            58         004F       

                                     0051  6600 					;EITHER LOW BIT IS 0

                          63     12  0051  6700 	BNEQ	PRTCHANGE		;BRANCH IF PAGE WILL STILL BE WRITABLE

                                     0053  6800 					;CHANGE PROTECTION WITHOUT FAULTING PAGE

                          01     BA  0053  6900 20$:	POPR	#^M<R0>			;R0 = SAVED ACCESS MODE

                                     0055  7000 	ENBINT				;POP AND RESTORE SAVED IPL

                          62     95  0058  7100 	TSTB	(R2)			;FAULT THE PAGE

                          A4     11  005A  7200 	BRB	MMG$SETPRTPAG		;AND RESTART THE SET PROT ROUTINE

                                     005C  7210 ;

                                     005C  7220 ; EXCEEDED PAGE FILE QUOTA

                                     005C  7230 ;

                                     005C  7240 PGFLQUOTA:

                       34 A5     D6  005C  7250 	INCL	PHD$L_PGFLCNT(R5)	;FIX UP THE COUNT

            50            1C     3C  005F  7260 	MOVZWL	#SS$_EXQUOTA,R0		;RETURN "EXCEEDED QUOTA"

                          5D     11  0062  7270 	BRB	PRTPAGRET

                                     0064  7300 ;

                                     0064  7400 ; GLOBAL PAGE

                                     0064  7500 ;

                                     0064  7600 PRTGLOBAL:

                                     0064  7700 PRTNOPRIV:

            50            24     3C  0064  7800 	MOVZWL	#SS$_NOPRIV,R0		;NO PRIVILEGE

                                     0067  7900 BRPRTPAGRET:

                          58     11  0067  8000 	BRB	PRTPAGRET

                                     0069  8100 ;

                                     0069  8200 ; PAGE ALREADY DELETED, CAN'T CHANGE PROTECTION

                                     0069  8300 ;

                                     0069  8400 PRTPAGACCVIO:

            50            0C     3C  0069  8500 	MOVZWL	#SS$_ACCVIO,R0		;ACCESS VIOLATION

                          53     11  006C  8600 	BRB	PRTPAGRET

                                     006E  8700 ;

                                     006E  8800 ; SECTION TABLE PAGE

                                     006E  8900 ;

                                     006E  9000 PRTSTX:

            58            1F     E1  006E  9100 	BBC	#31,R8,PRTCHANGE	;BRANCH IF NO NEED TO COPY ON REF

                          44         0071       

            63            12     E0  0072  9110 	BBS	#PTE$V_WRT,(R3),PRTCHANGE ;BRANCH IF SECTION IS WRITABLE

                          40         0075       

                       34 A5     D7  0076  9120 	DECL	PHD$L_PGFLCNT(R5)	;CHARGE A PAGE FILE PAGE

                          E1     19  0079  9130 	BLSS	PGFLQUOTA		;BRANCH IF OVER QUOTA

            63            10     E3  007B  9200 	BBCS	#PTE$V_CRF,(R3),PRTCHANGE ;FORCE COPY ON REFERENCE

                          37         007E       

                          35     11  007F  9300 	BRB	PRTCHANGE		;AND GO CHANGE THE PROTECTION

                                     0081  9400 ;

                                     0081  9500 ; VALID PAGE

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   8

X0100           SETPRTPAG - SET PROTECTION FOR A SINGLE PAGE                                                                     (5)



                                     0081  9600 ;

                                     0081  9700 PRTVALID:

                                     0081  9800 	ASSUME	PFN$C_PROCESS EQ 0	;PROCESS PAGE TYPE

       0000'DF40          07     93  0081  9900 	BITB	#PFN$M_PAGTYP,@W^PFN$AB_TYPE[R0] ;PROCESS PAGE?

                          DB     12  0087 10000 	BNEQ	PRTNOPRIV		;BRANCH IF NOT

            58            1F     E1  0089 10100 	BBC	#31,R8,PRTCHANGE	;BRANCH IF NO NEED TO COPY ON REF

                          29         008C       

       0000'DF40          09     9C  008D 10200 	ROTL	#<31-PTE$V_TYP0>,@W^PFN$AL_BAK[R0],R1 ;R1<31> = TYP0 BIT

                          51         0093       

                          20     18  0094 10300 	BGEQ	PRTCHANGE		;BRANCH IF ALREADY PAGING FILE ADDRESS

                                     0096 10400 ;

                                     0096 10500 ; CHANGE SECTION ADDRESS TO "NOT YET ALLOCATED" PAGING FILE ADDRESS

                                     0096 10600 ;

            51            1B     E0  0096 10610 	BBS	#<PTE$V_WRT+<31-PTE$V_TYP0>>,R1,PRTCHANGE ;BRANCH IF SECTION WRITABLE

                          1C         0099       

                       34 A5     D7  009A 10620 	DECL	PHD$L_PGFLCNT(R5)	;CHARGE PAGE FILE QUOTA

                          BD     19  009D 10630 	BLSS	PGFLQUOTA		;BRANCH IF OVER QUOTA

                                 EE  009F 10700 	EXTV	#<PTE$V_STX+<31-PTE$V_TYP0>>,- ;GET SECTION INDEX

            10            09         00A0 10800 		#PTE$S_STX,R1,R1		;FROM SHIFTED BACKING STORE ADDRESS

            51            51         00A2       

                          52     DD  00A4 10900 	PUSHL	R2			;SAVE VIRTUAL ADDRESS

                          FF57'  30  00A6 11000 	BSBW	MMG$DECSECREF		;COUNT ONE LESS SECTION REFERENCE

                          04     BA  00A9 11100 	POPR	#^M<R2>			;RESTORE SAVED VIRTUAL ADDRESS

       0000'DF40       1C A5     D0  00AB 11200 	MOVL	PHD$L_PAGFIL(R5),@W^PFN$AL_BAK[R0] ;SET NULL PAGING FILE ADDRESS

                                     00B2 11300 					;SET NULL PAGING FILE ADR

            63            1A     E2  00B2 11400 	BBSS	#PTE$V_MODIFY,(R3),10$	;FORCE MODIFY

                          00         00B5       

                                     00B6 11500 10$:

                                     00B6 11600 ;

                                     00B6 11700 ; PAGE FILE PAGE

                                     00B6 11800 ;

                                     00B6 11900 PRTPAGFIL:

                                     00B6 12000 ;

                                     00B6 12100 ; CHANGE THE PAGE PROTECTION

                                     00B6 12200 ;

                                     00B6 12300 PRTCHANGE:

            1B            58     F0  00B6 12400 	INSV	R8,#PTE$V_PROT,#PTE$S_PROT,(R3) ;SET NEW PROTECTION

            63            04         00B9       

                                     00BB 12500 	INVALID	R2			;AND INVALIDATE THE TRANS BUFFER

            50            01     3C  00BE 12600 	MOVZWL	#SS$_NORMAL,R0		;SUCCESSFUL COMPLETION

                                     00C1 12700 ;

                                     00C1 12800 ; EXIT HERE WITH R0 ALREADY SET

                                     00C1 12900 ; 0(SP) = ACCESS MODE, 4(SP) = IPL TO RESTORE, 8(SP) = SAVED PSL

                                     00C1 13000 ;

                                     00C1 13100 PRTPAGRET:

                          02     BA  00C1 13200 	POPR	#^M<R1>			;POP THE SAVED ACCESS MODE

                                     00C3 13300 	ENBINT				;RESTORE CALLER'S IPL

                                 05  00C6 13400 	RSB				;AND RETURN

                                     00C7 13500 

                                     00C7 13600 

                                     00C7 13700 

                                     00C7 13800 	.END

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page   9

SYMBOL TABLE                                                                                                                     (5)



ACMODE         = 0000000C            PHD$B_PGTBPFC    00000039            PHD$W_BAK        00000048            

BIT...         = 00000000            PHD$C_LENGTH     00000118            PHD$W_DFWSCNT    0000001A            

BRPRTPAGRET      00000067 R     04   PHD$C_PHDPAGCTX= 00000008            PHD$W_EMPTPG     000000D8            

CDL$C_LENGTH     ********   X   03   PHD$K_LENGTH     00000118            PHD$W_EXTDYNWS   00000076            

EXE$SETPRT       00000000 RG    03   PHD$L_BIOCNT     00000054            PHD$W_FILLM      00000060            

GBL...         = 00000000            PHD$L_CPULIM     00000058            PHD$W_FLAGS      0000003A            

INADR          = 00000004            PHD$L_CPUTIM     0000003C            PHD$W_PHVINDEX   00000046            

MMG$CRECOM1      ********   X   03   PHD$L_DIOCNT     00000050            PHD$W_PRCLM      00000042            

MMG$DECSECREF    ********   X   04   PHD$L_ESP        0000007C            PHD$W_PST        00000020            

MMG$PAGETYPE     ********   X   04   PHD$L_FREP0VA    00000028            PHD$W_PSTBASMAX  0000004A            

MMG$PTEREF       ********   X   04   PHD$L_FREP1VA    00000030            PHD$W_PSTFREE    00000026            

MMG$SETPRTPAG    00000000 RG    04   PHD$L_FREPTECNT  0000002C            PHD$W_PSTLAST    00000024            

PFN$AB_TYPE      ********   X   04   PHD$L_KSP        00000078            PHD$W_PTCNTACT   00000070            

PFN$AL_BAK       ********   X   04   PHD$L_P0BR       000000C8            PHD$W_PTCNTLCK   0000006C            

PFN$C_ACTIVE   = 00000007            PHD$L_P0LRASTL   000000CC            PHD$W_PTCNTMAX   00000072            

PFN$C_BADPAGLST= 00000002            PHD$L_P1BR       000000D0            PHD$W_PTCNTVAL   0000006E            

PFN$C_FREPAGLST= 00000000            PHD$L_P1LR       000000D4            PHD$W_QUANT      00000040            

PFN$C_GBLWRT   = 00000003            PHD$L_PAGEFLTS   0000004C            PHD$W_TQLM       00000062            

PFN$C_GLOBAL   = 00000002            PHD$L_PAGFIL     0000001C            PHD$W_WSAUTH     0000000A            

PFN$C_GPGTBL   = 00000005            PHD$L_PC         000000C0            PHD$W_WSDYN      0000000E            

PFN$C_MFYPAGLST= 00000001            PHD$L_PCB        00000078            PHD$W_WSFLUID    00000074            

PFN$C_PPGTBL   = 00000004            PHD$L_PGFLCNT    00000034            PHD$W_WSLAST     00000012            

PFN$C_PROCESS  = 00000000            PHD$L_PGFLQUOTA  0000005C            PHD$W_WSLIST     00000008            

PFN$C_RDERR    = 00000004            PHD$L_PSL        000000C4            PHD$W_WSLOCK     0000000C            

PFN$C_RDINPROG = 00000006            PHD$L_PSTBASOFF  00000020            PHD$W_WSLX       0000004A            

PFN$C_RELPEND  = 00000003            PHD$L_PTWSLELCK  00000064            PHD$W_WSNEXT     00000010            

PFN$C_SYSTEM   = 00000001            PHD$L_PTWSLEVAL  00000068            PHD$W_WSQUOTA    00000018            

PFN$C_WRTINPROG= 00000005            PHD$L_R0         00000088            PR$_ACCR       = 00000029            

PFN$M_BADPAG   = 00000020            PHD$L_R1         0000008C            PR$_ACCS       = 00000028            

PFN$M_BAK      = 007FFFFF            PHD$L_R10        000000B0            PR$_ASTLVL     = 00000013            

PFN$M_COLLISION= 00000010            PHD$L_R11        000000B4            PR$_ESP        = 00000001            

PFN$M_DELCON   = 00000010            PHD$L_R12        000000B8            PR$_ICCS       = 00000018            

PFN$M_GBLBAK   = 00800000            PHD$L_R13        000000BC            PR$_ICR        = 0000001A            

PFN$M_LOC      = 00000007            PHD$L_R2         00000090            PR$_IPL        = 00000012            

PFN$M_MODIFY   = 00000080            PHD$L_R3         00000094            PR$_ISP        = 00000004            

PFN$M_PAGTYP   = 00000007            PHD$L_R4         00000098            PR$_KSP        = 00000000            

PFN$M_PGFLX    = FF000000            PHD$L_R5         0000009C            PR$_MAPEN      = 00000038            

PFN$M_RPTEVT   = 00000040            PHD$L_R6         000000A0            PR$_NICR       = 00000019            

PFN$S_BAK      = 00000017            PHD$L_R7         000000A4            PR$_P0BR       = 00000008            

PFN$S_GBLBAK   = 00000001            PHD$L_R8         000000A8            PR$_P0LR       = 00000009            

PFN$S_LOC      = 00000003            PHD$L_R9         000000AC            PR$_P1BR       = 0000000A            

PFN$S_PAGTYP   = 00000003            PHD$L_REFERFLT   00000014            PR$_P1LR       = 0000000B            

PFN$S_PGFLX    = 00000008            PHD$L_SSP        00000080            PR$_PCBB       = 00000010            

PFN$V_BADPAG   = 00000005            PHD$L_USP        00000084            PR$_PME        = 0000003D            

PFN$V_BAK      = 00000000            PHD$L_WSL        00000118            PR$_RXCS       = 00000020            

PFN$V_COLLISION= 00000004            PHD$M_DALCSTX  = 00000002            PR$_RXDB       = 00000021            

PFN$V_DELCON   = 00000004            PHD$M_PFMFLG   = 00000001            PR$_SBIER      = 00000034            

PFN$V_GBLBAK   = 00000017            PHD$M_WSPEAKCHK= 00000004            PR$_SBIFS      = 00000030            

PFN$V_LOC      = 00000000            PHD$Q_PRIVMSK    00000000            PR$_SBIMT      = 00000033            

PFN$V_MODIFY   = 00000007            PHD$S_ASTLVL   = 00000008            PR$_SBIQC      = 00000036            

PFN$V_PAGTYP   = 00000000            PHD$S_P0LR     = 00000018            PR$_SBIS       = 00000031            

PFN$V_PGFLX    = 00000018            PHD$V_ASTLVL   = 00000018            PR$_SBISC      = 00000032            

PFN$V_RPTEVT   = 00000006            PHD$V_DALCSTX  = 00000001            PR$_SBITA      = 00000035            

PGFLQUOTA        0000005C R     04   PHD$V_P0LR     = 00000000            PR$_SBR        = 0000000C            

PHD$B_ASTLVL     000000CF            PHD$V_PFMFLG   = 00000000            PR$_SCBB       = 00000011            

PHD$B_DFPFC      00000038            PHD$V_WSPEAKCHK= 00000002            PR$_SID        = 0000003E            

PHD$B_PAGFIL     0000001F            PHD$W_ASTLM      00000044            PR$_SIRR       = 00000014            

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (5)



PR$_SISR       = 00000015            PTE$M_CRF      = 00010000            SS$_CMODSUPR   = 0000041C            

PR$_SLR        = 0000000D            PTE$M_DZRO     = 00020000            SS$_CMODUSER   = 00000424            

PR$_SSP        = 00000002            PTE$M_GPTX     = 003FFFFF            SS$_COMPAT     = 0000042C            

PR$_TBIA       = 00000039            PTE$M_MODIFY   = 04000000            SS$_CONTINUE   = 00000001            

PR$_TBIS       = 0000003A            PTE$M_OWN      = 01800000            SS$_CONTROLC   = 00000651            

PR$_TODR       = 0000001B            PTE$M_PFN      = 001FFFFF            SS$_CONTROLO   = 00000609            

PR$_TXCS       = 00000022            PTE$M_PGFLVB   = 003FFFFF            SS$_CONTROLY   = 00000611            

PR$_TXDB       = 00000023            PTE$M_PROT     = 78000000            SS$_CREATED    = 00000619            

PR$_USP        = 00000003            PTE$M_TYP0     = 00400000            SS$_CTRLERR    = 00000054            

PR$_WCSA       = 0000002C            PTE$M_TYP1     = 04000000            SS$_DATACHECK  = 0000005C            

PR$_WCSD       = 0000002D            PTE$M_VALID    = 80000000            SS$_DATAOVERUN = 00000838            

PROT           = 00000010            PTE$M_WRT      = 00040000            SS$_DEBUG      = 0000046C            

PRT$C_ER       = 00000007            PTE$S_GPTX     = 00000016            SS$_DECOVF     = 000004A4            

PRT$C_ERKW     = 00000006            PTE$S_OWN      = 00000002            SS$_DEVACTIVE  = 000002C4            

PRT$C_EW       = 00000005            PTE$S_PFN      = 00000015            SS$_DEVALLOC   = 00000840            

PRT$C_KR       = 00000003            PTE$S_PGFLVB   = 00000016            SS$_DEVALRALLOC= 00000641            

PRT$C_KW       = 00000002            PTE$S_PROT     = 00000004            SS$_DEVASSIGN  = 00000848            

PRT$C_NA       = 00000000            PTE$S_STX      = 00000010            SS$_DEVFOREIGN = 00000064            

PRT$C_RESERVED = 00000001            PTE$V_CRF      = 00000010            SS$_DEVICEFULL = 00000850            

PRT$C_SR       = 0000000B            PTE$V_DZRO     = 00000011            SS$_DEVMOUNT   = 0000006C            

PRT$C_SREW     = 00000009            PTE$V_GPTX     = 00000000            SS$_DEVNOTALLOC= 00000858            

PRT$C_SRKW     = 0000000A            PTE$V_MODIFY   = 0000001A            SS$_DEVNOTMBX  = 00000074            

PRT$C_SW       = 00000008            PTE$V_OWN      = 00000017            SS$_DEVNOTMOUNT= 0000007C            

PRT$C_UR       = 0000000F            PTE$V_PFN      = 00000000            SS$_DEVOFFLINE = 00000084            

PRT$C_UREW     = 0000000D            PTE$V_PGFLVB   = 00000000            SS$_DIRFULL    = 00000860            

PRT$C_URKW     = 0000000E            PTE$V_PROT     = 0000001B            SS$_DRVERR     = 0000008C            

PRT$C_URSW     = 0000000C            PTE$V_STX      = 00000000            SS$_DUPFILENAME= 00000868            

PRT$C_UW       = 00000004            PTE$V_TYP0     = 00000016            SS$_DUPLNAM    = 00000094            

PRTCHANGE        000000B6 R     04   PTE$V_TYP1     = 0000001A            SS$_ENDOFFILE  = 00000870            

PRTGLOBAL        00000064 R     04   PTE$V_VALID    = 0000001F            SS$_ENDOFTAPE  = 00000878            

PRTNOPRIV        00000064 R     04   PTE$V_WRT      = 00000012            SS$_ENDOFUSRLBL= 00000970            

PRTPAGACCVIO     00000069 R     04   RETADR         = 00000008            SS$_EXQUOTA    = 0000001C            

PRTPAGFIL        000000B6 R     04   SS$_ABORT      = 0000002C            SS$_EXTIDXFILE = 00000880            

PRTPAGRET        000000C1 R     04   SS$_ACCONFLICT = 00000800            SS$_FCPREADERR = 00000888            

PRTSTX           0000006E R     04   SS$_ACCVIO     = 0000000C            SS$_FCPREPSTN  = 00000988            

PRTTRANS         00000048 R     04   SS$_ACPVAFUL   = 000002FC            SS$_FCPREWNDERR= 00000890            

PRTVALID         00000081 R     04   SS$_ARTRES     = 00000474            SS$_FCPSPACERR = 00000898            

PRVPRT         = 00000014            SS$_ASTFLT     = 0000040C            SS$_FCPWRITERR = 000008A0            

PTE$C_EOWN     = 00800000            SS$_BADATTRIB  = 00000034            SS$_FILACCERR  = 0000009C            

PTE$C_ER       = 38000000            SS$_BADCHKSUM  = 00000808            SS$_FILALRACC  = 000000A4            

PTE$C_ERKW     = 30000000            SS$_BADESCAPE  = 0000003C            SS$_FILELOCKED = 000008A8            

PTE$C_EW       = 28000000            SS$_BADFILEHDR = 00000810            SS$_FILENUMCHK = 000008B0            

PTE$C_KOWN     = 00000000            SS$_BADFILENAME= 00000818            SS$_FILESEQCHK = 000008B8            

PTE$C_KR       = 18000000            SS$_BADFILEVER = 00000820            SS$_FILESTRUCT = 000008C0            

PTE$C_KW       = 10000000            SS$_BADIMGHDR  = 00000044            SS$_FILNOTACC  = 000000AC            

PTE$C_NA       = 00000000            SS$_BADIRECTORY= 00000828            SS$_FILNOTCNTG = 000002AC            

PTE$C_SOWN     = 01000000            SS$_BADPARAM   = 00000014            SS$_FILNOTEXP  = 000000B4            

PTE$C_SR       = 58000000            SS$_BADSTACK   = 000002B4            SS$_FLTDIV     = 00000494            

PTE$C_SREW     = 48000000            SS$_BEGOFFILE  = 00000938            SS$_FLTOVF     = 0000048C            

PTE$C_SRKW     = 50000000            SS$_BLOCKCNTERR= 00000940            SS$_FLTUND     = 0000049C            

PTE$C_SW       = 40000000            SS$_BREAK      = 00000414            SS$_FORMAT     = 000000BC            

PTE$C_UOWN     = 01800000            SS$_BUFBYTALI  = 0000030C            SS$_GPTFULL    = 000000C4            

PTE$C_UR       = 78000000            SS$_BUFFEROVF  = 00000601            SS$_GSDFULL    = 000000CC            

PTE$C_UREW     = 68000000            SS$_BUGCHECK   = 000002A4            SS$_HANGUP     = 000002CC            

PTE$C_URKW     = 70000000            SS$_CANCEL     = 00000830            SS$_HEADERFULL = 000008C8            

PTE$C_URSW     = 60000000            SS$_CHANINTLK  = 0000004C            SS$_IDXFILEFULL= 000008D0            

PTE$C_UW       = 20000000            SS$_CLIFRCEXT  = 00000980            SS$_ILLBLKNUM  = 000000DC            

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (5)



SS$_ILLCNTRFUNC= 000000E4            SS$_NOSUCHFILE = 00000910            

SS$_ILLEFC     = 000000EC            SS$_NOSUCHNODE = 0000028C            

SS$_ILLIOFUNC  = 000000F4            SS$_NOSUCHSEC  = 00000978            

SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            

SS$_ILLPAGCNT  = 000000FC            SS$_NOTFILEDEV = 000001CC            

SS$_ILLSEQOP   = 000002DC            SS$_NOTINTBLSZ = 000001D4            

SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            

SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            

SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            

SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            

SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            

SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            

SS$_INSFRAME   = 0000012C            SS$_OPCDEC     = 0000043C            

SS$_INSFWSL    = 0000011C            SS$_OPINCOMPL  = 000002D4            

SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            

SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            

SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            

SS$_IVCHAN     = 0000013C            SS$_PARTESCAPE = 000001FC            

SS$_IVCHNLSEC  = 0000026C            SS$_PFMBSY     = 00000204            

SS$_IVDEVNAM   = 00000144            SS$_PLHLDR     = 00000404            

SS$_IVGSDNAM   = 0000014C            SS$_PSTFULL    = 0000020C            

SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            

SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            

SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            

SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            

SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            

SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            

SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            

SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            

SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            

SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            

SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            

SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            

SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            

SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            

SS$_MCHECK     = 000002BC            SS$_TOOMUCHDATA= 0000029C            

SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_NONEXDRV   = 000001C4            

SS$_NONEXPR    = 000008E8            

SS$_NONLOCAL   = 000008F0            

SS$_NOPRIV     = 00000024            

SS$_NORMAL     = 00000001            

SS$_NOSIGNAL   = 00000900            

SS$_NOSOLICIT  = 00000284            

SS$_NOSUCHDEV  = 00000908            

SYSSETPRT       - Set Page Protection System Service             21-AUG-1978 20:44:28   VAX-11 MACRO X0.3-11               Page  12

PROGRAM SECTION SYNOPSIS                                                                                                         (5)







PROGRAM SECTION SYNOPSIS



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

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

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

Y$EXEPAGED       00000041      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$MMGCOD          000000C7      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

12766. BYTES LEFT IN FREE MEMORY POOL.

3290. BYTES OF RECLAIMED MEMORY.

OBJ$:SYSSETPRT,LIS$:SYSSETPRT/-SP=EXECML$/ML,SRC$:SYSSETPRT

10 MLB DIR RDS - 732 GETS TO DEFINE 21 MACROS. 51 INTER. FILE WRITES. 

