CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)     190  CHANGE MODE TO EXECUTIVE DISPATCHER

   (1)     255  ASTEXIT SYSTEM SERVICE

   (1)     283  CHANGE MODE DETECTED ERROR HANDLING

   (1)     319  CHANGE MODE TO KERNEL DISPATCHER

   (1)     373  SYSTEM SERVICE VECTOR DEFINITION

   (1)     811  ILLEGAL CHME OR CHMK CODE VALUE HANDLING

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   1

02                                                                                                                               (1)



                                     0000     1 	.IF	NDF,RMSSWITCH

                                     0000     2 	.IF	NDF,LIBSWITCH

                                     0000     3 	.TITLE	CMODSSDSP - CHANGE MODE SYSTEM SERVICE DISPATCHER

                                     0000     4 	.IFF

                                     0000     5 	.TITLE	SYSVECTOR - SYSTEM SERVICE VECTOR DEFINITIONS

                                     0000     6 	.ENDC

                                     0000     7 	.IFF

                                     0000     8 	.TITLE	RMSVECTOR - RMS SERVICE VECTOR DEFINITIONS

                                     0000     9 	.ENDC

                                     0000    10 	.IDENT	/02/

                                     0000    11  

                                     0000    12 ;

                                     0000    13 ; COPYRIGHT (C) 1978

                                     0000    14 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000    15 ;

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

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

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

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

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

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

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

                                     0000    23 ;

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

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

                                     0000    26 ; EQUIPMENT CORPORATION.

                                     0000    27 ;

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

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

                                     0000    30 ;

                                     0000    31 ; D. N. CUTLER 22-JUN-76

                                     0000    32 ;

                                     0000    33 ;  MODIFIED:	L F LAVERDURE 15-AUG-77, 15-MAY-78

                                     0000    34 ;

                                     0000    35 ; CHANGE MODE SYSTEM SERVICE DISPATCHER

                                     0000    36 ;

                                     0000    37 ; MACRO LIBRARY CALLS

                                     0000    38 ;

                                     0000    39  

                                     0000    40 	.IF	DF,LIBSWITCH		;DEFINE GLOBALLY FOR LIBRARY

                                     0000    41 

                                     0000    42 	.DSABL	TBK			;DO NOT OUTPUT TRACEBACK SYMBOLS

                                     0000    43 					;FOR THE SYSVECTOR MODULE IN ORDER TO

                                     0000    44 					;AVOID GARBAGE IN DEBUG SYMBOL TABLE

                                     0000    45 

                                     0000    46 	$DCDEF	GLOBAL			;DEFINE DEVICE TYPE CODES

                                     0000    47 	$DEVDEF	GLOBAL			;DEFINE DEVICE CHARACTERISTICS BITS

                                     0000    48 	$IODEF	GLOBAL			;DEFINE I/O FUNCTION CODES

                                     0000    49 	$MSGDEF	GLOBAL			;DEFINE SYSTEM MESSAGE TYPES

                                     0000    50 	$PRDEF	GLOBAL			;DEFINE PROCESSOR REGISTERS

                                     0000    51 	$PRTDEF	GLOBAL			;DEFINE PROTECTION CODES

                                     0000    52 	$SSDEF	GLOBAL			;DEFINE SYSTEM SERVICE STATUS CODES

                                     0000    53 	$TTDEF	GLOBAL			;TT TERMINATION SPECIFIERS

                                     0000    54 	.IFF				;LOCALLY IF NOT LIBRARY VERSION

                                     0000    55 	$PCBDEF				;DEFINE PCB OFFSETS

                                     0000    56 	$PHDDEF				;DEFINE PHD OFFSETS

                                     0000    57 	$PRDEF				;DEFINE PROCESSOR REGISTERS

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   2

02                                                                                                                               (1)



                                     0000    58 	$PSLDEF				;DEFINE PROCESSOR STATUS FIELDS

                                     0000    59 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000    60 	.ENDC				;

                                     0000    61  

                                     0000    62 	$SGNDEF				;DEFINE SYSGEN PARAMETERS

                                     0000    63 ;

                                     0000    64 ; LOCAL MACROS

                                     0000    65 ;

                                     0000    66 ;	GSYSSRV	- GENERATE SYSTEM SERVICE ENTRY VECTOR

                                     0000    67 ;

                                     0000    68 ;	GSYSSRV	SRVNAME,MODE,NARG,REGISTERS,NOSYNC

                                     0000    69 ;

                                     0000    70 ;	WHERE:

                                     0000    71 ;		SRVNAME - SERVICE NAME LESS ANY PREFIX (SYS$,EXE$,RMS$$)

                                     0000    72 ;		MODE - MODE DESIGNATOR FOR SERVICE (K,E,ALL,R)

                                     0000    73 ;		NARG - REQUIRED NUMBER OF ARGUMENTS

                                     0000    74 ;		REGISTERS - REGISTER SAVE LIST

                                     0000    75 ;		NOSYNC - NON-ZERO IF RMS SYNCHRONIZATION CODE NOT TO BE INCLUDED

                                     0000    76 ;

                                     0000    77 

                                     0000    78 	.MACRO	GSYSSRV,SRVNAME,MODE,NARG,REGS,NOSYNC

                                     0000    79 	.IF	NDF,RMSSWITCH

                                     0000    80 	.IF	DF,LIBSWITCH

                                     0000    81 	.PSECT	$$$0000,QUAD

                                     0000    82 	.IFF

                                     0000    83 	.PSECT	$$$000,QUAD

                                     0000    84 	.ENDC

                                     0000    85 	.ALIGN	QUAD

                                     0000    86 	.IF DF	LIBSWITCH

                                     0000    87 SYS$'SRVNAME::

                                     0000    88 	.IFF

                                     0000    89 	.WORD	^M<REGS>

                                     0000    90 	SRV'MODE	SRVNAME,NARG,NOSYNC

                                     0000    91 	.IFT

                                     0000    92 	.BLKL	2	

                                     0000    93 	.ENDC

                                     0000    94 	.IFF

                                     0000    95 	SRV'MODE	SRVNAME,NARG

                                     0000    96 	.ENDC

                                     0000    97 	.ENDM	GSYSSRV

                                     0000    98 

                                     0000    99 ;

                                     0000   100 ;	SRVK - GENERATE ENTRY FOR KERNEL MODE SERVICE

                                     0000   101 ;

                                     0000   102 ;	SRVK	SRVNAME,NARG

                                     0000   103 ;

                                     0000   104  

                                     0000   105 	.MACRO	SRVK,SRVNAME,NARG

                                     0000   106 	.IF	NDF,RMSSWITCH

                                     0000   107 	CHMK	#SRVNAME

                                     0000   108 	RET

                                     0000   109 	.PSECT	Y$CMODKN,BYTE

                                     0000   110 	.BYTE	NARG

                                     0000   111 	.PSECT	Y$CMODK,BYTE

                                     0000   112 	.WORD	EXE$'SRVNAME-KCASE+2

                                     0000   113 SRVNAME=KCASCTR

                                     0000   114 KCASCTR=KCASCTR+1

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   3

02                                                                                                                               (1)



                                     0000   115 	.ENDC

                                     0000   116 	.ENDM	SRVK

                                     0000   117 

                                     0000   118 ;

                                     0000   119 ;	SRVE - GENERATE ENTRY FOR EXECUTIVE MODE SERVICE

                                     0000   120 ;

                                     0000   121  

                                     0000   122 	.MACRO	SRVE,SRVNAME,NARG

                                     0000   123 	.IF	NDF,RMSSWITCH

                                     0000   124 	CHME	#SRVNAME

                                     0000   125 	RET

                                     0000   126 	.PSECT	Y$CMODEN,BYTE

                                     0000   127 	.BYTE	NARG

                                     0000   128 	.PSECT	Y$CMODE,BYTE

                                     0000   129 	.WORD	EXE$'SRVNAME-ECASE+2

                                     0000   130 	.ENDC

                                     0000   131 SRVNAME=ECASCTR

                                     0000   132 ECASCTR=ECASCTR+1

                                     0000   133 	.ENDM	SRVE

                                     0000   134 ;

                                     0000   135 ;

                                     0000   136 ;    MACROS FOR GENERATING RMS SYSTEM VECTORS

                                     0000   137 ;

                                     0000   138 	.MACRO	RMSSRV	SRVNAME	NARG=1,REGS=<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>,-

                                     0000   139 			NOSYNC=0

                                     0000   140 	GSYSSRV	SRVNAME,R,NARG,<REGS>,NOSYNC

                                     0000   141 	.ENDM	RMSSRV

                                     0000   142 ;

                                     0000   143 ;  SRVR - GENERATE ENTRY FOR RMS SERVICE (EXEC MODE)

                                     0000   144 ;

                                     0000   145 	.MACRO	SRVR	SRVNAME,NARG,NOSYNC

                                     0000   146 	.IF	NDF,RMSSWITCH

                                     0000   147 	CHME	#SRVNAME

                                     0000   148 	.IF EQ NOSYNC

                                     0000   149 	.IIF GT <.+2-RMSSYNC>-127, RMSSYNC=RMSWBR	;RESET BRANCH DESTINATION

                                     0000   150 RMSWBR=.

                                     0000   151 	BRB	RMSSYNC

                                     0000   152 	.IFF

                                     0000   153 	RET

                                     0000   154 	.ENDC

                                     0000   155 	.PSECT	Y$CMODEN,BYTE

                                     0000   156 	.BYTE	NARG

                                     0000   157 	.IFF

                                     0000   158 	.PSECT	$$$RMSVEC,BYTE,NOWRT

                                     0000   159 	.WORD	RMS$'SRVNAME-RCASE+2

                                     0000   160 	.ENDC

                                     0000   161 SRVNAME=RCASCTR

                                     0000   162 RCASCTR=RCASCTR+1

                                     0000   163 	.ENDM	SRVR

                                     0000   164 

                                     0000   165 ;

                                     0000   166 ;	SRVALL - GENERATE ENTRY FOR ALL MODE SERVICE

                                     0000   167 ;

                                     0000   168  

                                     0000   169 	.MACRO	SRVALL,SRVNAME,NARG

                                     0000   170 	.IF NDF,RMSSWITCH

                                     0000   171 	JMP	@#EXE$'SRVNAME+2

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   4

02                                                                                                                               (1)



                                     0000   172 	.ENDC

                                     0000   173 	.ENDM	SRVALL

                                     0000   174 

                                     0000   183 

                                     0000   184 ;

                                     0000   185 ; GLOBAL SYMBOLS

                                     0000   186 ;

                                     0000   187  

                           00000014  0000   188 EXE$C_CMSTKSZ==4*5			;NUMBER OF LONGWORDS IN DISPATCH CALL FRAME

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   5

02              CHANGE MODE TO EXECUTIVE DISPATCHER                                                                              (1)



                                     0000   190 	.SBTTL	CHANGE MODE TO EXECUTIVE DISPATCHER

                                     0000   191 ;+

                                     0000   192 ; EXE$CMODEXEC - CHANGE MODE TO EXECUTIVE DISPATCHER

                                     0000   193 ;

                                     0000   194 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A CHANGE MODE TO EXECUTIVE

                                     0000   195 ; INSTRUCTION IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     0000   196 ;

                                     0000   197 ; INPUTS:

                                     0000   198 ;

                                     0000   199 ;	00(SP) = CHANGE MODE PARAMETER CODE.

                                     0000   200 ;	04(SP) = SAVED PC OF EXCEPTION.

                                     0000   201 ;	08(SP) = SAVED PSL OF EXCEPTION.

                                     0000   202 ;

                                     0000   203 ;	00(AP) = NUMBER OF SYSTEM SERVICE CALL ARGUMENTS.

                                     0000   204 ;	04(AP) = FIRST ARGUMENT.

                                     0000   205 ;	      .

                                     0000   206 ;	      .

                                     0000   207 ;	      .

                                     0000   208 ;	4*N(AP) = N'TH ARGUMENT.

                                     0000   209 ;

                                     0000   210 ; OUTPUTS:

                                     0000   211 ;

                                     0000   212 ;	***TBS***

                                     0000   213 ;

                                     0000   214 ; NOTE:

                                     0000   215 ;

                                     0000   216 ;	DISPATCH TO RMS ROUTINES ASSUMES THAT R3, R4, & R8 ARE NOT DESTROYED

                                     0000   217 ;	BY THE THE SERVICE EXIT CODE FOR SUCCESSFUL RETURNS.

                                     0000   218 ;-

                                     0000   219  

                                 00000000   220 	.PSECT	Y$CMODE,QUAD

                                     0000   221 EXACCVIO:				;CHANGE MODE TO EXEC ACCESS VIOLATION

                          0017'  31  0000   222 	BRW	ACCVIO			;

                                     0003   223 EXINSARG:				;CHANGE MODE TO EXEC INSUFFICIENT ARGS

                          50     D5  0003   224 	TSTL	R0			;USER CODE (NEGATIVE VALUE)

                          34     19  0005   225 	BLSS	EXEDSP			;YES, NOT NECESSARILY INSARG

                          001B'  31  0007   226 	BRW	INSARG			;

                                     000A   227 	.ALIGN	QUAD

                                     0010   228 EXE$CMODEXEC::				;CHANGE MODE TO EXECUTIVE DISPATCH

                                     0010   229 					;NOTE: MEMORY WRITING INSTRUCTIONS ARE

                                     0010   230 					;CAREFULLY INTERLACED WITH REGISTER TO

                                     0010   231 					;REGISTER OPERATIONS FOR SPEED.

                          01     BA  0010   232 	POPR	#^M<R0>			;REMOVE CHANGE MODE PARAMETER FROM STACK

                     002B'CF     9F  0012   233 	PUSHAB	W^SRVEXIT		;RETURN ADDRESS FOR CALL FRAME

            51            50     9A  0016   234 	MOVZBL	R0,R1			;BOUND RANGE OF CHME CODE VALUES

                          5D     DD  0019   235 	PUSHL	FP			;SAVE FP

            51       0000'CF41   9A  001B   236 	MOVZBL	W^B_EXECNARG[R1],R1	;GET REQUIRED NUMBER OF ARGUMENTS

                          5C     DD  0021   237 	PUSHL	AP			;SAVE AP

            5D   00000004 9F41   DE  0023   238 	MOVAL	@#4[R1],FP		;CALCULATE LENGTH OF ARGUMENT LIST

                          7E     7C  002B   239 	CLRQ	-(SP)			;PSW, REGISTER SAVE MASK FOR CALL FRAME

                                     002D   240 	IFNORD	FP,(AP),EXACCVIO	;BR IF ARGLIST INACCESSIBLE

            5D            5E     D0  0033   241 	MOVL	SP,FP			;SET FP TO POINT TO CALL FRAME

            51            6C     91  0036   242 	CMPB	(AP),R1			;CHECK FOR REQUIRED NUMBER OF ARGUMENTS

                          C8     1F  0039   243 	BLSSU	EXINSARG		;INSUFFICIENT NUMBER OF ARGUMENTS

                                     003B   244 					;  (R0 HAS CHME CODE)

            00            50     AF  003B   245 EXEDSP:	CASEW	R0,#0,S^#ECASMAX	;DISPATCH TO PROPER SERVICE ROUTINE

                          06'        003E       

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   6

02              CHANGE MODE TO EXECUTIVE DISPATCHER                                                                              (1)



                           00000000  003F   246 ECASCTR=0				;START WITH 0 FOR CHME CODE

                                     003F   247 ECASE:					;BASE OF CHME CASE TABLE

                                 00000000   248 	.PSECT	Y$CMODEN,BYTE		;REQUIRED NUMBER OF ARG TABLE

                                     0000   249 B_EXECNARG:				;DEFINE TABLE BASE

                                     0000   250 

                                     0000   251 ;

                                     0000   252 ;	NOTE THAT THE OUT OF RANGE FALL THROUGH FROM THE CASEW FOLLOWS

                                     0000   253 ;	THE SYSTEM SERVICE VECTOR GENERATION.

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   7

02              ASTEXIT SYSTEM SERVICE                                                                                           (1)



                                     0000   255 	.SBTTL	ASTEXIT SYSTEM SERVICE

                                     0000   256 ;+

                                     0000   257 ; ASTEXIT - SERVICE TO EXIT AN ACTIVE AST AND ALLOW PENDING ASTS TO 

                                     0000   258 ;	    BE DELIVERED.

                                     0000   259 ;

                                     0000   260 ; THIS SYSTEM SERVICE IS INVOKED WITH A CHMK #ASTEXIT NOT CONTAINED IN

                                     0000   261 ; A STANDARD SYSTEM SERVICE VECTOR TO AVOID CLUTTERING THE STACK WITH AN

                                     0000   262 ; ADDITIONAL CALL FRAME DURING AST EXIT PROCESSING.

                                     0000   263 ;

                                     0000   264 ; INPUTS:

                                     0000   265 ; 	NONE

                                     0000   266 ;

                                     0000   267 ; OUTPUTS:

                                     0000   268 ;	PCB$B_ASTACT IS CLEARED FOR THE ISSUING MODE

                                     0000   269 ;	PHD$B_ASTLVL IS SET TO THE ACCESS MODE OF THE NEXT PENDING AST, IF ANY.

                                     0000   270 ;

                                     0000   271 ;-

                                     0000   272 

                                 00000000   273 	.PSECT	Y$CMODK,QUAD

                                     0000   274 ASTEXIT:				;EXIT ACTIVE AST

            02            16     EF  0000   275 	EXTZV	#PSL$V_PRVMOD,#PSL$S_PRVMOD,4(SP),R0 ;GET PREVIOUS MODE

            50         04 AE         0003       

                          14     BB  0006   276 	PUSHR	#^M<R2,R4>		;SAVE R2,R4

            54   00000000'EF     D0  0008   277 	MOVL	SCH$GL_CURPCB,R4	;GET PCB CURRENT PCB ADDRESS

         0C A4            50     E7  000F   278 	BBCCI	R0,PCB$B_ASTACT(R4),10$	;CLEAR AST ACTIVE BIT FOR MODE

                          00         0013       

                          FFE9'  30  0014   279 10$:	BSBW	SCH$NEWLVL		;COMPUTE NEW AST LEVEL SETTING

                          14     BA  0017   280 	POPR	#^M<R2,R4>		;RESTORE REGISTERS<R2,R4>

                                 02  0019   281 	REI				;AND EXIT

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   8

02              CHANGE MODE DETECTED ERROR HANDLING                                                                              (1)



                                     001A   283 	.SBTTL	CHANGE MODE DETECTED ERROR HANDLING

                                     001A   284 ;+

                                     001A   285 ; ACCVIO - ACCESS VIOLATION DETECTED IN ARGUMENT LIST

                                     001A   286 ; INSARG - INSUFFICIENT ARGUMENTS SUPPLIED FOR SERVICE

                                     001A   287 ; SSFAIL - ABNORMAL STATUS RETURNED BY SERVICE ROUTINE

                                     001A   288 ;

                                     001A   289 ; THESE ROUTINES TAKE THE APPROPRIATE ACTION TO RETURN THE ERROR INDICATION

                                     001A   290 ; TO THE ORIGINAL CALLER.

                                     001A   291 ;

                                     001A   292 ;-

                                     001A   293 

            5D            5E     D0  001A   294 ACCVIO:	MOVL	SP,FP			;SET FRAME POINTER BEFORE RET

            50            0C     3C  001D   295 	MOVZWL	#SS$_ACCVIO,R0		;SET ACCESS VIOLATION

                                 04  0020   296 	RET				;

                          50     D5  0021   297 KINSARG:TSTL	R0			;IS THIS A USER CODE (NEGATIVE)?

                          68     19  0023   298 	BLSS	KERDSP			;YES, NOT NECESSARILY INSARG

            50       0114 8F     3C  0025   299 INSARG:	MOVZWL	#SS$_INSFARG,R0		;SET INSUFFICIENT NUMBER OF ARGUMENTS

                                 04  002A   300 	RET				;

                                     002B   301 SRVEXIT:				;SERVICE EXIT

            07            50     E9  002B   302 	BLBC	R0,SSFAIL		;BR IF ABNORMAL COMPLETION

                                 02  002E   303 SRVREI:	REI				;

                                     002F   304 EXE$EXCPTN::				;SYSTEM SERVICE EXCEPTION

                               0000  002F   305 	.WORD	0			;ENTRY MASK

                                     0031   306 	BUG_CHECK SSRVEXCEPT,FATAL	;UNEXPECTED SYSTEM SERVICE EXCEPTION

            50            07     D3  0035   307 SSFAIL:	BITL	#7,R0			;TEST SEVERITY FIELD

                          F4     13  0038   308 	BEQL	SRVREI			;IF EQL WARNING

            51   00000000'EF     D0  003A   309 	MOVL	SCH$GL_CURPCB,R1	;GET ADDRESS OF CURRENT PROCESS PCB

                       0E A1     B5  0041   310 	TSTW	PCB$W_MTXCNT(R1)	;MUTEX COUNT ZERO?

                          11     12  0044   311 	BNEQ	10$			;IF NEQ NO

                          18     EF  0046   312 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,- ;EXTRACT PREVIOUS MODE FROM

         04 AE            02         0048   313 		4(SP),-(SP)		;SAVED PSL

                          7E         004B       

            6E            06     C0  004C   314 	ADDL	#PCB$V_SSFEXC,(SP)	;ADD IN BASE BIT NUMBER

         28 A1            8E     E1  004F   315 	BBC	(SP)+,PCB$L_STS(R1),SRVREI ;IF CLEAR, FAILURE EXCEPTION DISABLED

                          DA         0053       

                          FFA9'  31  0054   316 	BRW	EXE$SSFAIL		;GENERATE SYSTEM SERVICE FAILURE EXCEPTION

                                     0057   317 10$:	BUG_CHECK MTXCNTNONZ,FATAL	;MUTEX COUNT NONZERO AT SERVICE EXIT

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page   9

02              CHANGE MODE TO KERNEL DISPATCHER                                                                                 (1)



                                     005B   319 	.SBTTL	CHANGE MODE TO KERNEL DISPATCHER

                                     005B   320 ;+

                                     005B   321 ; EXE$CMODKRNL - CHANGE MODE TO KERNEL DISPATCHER

                                     005B   322 ;

                                     005B   323 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A CHANGE MODE TO KERNEL

                                     005B   324 ; INSTRUCTION IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     005B   325 ;

                                     005B   326 ; INPUTS:

                                     005B   327 ;

                                     005B   328 ;	00(SP) = CHANGE MODE PARAMETER CODE.

                                     005B   329 ;	04(SP) = SAVED PC OF EXCEPTION.

                                     005B   330 ;	08(SP) = SAVED PSL OF EXCEPTION.

                                     005B   331 ;

                                     005B   332 ;	00(AP) = NUMBER OF SYSTEM SERVICE CALL ARGUMENTS.

                                     005B   333 ;	04(AP) = FIRST ARGUMENT.

                                     005B   334 ;	      .

                                     005B   335 ;	      .

                                     005B   336 ;	      .

                                     005B   337 ;	4*N(AP) = N'TH ARGUMENT.

                                     005B   338 ;

                                     005B   339 ; OUTPUTS:

                                     005B   340 ;

                                     005B   341 ;	***TBS***

                                     005B   342 ;-

                                     005B   343  

                                 0000005B   344 	.PSECT	Y$CMODK,QUAD

                                     005B   345 	.ALIGN	QUAD

                                     0060   346 EXE$CMODKRNL::				;CHANGE MODE TO KERNEL DISPATCH

                                     0060   347 					;NOTE: MEMORY WRITING INSTRUCTIONS ARE

                                     0060   348 					;CAREFULLY INTERLACED WITH REGISTER

                                     0060   349 					;INSTRUCTIONS FOR SPEED.

                          50   8ED0  0060   350 	POPL	R0			;REMOVE CHANGE MODE PARAMETER FROM STACK

                          9B     13  0063   351 	BEQL	ASTEXIT			;IF ZERO, AST EXIT SYSTEM SERVICE

                       C3 AF     9F  0065   352 	PUSHAB	B^SRVEXIT		;RETURN ADDRESS

            51            50     9A  0068   353 	MOVZBL	R0,R1			;BOUND RANGE OF CHMK CODES TO 0,255

                                     006B   354 					;AND 256 BYTES ACCESSIBLE FROM B_KRNLNARG

                          5D     DD  006B   355 	PUSHL	FP			;SAVE FP

            51       FFFF'CF41   9A  006D   356 	MOVZBL	W^B_KRNLNARG[R1],R1	;GET NUMBER OF REQUIRED ARGUMENTS

                          5C     DD  0073   357 	PUSHL	AP			;SAVE AP

            5D   00000004 9F41   DE  0075   358 	MOVAL	@#4[R1],FP		;CALCULATE LENGTH OF ARGUMENT LIST

                          7E     7C  007D   359 	CLRQ	-(SP)			;PSW AND REGISTER SAVE MASK

                                     007F   360 	IFNORD	FP,(AP),ACCVIO		;DECLARE ACCESS VIOLATION

            5D            5E     D0  0085   361 	MOVL	SP,FP			;SET FRAME POINTER FOR CALL FRAME

            51            6C     91  0088   362 	CMPB	(AP),R1			;CHECK FOR REQUIRED NUMBER OF ARGS

                          94     1F  008B   363 	BLSSU	KINSARG			;IF LSSU, INSUFFICIENT ARGUMENTS

            54   00000000'EF     D0  008D   364 KERDSP:	MOVL	SCH$GL_CURPCB,R4	;GET CURRENT PROCESS PCB ADDRESS

            01            50     AF  0094   365 	CASEW	R0,#1,#KCASMAX		;DISPATCH TO PROPER SERVICE ROUTINE

                     004A'8F         0097       

                                     009A   366 KCASE:					;BASE OF CHMK CASE TABLE

                           00000001  009A   367 KCASCTR=1				;CHMK CODES START AT 1

                                 00000000   368 	.PSECT	Y$CMODKN,BYTE		;REQUIRED NUMBER OF ARG TABLE

                           FFFFFFFF  0000   369 B_KRNLNARG=.-1				;CHMK CODES ARE 1 ORIGIN

                                     0000   370 	.ENDC

                                     0000   371 	.IFF

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  10

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                     0000   373 	.SBTTL	SYSTEM SERVICE VECTOR DEFINITION

                                     0000   374 ;

                                     0000   375 ;

                                     0000   376 ;	DEFINE ALL SYSTEM SERVICE VECTOR POSITIONS

                                     0000   377 ;

                                     0000   378 ;

                                     0000   379 

                                     0000   380 	.IF	NDF,LIBSWITCH		;REAL PSECT IF NOT LIBRARY

                                 00000000   381 	.PSECT	$$$000,QUAD

                                     0000   382 	.IFF				;OTHERWISE ABS PSECT

                                     0000   383 	.PSECT	$$$0000,QUAD,ABS

                                     0000   384 .=^X80000000				;BIASED AT THE START OF SYSEM SPACE

                                     0000   385 	.ENDC

                                     0000   386 	.IFF

                                     0000   387 VECBASE:					;VECTOR AREA BASE

                                     0000   388 

                                     0000   389 ;

                                     0000   390 ;	QIO AND WAIT COMPOSITE SERVICE

                                     0000   391 ;

                                     0000   392 ;	THE QIO AND WAITFR COMPOSITE SERVICE OCCUPIES THE FIRST TWO

                                     0000   393 ;	SYSTEM SERVICE VECTOR POSITIONS.  IT IS CONSTRUCTED BY

                                     0000   394 ;	FROM TWO DISCRETE CHMK INSTRUCTIONS, ONE PERFORMING THE QIO

                                     0000   395 ;	AND THE OTHER PERFORMING THE WAITFR, WHICH RELY UPON THE

                                     0000   396 ;	COMPATIBLE ARGUMENT LISTS OF THESE TWO SERVICES. WAITFR HAS

                                     0000   397 ;	A SINGLE ARGUMENT, THE EVENT FLAG, WHICH IS THE FIRST ARGUMENT

                                     0000   398 ;	IN THE QIO ARGUMENT LIST.

                                     0000   399 ;

                                     0000   400 

                                     0000   401  	.ALIGN	QUAD

                                     0000   402 	.IF DF	LIBSWITCH

                                     0000   403 SYS$QIOW::				;QIO AND WAIT SYSTEM SERVICE

                                     0000   404 	.IFF

                               0FFC  0000   405 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;SAVE R2-R11

                     002C'8F     BC  0002   406 	CHMK	#QIO			;FIRST QIO

            04            50     E9  0006   407 	BLBC	R0,10$			;SKIP WAIT IF ERROR

                     0040'8F     BC  0009   408 	CHMK	#WAITFR			;THEN WAIT FOR SINGLE EVENT

                                 04  000D   409 10$:	RET				;RETURN

                                     000E   410 	.IFT

                                     000E   411 	.BLKL	4			;JUST RESERVE SPACE IF LIBRARY

                                     000E   412 	.ENDC

                                     000E   413 	.IFF

                                     000E   414  

                                     000E   415 ;

                                     000E   416 ; CONDITION HANDLER DISPATCH VECTOR

                                     000E   417 ;

                                     000E   418 ; THE FOLLOWING VECTOR IS INCLUDED IN THE SYSTEM VECTOR SPACE SO THAT BOTH

                                     000E   419 ; HARDWARE-DETECTED (EXCEPTIONS) AND SOFTWARE-DETECTED (SIGNALS) CONDITIONS

                                     000E   420 ; CAN BE DISPATCHED FROM THE SAME CALL INSTRUCTION. THIS IS NECESSARY SO

                                     000E   421 ; THAT THE STACK SEARCH ALGORITHM AND THE UNWIND SYSTEM SERVICE CAN DETECT

                                     000E   422 ; AND PROPERLY PROCESS MULTIPLE ACTIVE SIGNALS AND/OR EXCEPTIONS.

                                     000E   423 ;

                                     000E   424  

                                     000E   425 	.ALIGN	QUAD

                                     0010   426 	.IF DF	LIBSWITCH

                                     0010   427 SYS$CALL_HANDL::			;CONDITION HANDLER DISPATCH

                                     0010   428 	.IFF

            61         04 AE     FA  0010   429 	CALLG	4(SP),(R1)		;CALL CONDITION HANDLER

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  11

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                 05  0014   430 	RSB				;

                                     0015   431 	.IFT

                                     0015   432 	.BLKQ	1			;RESERVE SPACE

                                     0015   433 	.ENDC

                                     0015   434 	.IFF

                                     0015   435  

                                     0015   436 ;

                                     0015   437 ; COMMAND INTERPRETER DISPATCH VECTOR

                                     0015   438 ;

                                     0015   439 ; THE FOLLOWING VECTOR IS INCLUDED IN THE SYSTEM VECTOR SPACE SO THAT DIRECT

                                     0015   440 ; CALLS CAN BE MADE TO THE CURRENT COMMAND INTERPRETER WITHOUT HAVING TO KNOW

                                     0015   441 ; THE ADDRESS OF ITS SERVICE ROUTINE.

                                     0015   442 ;

                                     0015   443  

                                     0015   444 	.ALIGN	QUAD

                                     0018   445 	.IF DF	LIBSWITCH

                                     0018   446 SYS$CLI::				;COMMAND INTERPRETER DISPATCH

                                     0018   447 	.IFF

                               0FFC  0018   448 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;SAVE R2-R11

                 00000000'FF     17  001A   449 	JMP	@CTL$AL_CLICALBK	;DISPATCH TO CURRENT COMMAND INTERPRETER

                                     0020   450 	.IFT

                                     0020   451 	.BLKQ	1			;RESERVE SPACE

                                     0020   452 	.ENDC

                                     0020   453 	.IFF

                                     0020   454 	.ALIGN	QUAD

                                     0020   455 	.ENDC

                                     0020   456  

                                     0020   457 ;

                                     0020   458 ;	DEFINE REMAINING SERVICES

                                     0020   459 ;

                                     0020   460 

                                     0020   461 	GSYSSRV	ADJSTK,K,3,-		;ADJUST OUTER MODE STACK POINTER

                                     0020   462 		<R2,R3,R4,R5,R6>	;REGISTERS R2-R6

                                     009C   463 	GSYSSRV	ADJWSL,K,2,-		;ADJUST WORKING SET LIMIT

                                     009C   464 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     009E   465 	GSYSSRV	ALCDNP,K,4,-		;ALLOCATE DIAGNOSTIC PAGE

                                     009E   466 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     00A0   467 	GSYSSRV	ALLOC,K,4,-		;ALLOCATE DEVICE

                                     00A0   468 		<R2,R3,R4,R5,R6>	;REGISTERS R2-R6

                                     00A2   469 	GSYSSRV	ASCEFC,K,4,-		;ASSOCIATE COMMON EVENT FLAG CLUSTER

                                     00A2   470 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00A4   471 	GSYSSRV	ASCTIM,ALL,3,-		;CONVERT TO ASCII TIME

                                     00A4   472 		<R2,R3,R4,R5,R6>	;REGISTERS R2-R6

                                     0050   473 	GSYSSRV	ASSIGN,K,4,-		;ASSIGN I/O CHANNEL

                                     0050   474 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     00A6   475 	GSYSSRV	BINTIM,ALL,2,-		;CONVERT TO BINARY TIME

                                     00A6   476 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     0060   477 	GSYSSRV	CANCEL,K,1,-		;CANCEL I/O ON CHANNEL

                                     0060   478 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     00A8   479 	GSYSSRV	CANTIM,K,2,-		;CANCEL TIMER REQUEST

                                     00A8   480 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00AA   481 	GSYSSRV	CANWAK,K,2,-		;CANCEL WAKE UP REQUESTS

                                     00AA   482 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00AC   483 ;

                                     00AC   484 ; ***** THE FOLLOWING IS OUT OF ALPHABETIC ORDER AS ITS NAME WAS CHANGED

                                     00AC   485 ;

                                     00AC   486 	GSYSSRV	CRMPSC,K,12,-		;CREATE AND MAP SECTION

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  12

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                     00AC   487 		<R2,R3,R4,R5,R6,R7,R8,R9,R10> ;REGISTERS R2-R10

                                     00AE   488 	GSYSSRV	CLRPAR,K,2,-		;CLEAR HARD PARITY ERROR

                                     00AE   489 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00B0   490 	GSYSSRV	CMEXEC,E,2,-		;CHANGE MODE TO EXECUTIVE

                                     00B0   491 		<R4>			;REGISTER R4

                                     0041   492 	GSYSSRV	CMKRNL,K,2,-		;CHANGE MODE TO KERNEL

                                     0041   493 		<R4>			;REGISTER R4

                                     00B2   494 	GSYSSRV	CLREF,K,1,-		;CLEAR EVENT FLAG

                                     00B2   495 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00B4   496 	GSYSSRV	CNTREG,K,4,-		;CONTRACT REGION

                                     00B4   497 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     00B6   498 	GSYSSRV	GETPTI,K,5,-		;GET PAGE TABLE INFORMATION

                                     00B6   499 		<R2,R3,R4,R5,R6,R7,R8,R9,R10> ;REGISTERS R2-R10

                                     00B8   500 	GSYSSRV	CRELOG,K,4,-		;CREATE LOGICAL NAME

                                     00B8   501 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     00BA   502 	GSYSSRV	CREMBX,K,7,-		;CREATE MAILBOX

                                     00BA   503 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     00BC   504 	GSYSSRV	CREPRC,K,12,-		;CREATE PROCESS

                                     00BC   505 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     00BE   506 	GSYSSRV	CRETVA,K,3,-		;CREATE VIRTUAL ADDRESS

                                     00BE   507 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     00C0   508 	GSYSSRV	DACEFC,K,1,-		;DISASSOCIATE EVENT FLAG CLUSTER

                                     00C0   509 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00C2   510 	GSYSSRV	DALLOC,K,2,-		;DEALLOCATE DEVICE

                                     00C2   511 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00C4   512 	GSYSSRV	DASSGN,K,1,-		;DEASSIGN I/O CHANNEL

                                     00C4   513 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     00C6   514 	GSYSSRV	DCLAST,K,3,-		;DECLARE AST SYSTEM SERVICE

                                     00C6   515 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00C8   516 	GSYSSRV	DCLEXH,K,1,-		;DECLARE EXIT HANDLER

                                     00C8   517 		<R2,R3,R4>		;REGISTERS R2-R4

                                     00CA   518 	GSYSSRV	DELLOG,K,3,-		;DELETE LOGICAL NAME

                                     00CA   519 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     00CC   520 	GSYSSRV	DELMBX,K,1,-		;DELETE MAILBOX

                                     00CC   521 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00CE   522 	GSYSSRV	DELPRC,K,2,-		;DELETE PROCESS

                                     00CE   523 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R5

                                     00D0   524 	GSYSSRV	DELTVA,K,3,-		;DELETE VIRTUAL ADDRESS

                                     00D0   525 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     00D2   526 	GSYSSRV	DGBLSC,K,3,-		;DELETE GLOBAL SECTION

                                     00D2   527 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     00D4   528 	GSYSSRV	DLCDNP,K,2,-		;DEALLOCATE DIAGNOSTIC PAGE

                                     00D4   529 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     00D6   530 	GSYSSRV	DLCEFC,K,1,-		;DELETE COMMON EVENT CLUSTER

                                     00D6   531 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00D8   532 	GSYSSRV	UPDSEC,K,8,-		;UPDATE SECTION FILE

                                     00D8   533 		<R2,R3,R4,R5,R6,R7,R8>	;R2-R8

                                     00DA   534 	GSYSSRV	SNDERR,K,1,-		;SEND MSG TO ERROR LOGGER

                                     00DA   535 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00DC   536 	GSYSSRV	EXIT,K,1,-		;IMAGE EXIT

                                     00DC   537 		<R4>			;REGISTER R4

                                     00DE   538 	GSYSSRV	EXPREG,K,4,-		;EXPAND PROGRAM REGION

                                     00DE   539 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     00E0   540 	GSYSSRV	FAO,ALL,0,-		;FORMAT ASCII OUTPUT

                                     00E0   541 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ; REGISTERS R2-R11

                                     0158   542 	GSYSSRV	FAOL,ALL,0,-		;FORMAT ASCII OUTPUT WITH VALUE LIST

                                     0158   543 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  13

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                     0160   544 	GSYSSRV	FORCEX,K,3,-		;FORCE EXIT

                                     0160   545 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00E2   546 	GSYSSRV	IMGSTA,ALL,6,-		;IMAGE STARTUP

                                     00E2   547 		<>			;REGISTERS NONE

                                     0170   548 	GSYSSRV	GETJPP,K,2,-		;GET JOB/PROCESS PARAMETERS

                                     0170   549 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     00E4   550 	GSYSSRV	GETTIM,E,1,-		;GET TIME

                                     00E4   551 		<>			;NO REGISTERS

                                     0043   552 	GSYSSRV	GTCHAN,K,5,-		;GET I/O CHANNEL DEVICE INFORMATION

                                     0043   553 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     00E6   554 	GSYSSRV	HIBER,K,0,-		;HIBERNATE

                                     00E6   555 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00E8   556 	GSYSSRV	IMGACT,E,4,-		;IMAGE ACTIVATION

                                     00E8   557 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     0045   558 	GSYSSRV	LCKPAG,K,3,-		;LOCK PAGE IN MEMORY

                                     0045   559 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     00EA   560 	GSYSSRV	LKWSET,K,3,-		;LOCK PAGES IN WORKING SET

                                     00EA   561 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     00EC   562 	GSYSSRV	MGBLSC,K,7,-		;MAP GLOBAL SECTION

                                     00EC   563 		<R2,R3,R4,R5,R6,R7,R8,R9,R10> ;REGISTERS R2-R10

                                     00EE   564 	GSYSSRV	PURGWS,K,1,-		;PURGE WORKING SET

                                     00EE   565 		<R2,R3,R4,R5,R6,R7,R8>	;R2-R8

                                     00F0   566 	GSYSSRV	NUMTIM,E,2,-		;CONVERT TIME TO NUMERIC

                                     00F0   567 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     0047   568 	GSYSSRV	SNDOPR,E,2,-		;SEND MSG TO OPERATOR

                                     0047   569 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	;REGISTERS R2-R11

                                     0049   570 	GSYSSRV	QIO,K,11,-		;QUEUE I/O REQUEST

                                     0049   571 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     00F2   572 	GSYSSRV	READEF,K,2,-		;READ EVENT FLAG

                                     00F2   573 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00F4   574 	GSYSSRV	RESUME,K,2,-		;RESUME PROCESS

                                     00F4   575 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00F6   576 	GSYSSRV	RUNDWN,K,1,-		;RUNDOWN

                                     00F6   577 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     00F8   578 	GSYSSRV	SNDSMB,E,2,-		;SEND MSG TO SYMBIONT MANAGER

                                     00F8   579 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	;REGISTERS R2-R11

                                     004B   580 	GSYSSRV	SCHDWK,K,4,-		;SCHEDULE WAKEUP

                                     004B   581 		<R2,R3,R4,R5,R6,R7,R8,R9> ;REGISTERS R2-R9

                                     00FA   582 	GSYSSRV	SETAST,K,1,-		;SET AST ENABLE SERVICE

                                     00FA   583 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00FC   584 	GSYSSRV	SETEF,K,1,-		;SET EVENT FLAG

                                     00FC   585 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     00FE   586 	GSYSSRV	SETEXV,K,4,-		;SET EXCEPTION VECTOR

                                     00FE   587 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     0100   588 	GSYSSRV	SETPRN,K,1,-		;SET PROCESS  NAME

                                     0100   589 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     0102   590 	GSYSSRV	SETPRA,K,2,-		;SET POWER RECOVERY AST

                                     0102   591 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     0104   592 	GSYSSRV	SETIMR,K,4,-		;SET TIMER

                                     0104   593 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     0106   594 	GSYSSRV	SETPRI,K,4,-		;SET PROCESS PRIORITY

                                     0106   595 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     0108   596 	GSYSSRV	SETPRT,K,5,-		;SET PAGE PROTECTION

                                     0108   597 		<R2,R3,R4,R5,R6,R7,R8,R9> ;REGISTERS R2-R9

                                     010A   598 	GSYSSRV	SETRWM,K,1,-		;SET RESOURCE WAIT MODE

                                     010A   599 		<R4>			;REGISTER R4

                                     010C   600 	GSYSSRV	SETSFM,K,1,-		;SET SYSTEM SERVICE FAILURE MODE

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  14

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                     010C   601 		<R4>			;REGISTER R4

                                     010E   602 	GSYSSRV	SETSWM,K,1,-		;SET PROCESS SWAP MODE

                                     010E   603 		<R4>			;REGISTER R4

                                     0110   604 	GSYSSRV	SUSPND,K,2,-		;SUSPEND PROCESS

                                     0110   605 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     0112   606 	GSYSSRV	TRNLOG,K,6,-		;TRANSLATE LOGICAL NAME

                                     0112   607 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     0114   608 	GSYSSRV	ULKPAG,K,3,-		;UNLOCK PAGE FROM MEMORY

                                     0114   609 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     0116   610 	GSYSSRV	ULWSET,K,3,-		;UNLOCK PAGES FROM WORKING SET

                                     0116   611 		<R2,R3,R4,R5,R6,R7,R8>	;REGISTERS R2-R8

                                     0118   612 	GSYSSRV	UNWIND,ALL,2,-		;UNWIND PROCEDURE CALL STACK

                                     0118   613 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     0278   614 	GSYSSRV	WAITFR,K,1,-		;WAIT FOR EVENT FLAG

                                     0278   615 		<R2,R3,R4,R5,R6>	;REGISTERS R2-R6

                                     011A   616 	GSYSSRV	WAKE,K,2,-		;WAKE PROCESS

                                     011A   617 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     011C   618 	GSYSSRV	WFLAND,K,2,-		;WAIT FOR LOGICAL AND OF EVENT FLAGS

                                     011C   619 		<R2,R3,R4,R5,R6>	;REGISTERS R2-R6

                                     011E   620 	GSYSSRV	WFLOR,K,2,-		;WAIT FOR LOGICAL OR OF EVENT FLAGS

                                     011E   621 		<R2,R3,R4,R5,R6>	;REGISTERS R2-R5

                                     0120   622 	GSYSSRV	BRDCST,K,2,-		;BROADCAST TO TERMINALS

                                     0120   623 		<R2,R3,R4,R5,R6,R7>	;REGISTERS R2-R7

                                     0122   624 	GSYSSRV	DCLCMH,K,3,-		;DECLARE CHANGE MODE HANDLER

                                     0122   625 		<R4>			;SAVE R4

                                     0124   626 	GSYSSRV	SETPFM,K,1,-		;SET PAGE FAULT MONITORING

                                     0124   627 		<R2,R3,R4,R5,R6>	;REGISTERS R2-R6

                                     0126   628 	GSYSSRV	GETMSG,ALL,5,-		;GET MESSAGE

                                     0126   629 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     02B8   630 	GSYSSRV	DERLMB,K,1,-		;DECLARE ERROR LOG MAILBOX

                                     02B8   631 		<R2,R3,R4,R5>		;REGISTERS R2-R5

                                     0128   632 	GSYSSRV	CANEXH,K,1,-		;CANCEL EXIT HANDLER

                                     0128   633 		<R2,R3,R4>		;REGISTERS R2-R4

                                     012A   634 	GSYSSRV	GETCHN,K,5,-		;GET CHANNEL INFORMATION

                                     012A   635 		<R2,R3,R4,R5,R6,R7,R8,R9> ;REGISTERS R2-R9

                                     012C   636 	GSYSSRV	GETDEV,K,5,-		;GET DEVICE INFORMATION

                                     012C   637 		<R2,R3,R4,R5,R6,R7,R8,R9> ;REGISTERS R2-R9

                                     012E   638 	GSYSSRV	GETJPI,K,7,-		;GET JOB PROCESS INFORMATION

                                     012E   639 		<R2,R3,R4,R5,R6,R7,R8,R9> ;REGISTERS R2-R9

                                     0130   640 	GSYSSRV	PUTMSG,ALL,3,-		;PUT FORMATTED ERROR MESSAGE

                                     0130   641 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     02E8   642 	GSYSSRV	EXCMSG,ALL,2,-		;OUTPUT EXCEPTION SUMMARY MESSAGE

                                     02E8   643 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     02F0   644 	GSYSSRV	SNDACC,E,2,-		;SEND MSG TO ACOUNTING MANAGER

                                     02F0   645 		<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;REGISTERS R2-R11

                                     004D   646 

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  15

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                           00000007  004D   648 	.IIF	NDF,LIBSWITCH,	RCASCTR=ECASCTR

                                     004D   649 	.IF	DF,RMSSWITCH

                                     004D   650 ;

                                     004D   651 ;  CASE DISPATCHER FOR RMS SERVICES

                                     004D   652 ;

                                     004D   653 ;	R0 HAS SERVICE DISPATCH CODE.

                                     004D   654 ;	IF IN RANGE DISPATCHES TO APPROPRIATE RMS SERVICE,

                                     004D   655 ;	ELSE SIMPLY DOES AN RSB

                                     004D   656 ;

                                     004D   657 	.PSECT	$$$RMSVEC,BYTE,NOWRT	;MUST BE FIRST PSECT IN RMS

                                     004D   658 RMS$DISPATCH:				;MUST BE FIRST CODE IN FIRST RMS PSECT

                                     004D   659 	CASEW	R0,S^#RCASMIN,S^#RCASMAX

                                     004D   660 

                                     004D   661 RCASE:

                                     004D   662 	.IFTF

                           00000007  004D   663 	.IIF	NDF,LIBSWITCH,	RCASMIN=RCASCTR

                                     004D   664 	.IFF

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  16

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                     004D   666 ;++

                                     004D   667 ;

                                     004D   668 ;  RMS SERVICES

                                     004D   669 ;

                                     004D   670 ;

                                     004D   671 ;  RMS SYNCHRONIZATION ROUTINE

                                     004D   672 ;

                                     004D   673 ;  THE FOLLOWING ROUTINE IS USED BY THE VARIOUS RMS SERVICES IN ORDER

                                     004D   674 ;  TO AWAIT I/O COMPLETION.  THE ROUTINE IS IN THE VECTOR AREA IN ORDER

                                     004D   675 ;  TO WAIT AT THE CALLER'S MODE,  THUS ALLOWING AST ACTIVITY FOR EITHER

                                     004D   676 ;  USER OR SUPERVISOR MODE, OR BOTH.

                                     004D   677 ;

                                     004D   678 ;  NOTE THAT EACH RMS SERVICE VECTOR TERMINATES WITH A BRANCH TO THIS

                                     004D   679 ;  ROUTINE.

                                     004D   680 ;

                                     004D   681 ;  THIS ROUTINE ASSUMES THAT THE FOLLOWING REGISTERS HAVE BEEN SET BY THE

                                     004D   682 ;  EXITING RMS EXEC-LEVEL CODE WHENEVER A STALL IS REQUIRED:

                                     004D   683 ;

                                     004D   684 ;	R3	EFN TO WAIT ON

                                     004D   685 ;	R8	RAB/FAB ADDRESS TO WAIT ON

                                     004D   686 ;	R4	(FOR $WAIT SERVICE ONLY) FLAG FOR WAIT TYPE

                                     004D   687 ;		(0 = SAME RAB, 1 = DIFFERENT RABS)

                                     004D   688 ;

                                     004D   689 ;--

                                     004D   690 	.IF NDF,LIBSWITCH

                                 000002F7   691 	.PSECT	$$$000,QUAD

                                     02F7   692 	.IFF

                                     02F7   693 	.PSECT	$$$0000,QUAD

                                     02F7   694 	.IFTF

                           00000320  02F7   695 	.BLKB	^X320-<.-VECBASE>

                                     0320   696 	.IFT

                                     0320   697 RMSWAIT_IO_DONE:

                                     0320   698 10$:	$WAITFR_S	R3		;WAIT FOR RMS EVENT FLAG

            50         08 A8     D0  0329   699 20$:	MOVL	8(R8),R0		;GET RMS STATUS CODE

                          04     13  032D   700 	BEQL	30$			;AND WAIT AGAIN IF NOT SET

            1A            50     E9  032F   701 	BLBC	R0,35$			;BRANCH IF FAILURE CODE

                                 04  0332   702 	RET				;RETURN TO CALLER

                                     0333   703 ;

                                     0333   704 ;  CLEAR THE RMS EVENT FLAG, CHECK STATUS AGAIN AND WAIT 1 MORE TIME IF

                                     0333   705 ;  OPERATION STILL NOT DONE

                                     0333   706 ;

                                     0333   707 30$:	$CLREF_S	R3		;CLEAR RMS EVENT FLAG

                       08 A8     D5  033C   708 	TSTL	8(R8)			;AND RE-CHECK STATUS

                          DF     13  033F   709 	BEQL	10$			;BRANCH TO WAIT FOR FLAG AGAIN..

                                     0341   710 					;... IF STATUS STILL ZERO

                                     0341   711 	$SETEF_S	R3		;I/O COMPLETE - LEAVE EFN SET

                          DD     11  034A   712 	BRB	20$			;AND RESTORE R0 STATUS CODE

                                     034C   713 ;

                                     034C   714 ;  CHECK STATUS CODE FOR ERROR OR SEVERE ERROR

                                     034C   715 ;

            50            06     93  034C   716 35$:	BITB	#6,R0			;ERROR OR SEVERE ERROR?

                          07     13  034F   717 	BEQL	40$			;BRANCH IF NOT

                                     0351   718 ;

                                     0351   719 ;  MUST RETURN TO EXEC MODE TO GENERATE POSSIBLE SYSTEM SERVICE FAILURE EXCEPTION

                                     0351   720 ;

            52            50     D0  0351   721 	MOVL	R0,R2			;STATUS CODE TO R2

                     0026'8F     BD  0354   722 	CHME	#SSVEXC			;GENERATE EXCEPTION IF ENABLED

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  17

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                 04  0358   723 40$:	RET

                                     0359   724 ;

                                     0359   725 ;  ENTRY HERE FROM $WAIT SERVICE.  THIS SERVES AS AN EXTENDED BRANCH

                                     0359   726 ;  TO THE $WAIT SYNCHRONIZATION CODE IN THE Y$CMODE PSECT.

                                     0359   727 ;

                           0000035A  0359   728 	.BLKB	<<<8-.>&^X7>-<<.+6-.>&^X7>>&^X7	;CAUSE RMSCHK_STALL TO BE QUAD WORD

                                     035A   729 						;   ALIGNED

                                     035A   730 RMSWAIT_BR:

                 00000070'9F     16  035A   731 	JSB	@#RMS_WAIT_SYNC			;DO $WAIT SYNCHRONIZATION

                                     0360   732 ;

                                     0360   733 ;

                                     0360   734 ;  ENTRY HERE FROM EACH VECTOR

                                     0360   735 ;  CHECK FOR POSSIBLE STALL

                                     0360   736 ;

                                     0360   737 RMSCHK_STALL:

       0000'8F            50     B1  0360   738 	CMPW	R0,#RMS$_STALL&^XFFFF	;IS THE STATUS CODE I/O STALL?

                          B9     13  0365   739 	BEQL	RMSWAIT_IO_DONE		;BRANCH IF YES

                                 04  0367   740 	RET				;BACK TO CALLER

                                     0368   741 	.ALIGN	QUAD

                                     0368   742 	.IFF

                                     0368   743 	.BLKB	72

                                     0368   744 	.ENDC

                                     0368   745 	.IFF

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  18

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                     0368   747 ;

                                     0368   748 ;

                                     0368   749 ;  DEFINE RMS SERVICES

                                     0368   750 ;

                           00000360  0368   751 	.IIF	NDF,LIBSWITCH,RMSSYNC=RMSCHK_STALL

                                     0368   752 	.ENDC

                                     0368   753 ;

                                     0368   754 ;  HIGH USE RECORD OPERATIONS

                                     0368   755 ;

                                     0368   756 	RMSSRV	DELETE		;DELETE A RECORD

                                     0008   757 	RMSSRV	FIND		;FIND RECORD

                                     0009   758 	RMSSRV	FREE		;RELEASE LOCK ON ALL RECORDS

                                     000A   759 	RMSSRV	GET		;GET A RECORD

                                     000B   760 	RMSSRV	PUT		;PUT A RECORD

                                     000C   761 	RMSSRV	READ		;READ A BLOCK

                                     000D   762 	RMSSRV	RELEASE		;RELEASE LOCK ON NAMED RECORD

                                     000E   763 	RMSSRV	UPDATE		;REWRITE EXISTING RECORD

                                     000F   764 	.IF	NDF,RMSSWITCH

                           0000035A  000F   765 	.IIF	NDF,LIBSWITCH,RMSSYNC=RMSWAIT_BR	;REDEFINE FOR $WAIT ONLY

                                     000F   766 	.ENDC

                                     000F   767 	RMSSRV	WAIT		;STALL FOR RECORD OPERATION COMPLETE

                                     0010   768 	.IF	NDF,RMSSWITCH

                           00000360  0010   769 	.IIF	NDF,LIBSWITCH,RMSSYNC=RMSCHK_STALL	;RESTORE STANDARD SYNC ADDR

                                     0010   770 	.ENDC

                                     0010   771 	RMSSRV	WRITE		;WRITE BLOCK

                                     0011   772 ;

                                     0011   773 ;  LOWER USAGE OPERATIONS

                                     0011   774 ;

                                     0011   775 	RMSSRV	CLOSE		;CLOSE FILE

                                     0012   776 	RMSSRV	CONNECT		;CONNECT RAB

                                     0013   777 	RMSSRV	CREATE		;CREATE FILE

                                     0014   778 	RMSSRV	DISCONNECT	;DISCONNECT RAB

                                     0015   779 	RMSSRV	DISPLAY		;DISPLAY FILE INFORMATION

                                     0016   780 	RMSSRV	ERASE		;ERASE (DELETE) FILE

                                     0017   781 	RMSSRV	EXTEND		;EXTEND FILE ALLOCATION

                                     0018   782 	RMSSRV	FLUSH		;FINISH I/O ACTIVITY FOR STREAM

                                     0019   783 	RMSSRV	MODIFY		;MODIFY FILE ATTRIBUTES

                                     001A   784 	RMSSRV	NXTVOL		;NEXT VOLUME

                                     001B   785 	RMSSRV	OPEN		;OPEN FILE

                                     001C   786 	RMSSRV	REWIND		;REWIND FILE

                                     001D   787 	RMSSRV	SPACE		;POSITION FOR TRANSFER

                                     001E   788 	RMSSRV	TRUNCATE	;TRUNCATE FILE

                                     001F   789 	RMSSRV	ENTER		;ENTER FILENAME INTO DIRECTORY

                                     0020   790 	RMSSRV	PARSE		;PARSE FILENAME SPECIFICATION

                                     0021   791 	RMSSRV	REMOVE		;REMOVE FILENAME FROM DIRECTORY

                                     0022   792 	RMSSRV	RENAME,NARG=4	;RENAME A FILE

                                     0023   793 	RMSSRV	SEARCH		;SEARCH A FILE DIRECTORY

                                     0024   794 	RMSSRV	SETDDIR,REGS=<R2,R3,R4,R5>,NARG=3,NOSYNC=1

                                     0025   795 				;SET DEFAULT DIRECTORY STRING

                                     0025   796 	RMSSRV	SETDFPROT,REGS=<R2,R3>,NARG=2,NOSYNC=1

                                     0026   797 				;SET DEFAULT FILE PROTECTION MASK

                                     0026   798 	RMSSRV	SSVEXC,REGS=<>,NOSYNC=1

                                     0027   799 				;GENERATE SYS SERV EXCEPTION

                                     0027   800 	RMSSRV	RMSRUNDWN,NARG=2,NOSYNC=1

                                     0028   801 				;PERFORM RUNDOWN ON RMS FILES

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  19

02              SYSTEM SERVICE VECTOR DEFINITION                                                                                 (1)



                                 0000046F   807 	.PSECT	$$$000,BYTE

                           00000600  046F   808 	.BLKB	<SGN$C_SYSVECPGS@9>-<.-VECBASE>	;FILL REMAINDER OF RESERVED PAGES

                                     0600   809 

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  20

02              ILLEGAL CHME OR CHMK CODE VALUE HANDLING                                                                         (1)



                                     0600   811 	.SBTTL	ILLEGAL CHME OR CHMK CODE VALUE HANDLING

                                     0600   812 ;

                                     0600   813 ;

                                     0600   814 ;	END OF CHME DISPATCH TABLE

                                     0600   815 ;

                                     0600   816  

                                 0000004D   817 	.PSECT	Y$CMODE,QUAD

                 00000000'FF     16  004D   818 	JSB	@CTL$GL_RMSBASE		;SEE IF RMS DOES THIS SERVICE

                                     0053   819 					;  (R0 HAS CHME CODE)

                          50     B5  0053   820 	TSTW	R0			; CHECK FOR NEGATIVE CODE => USER

                          16     18  0055   821 	BGEQ	20$			; NO, ILLEGAL

            51   00000000'9F     D0  0057   822 	MOVL	@#CTL$GL_USRCHME,R1	; GET PER-PROCESS USER CHME VECTOR

                          02     13  005E   823 	BEQL	10$			; NOT PRESENT, TRY SYSTEM WIDE

                                     0060   824 

                                     0060   825 ;

                                     0060   826 ;	CALL PER-PROCESS "USER" SUPPLIED PLUG-ON HANDLER FOR CHME 

                                     0060   827 ;	WITH NEGATIVE CODES.

                                     0060   828 ;

                                     0060   829 ;	R0 - CODE FROM CHME/CHMK (LONGWORD)

                                     0060   830 ;	R1 - ADDRESS OF ROUTINE

                                     0060   831 ;	(SP) - RETURN ADDRESS IN CASE CODE IS NOT LEGAL.

                                     0060   832 ;	       IF AN RSB IS ISSUED, THEN THE SYSTEM-WIDE HANDLER WILL BE

                                     0060   833 ;	       GIVEN AN OPPORTUNITY BEFORE DECIDING THAT THE CODE IS REALLY ILLEGAL.

                                     0060   834 ;		(NORMAL RETURN IS A RET AFTER PERFORMING FUNCTION)

                                     0060   835 ;

                          61     16  0060   836 	JSB	(R1)			; CALL PER-PROCESS USR CHME HANDLER

                                     0062   837 					; RETURNS ONLY IF ILLEGAL CODE

            51   00000000'EF     D0  0062   838 10$:	MOVL	L^EXE$GL_USRCHME,R1	; ELSE TRY SYSTEM WIDE VECTOR

                          02     13  0069   839 	BEQL	20$			; NOT PRESENT, ILLEGAL

                          61     16  006B   840 	JSB	(R1)			; CALL SYSTEM WIDE USER CHME HANDLER

                                     006D   841 ;

                                     006D   842 ;	CALL PER-PROCESS "USER" SUPPLIED PLUG-ON HANDLER FOR CHME 

                                     006D   843 ;	WITH NEGATIVE CODES.

                                     006D   844 ;

                                     006D   845 ;	R0 - CODE FROM CHME/CHMK (LONGWORD)

                                     006D   846 ;	R1 - ADDRESS OF ROUTINE

                                     006D   847 ;	(SP) - RETURN ADDRESS TO GIVE SS$_ILLSER ERROR

                                     006D   848 ;		(NORMAL RETURN IS A RET AFTER PERFORMING FUNCTION)

                                     006D   849 ;

                                     006D   850 					; RETURNS ONLY IF ILLEGAL CODE

                          00DC'  31  006D   851 20$:	BRW	ILLSER			;

                                     0070   852 

                           00000006  0070   853 ECASMAX=ECASCTR-1

                                     0070   854 ;

                                     0070   855 ;

                                     0070   856 ;  RMS $WAIT SYNCHRONIZATION CODE.

                                     0070   857 ;

                                     0070   858 ;  LOOK AT FLAG IN R4 TO DETERMINE IF THIS IS A $WAIT FOR THE SAME OR DIFFERENT

                                     0070   859 ;  RABS.  IF SAME, MERELY RSB;  IF DIFFERENT, WAIT ON EVENT FLAG AND THEN

                                     0070   860 ;  RE-EXECUTE THE $WAIT SERVICE.

                                     0070   861 ;

                                     0070   862 

                                     0070   863 RMS_WAIT_SYNC:

            01            54     E8  0070   864 	BLBS	R4,10$			;BRANCH IF DIFFERENT RABS

                                 05  0073   865 	RSB				;HANDLE WITH STANDARD STALL

                          8E     D5  0074   866 10$:	TSTL	(SP)+			;POP RETURN PC FROM STACK

       0000'8F            50     B1  0076   867 	CMPW	R0,#RMS$_STALL&^XFFFF	;IS STALL REQUIRED?

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  21

02              ILLEGAL CHME OR CHMK CODE VALUE HANDLING                                                                         (1)



                          01     13  007B   868 	BEQL	20$			;BRANCH IF YES

                                 04  007D   869 	RET				;NO - BACK TO USER

                                     007E   870 20$:	$WAITFR_S	R3		;WAIT ON SPECIFIED EVENT FLAG

                 00000002'EF     17  0087   871 	JMP	SYS$WAIT+2		;RE-EXECUTE RMS $WAIT

                                     008D   872  

                                     008D   873 ;

                                     008D   874 ;	END OF CHMK DISPATCH TABLE

                                     008D   875 ;

                                     008D   876  

                                 00000130   877 	.PSECT	Y$CMODK,QUAD

                                     0130   878 ;

                                     0130   879 ; UNIMPLEMENTED SERVICES, DEFINED TO PROVIDE CLEAN LINK.

                                     0130   880 ; REMOVE NAME AND VERIFY GSYSSRV ENTRY WHEN SERVICE IS IMPLEMENTED.

                                     0130   881 ;

                                     0130   882 

                                     0130   883 ILLCHMK:				; OUT OF RANGE CHMK CODE

                          50     B5  0130   884 	TSTW	R0			; CHECK FOR USER CODE RANGE

                          18     18  0132   885 	BGEQ	ILLSER			; NO, REALLY ILLEGAL

            51   00000000'9F     D0  0134   886 	MOVL	@#CTL$GL_USRCHMK,R1	; GET PER-PROCESS VECTOR

                          02     13  013B   887 	BEQL	10$			; NOT PRESENT, TRY FOR SYSTEM WIDE

                          61     16  013D   888 	JSB	(R1)			; CALL PER-PROCESS HANDLER

                                     013F   889 					; RETURNS ONLY IF CODE IN R0 IS NOT

                                     013F   890 					; HANDLED BY PER PROCESS HANDLER

            51   00000000'EF     D0  013F   891 10$:	MOVL	L^EXE$GL_USRCHMK,R1	; ELSE GET SYSTEM WIDE VECTOR

                          02     13  0146   892 	BEQL	20$			; NOT PRESENT, ILLEGAL SERVICE

                          61     16  0148   893 	JSB	(R1)			; CALL SYSTEM WIDE HANDLER

                                     014A   894 					; RETURN ONLY IF ILLEGAL CODE

                                     014A   895 20$:					;

                                     014A   896 EXE$ALCDNP:				;

                                     014A   897 EXE$CLRPAR:				;

                                     014A   898 EXE$DLCDNP:				;

                                     014A   899 EXE$GETJPP:				;***** REUSE THIS VECTOR

                                     014A   900 EXE$GTCHAN:				;***** REUSE THIS VECTOR

                                 01  014A   901 	NOP

                                 01  014B   902 	NOP

                                     014C   903 

            50       0104 8F     3C  014C   904 ILLSER:	MOVZWL	#SS$_ILLSER,R0		;ILLEGAL SYSTEM SERVICE

                                 04  0151   905 	RET				;

                                     0152   906  

                           0000004A  0152   907 KCASMAX=KCASCTR-2

                                     0152   908  

                                     0152   909 	.ENDC

                                     0152   910 

                                     0152   911 	.IFTF

                           00000027  0152   912 	.IIF	NDF,LIBSWITCH,	RCASMAX=RCASCTR-1

                                     0152   913 	.IFF

                                     0152   914 	.LIST

                                     0152   915 	.PSECT	$$$RMSVEC,BYTE,NOWRT

                                     0152   916 	RSB				;NOT AN RMS EXEC MODE SERVICE

                                     0152   917 ;

                                     0152   918 ;  SERVICE TO MERELY MOVE RMS STATUS CODE IN R2 TO R0 AND RET,

                                     0152   919 ;  THUS GENERATING A SYSTEM SERVICE FAILURE EXCEPTION IF ENABLED

                                     0152   920 ;

                                     0152   921 RMS$SSVEXC=.-2

                                     0152   922 	MOVL	R2,R0			;MOVE STATUS CODE TO R0

                                     0152   923 	RET				;AND LET RET DO THE REST

                                     0152   924 	.ENDC

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  22

02              ILLEGAL CHME OR CHMK CODE VALUE HANDLING                                                                         (1)



                                     0152   925 	.END

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  23

SYMBOL TABLE                                                                                                                     (1)



ACCVIO           0000001A R     05   EXACCVIO         00000000 R     03   EXE$GTCHAN       0000014A R     05   

ADJSTK         = 00000001            EXE$ADJSTK       ********   X   05   EXE$HIBER        ********   X   05   

ADJWSL         = 00000002            EXE$ADJWSL       ********   X   05   EXE$IMGACT       ********   X   03   

ALCDNP         = 00000003            EXE$ALCDNP       0000014A R     05   EXE$IMGSTA       ********   X   07   

ALLOC          = 00000004            EXE$ALLOC        ********   X   05   EXE$LCKPAG       ********   X   05   

ASCEFC         = 00000005            EXE$ASCEFC       ********   X   05   EXE$LKWSET       ********   X   05   

ASSIGN         = 00000006            EXE$ASCTIM       ********   X   07   EXE$MGBLSC       ********   X   05   

ASTEXIT          00000000 R     05   EXE$ASSIGN       ********   X   05   EXE$NUMTIM       ********   X   03   

BIT...         = 00000000            EXE$BINTIM       ********   X   07   EXE$PURGWS       ********   X   05   

BRDCST         = 00000044            EXE$BRDCST       ********   X   05   EXE$PUTMSG       ********   X   07   

BUG$_MTXCNTNONZ  ********   X   05   EXE$CANCEL       ********   X   05   EXE$QIO          ********   X   05   

BUG$_SSRVEXCEPT  ********   X   05   EXE$CANEXH       ********   X   05   EXE$READEF       ********   X   05   

B_EXECNARG       00000000 R     04   EXE$CANTIM       ********   X   05   EXE$RESUME       ********   X   05   

B_KRNLNARG     = FFFFFFFF R     06   EXE$CANWAK       ********   X   05   EXE$RUNDWN       ********   X   05   

CANCEL         = 00000007            EXE$CLREF        ********   X   05   EXE$SCHDWK       ********   X   05   

CANEXH         = 00000048            EXE$CLRPAR       0000014A R     05   EXE$SETAST       ********   X   05   

CANTIM         = 00000008            EXE$CMEXEC       ********   X   03   EXE$SETEF        ********   X   05   

CANWAK         = 00000009            EXE$CMKRNL       ********   X   05   EXE$SETEXV       ********   X   05   

CLOSE          = 00000011            EXE$CMODEXEC     00000010 RG    03   EXE$SETIMR       ********   X   05   

CLREF          = 0000000D            EXE$CMODKRNL     00000060 RG    05   EXE$SETPFM       ********   X   05   

CLRPAR         = 0000000B            EXE$CNTREG       ********   X   05   EXE$SETPRA       ********   X   05   

CMEXEC         = 00000000            EXE$CRELOG       ********   X   05   EXE$SETPRI       ********   X   05   

CMKRNL         = 0000000C            EXE$CREMBX       ********   X   05   EXE$SETPRN       ********   X   05   

CNTREG         = 0000000E            EXE$CREPRC       ********   X   05   EXE$SETPRT       ********   X   05   

CONNECT        = 00000012            EXE$CRETVA       ********   X   05   EXE$SETRWM       ********   X   05   

CREATE         = 00000013            EXE$CRMPSC       ********   X   05   EXE$SETSFM       ********   X   05   

CRELOG         = 00000010            EXE$C_CMSTKSZ  = 00000014  G         EXE$SETSWM       ********   X   05   

CREMBX         = 00000011            EXE$DACEFC       ********   X   05   EXE$SNDACC       ********   X   03   

CREPRC         = 00000012            EXE$DALLOC       ********   X   05   EXE$SNDERR       ********   X   05   

CRETVA         = 00000013            EXE$DASSGN       ********   X   05   EXE$SNDOPR       ********   X   03   

CRMPSC         = 0000000A            EXE$DCLAST       ********   X   05   EXE$SNDSMB       ********   X   03   

CTL$AL_CLICALBK  ********   X   07   EXE$DCLCMH       ********   X   05   EXE$SSFAIL       ********   X   05   

CTL$GL_RMSBASE   ********   X   03   EXE$DCLEXH       ********   X   05   EXE$SUSPND       ********   X   05   

CTL$GL_USRCHME   ********   X   03   EXE$DELLOG       ********   X   05   EXE$TRNLOG       ********   X   05   

CTL$GL_USRCHMK   ********   X   05   EXE$DELMBX       ********   X   05   EXE$ULKPAG       ********   X   05   

DACEFC         = 00000014            EXE$DELPRC       ********   X   05   EXE$ULWSET       ********   X   05   

DALLOC         = 00000015            EXE$DELTVA       ********   X   05   EXE$UNWIND       ********   X   07   

DASSGN         = 00000016            EXE$DERLMB       ********   X   05   EXE$UPDSEC       ********   X   05   

DCLAST         = 00000017            EXE$DGBLSC       ********   X   05   EXE$WAITFR       ********   X   05   

DCLCMH         = 00000045            EXE$DLCDNP       0000014A R     05   EXE$WAKE         ********   X   05   

DCLEXH         = 00000018            EXE$DLCEFC       ********   X   05   EXE$WFLAND       ********   X   05   

DELETE         = 00000007            EXE$EXCMSG       ********   X   07   EXE$WFLOR        ********   X   05   

DELLOG         = 00000019            EXE$EXCPTN       0000002F RG    05   EXEDSP           0000003B R     03   

DELMBX         = 0000001A            EXE$EXIT         ********   X   05   EXINSARG         00000003 R     03   

DELPRC         = 0000001B            EXE$EXPREG       ********   X   05   EXIT           = 00000022            

DELTVA         = 0000001C            EXE$FAO          ********   X   07   EXPREG         = 00000023            

DERLMB         = 00000047            EXE$FAOL         ********   X   07   EXTEND         = 00000017            

DGBLSC         = 0000001D            EXE$FORCEX       ********   X   05   FIND           = 00000008            

DISCONNECT     = 00000014            EXE$GETCHN       ********   X   05   FLUSH          = 00000018            

DISPLAY        = 00000015            EXE$GETDEV       ********   X   05   FORCEX         = 00000024            

DLCDNP         = 0000001E            EXE$GETJPI       ********   X   05   FREE           = 00000009            

DLCEFC         = 0000001F            EXE$GETJPP       0000014A R     05   GBL...         = 00000000            

ECASCTR        = 00000007            EXE$GETMSG       ********   X   07   GET            = 0000000A            

ECASE            0000003F R     03   EXE$GETPTI       ********   X   05   GETCHN         = 00000049            

ECASMAX        = 00000006            EXE$GETTIM       ********   X   03   GETDEV         = 0000004A            

ENTER          = 0000001F            EXE$GL_USRCHME   ********   X   03   GETJPI         = 0000004B            

ERASE          = 00000016            EXE$GL_USRCHMK   ********   X   05   GETJPP         = 00000025            

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  24

SYMBOL TABLE                                                                                                                     (1)



GETPTI         = 0000000F            PCB$V_NODELET  = 00000017            PHD$L_PCB        00000078            

GETTIM         = 00000001            PCB$V_PHDRES   = 00000012            PHD$L_PGFLCNT    00000034            

GTCHAN         = 00000026            PCB$V_PSWAPM   = 00000004            PHD$L_PGFLQUOTA  0000005C            

HIBER          = 00000027            PCB$V_PWRAST   = 00000016            PHD$L_PSL        000000C4            

ILLCHMK          00000130 R     05   PCB$V_RES      = 00000000            PHD$L_PSTBASOFF  00000020            

ILLSER           0000014C R     05   PCB$V_RESPEN   = 00000005            PHD$L_PTWSLELCK  00000064            

IMGACT         = 00000002            PCB$V_SSFEXC   = 00000006            PHD$L_PTWSLEVAL  00000068            

INSARG           00000025 R     05   PCB$V_SSFEXCE  = 00000007            PHD$L_R0         00000088            

KCASCTR        = 0000004C            PCB$V_SSFEXCS  = 00000008            PHD$L_R1         0000008C            

KCASE            0000009A R     05   PCB$V_SSFEXCU  = 00000009            PHD$L_R10        000000B0            

KCASMAX        = 0000004A            PCB$V_SSRWAIT  = 0000000A            PHD$L_R11        000000B4            

KERDSP           0000008D R     05   PCB$V_SUSPEN   = 0000000B            PHD$L_R12        000000B8            

KINSARG          00000021 R     05   PCB$V_SWPVBN   = 00000010            PHD$L_R13        000000BC            

LCKPAG         = 00000028            PCB$V_WAKEPEN  = 0000000C            PHD$L_R2         00000090            

LKWSET         = 00000029            PCB$V_WALL     = 0000000D            PHD$L_R3         00000094            

MGBLSC         = 0000002A            PCB$W_APTCNT     00000034            PHD$L_R4         00000098            

MODIFY         = 00000019            PCB$W_ASTCNT     0000003C            PHD$L_R5         0000009C            

NUMTIM         = 00000003            PCB$W_BIOCNT     0000003E            PHD$L_R6         000000A0            

NXTVOL         = 0000001A            PCB$W_BIOLM      00000040            PHD$L_R7         000000A4            

OPEN           = 0000001B            PCB$W_BYTCNT     00000042            PHD$L_R8         000000A8            

PARSE          = 00000020            PCB$W_BYTLM      00000068            PHD$L_R9         000000AC            

PCB$B_ASTACT     0000000C            PCB$W_DIOCNT     00000044            PHD$L_REFERFLT   00000014            

PCB$B_ASTEN      0000000D            PCB$W_DIOLM      00000046            PHD$L_SSP        00000080            

PCB$B_PRI        0000000B            PCB$W_FILCNT     00000048            PHD$L_USP        00000084            

PCB$B_PRIB       00000033            PCB$W_GPGCNT     00000038            PHD$L_WSL        00000118            

PCB$B_TYPE       0000000A            PCB$W_GRP        00000022            PHD$M_DALCSTX  = 00000002            

PCB$B_WEFC       00000032            PCB$W_MEM        00000020            PHD$M_PFMFLG   = 00000001            

PCB$C_LENGTH     0000007C            PCB$W_MTXCNT     0000000E            PHD$M_WSPEAKCHK= 00000004            

PCB$K_LENGTH     0000007C            PCB$W_PPGCNT     0000003A            PHD$Q_PRIVMSK    00000000            

PCB$L_ASTQBL     00000014            PCB$W_PRCCNT     0000006A            PHD$S_ASTLVL   = 00000008            

PCB$L_ASTQFL     00000010            PCB$W_SIZE       00000008            PHD$S_P0LR     = 00000018            

PCB$L_EFC2P      00000058            PCB$W_STATE      00000030            PHD$V_ASTLVL   = 00000018            

PCB$L_EFC3P      0000005C            PCB$W_TMBU       00000036            PHD$V_DALCSTX  = 00000001            

PCB$L_EFCS       00000050            PCB$W_TQCNT      0000004A            PHD$V_P0LR     = 00000000            

PCB$L_EFCU       00000054            PHD$B_ASTLVL     000000CF            PHD$V_PFMFLG   = 00000000            

PCB$L_EFWM       0000004C            PHD$B_DFPFC      00000038            PHD$V_WSPEAKCHK= 00000002            

PCB$L_OWNER      0000001C            PHD$B_PAGFIL     0000001F            PHD$W_ASTLM      00000044            

PCB$L_PHD        00000064            PHD$B_PGTBPFC    00000039            PHD$W_BAK        00000048            

PCB$L_PHYPCB     00000018            PHD$C_LENGTH     00000118            PHD$W_DFWSCNT    0000001A            

PCB$L_PID        00000060            PHD$C_PHDPAGCTX= 00000008            PHD$W_EMPTPG     000000D8            

PCB$L_PQB        0000004C            PHD$K_LENGTH     00000118            PHD$W_EXTDYNWS   00000076            

PCB$L_SQBL       00000004            PHD$L_BIOCNT     00000054            PHD$W_FILLM      00000060            

PCB$L_SQFL       00000000            PHD$L_CPULIM     00000058            PHD$W_FLAGS      0000003A            

PCB$L_STS        00000028            PHD$L_CPUTIM     0000003C            PHD$W_PHVINDEX   00000046            

PCB$L_UIC        00000020            PHD$L_DIOCNT     00000050            PHD$W_PRCLM      00000042            

PCB$L_WSSWP      00000024            PHD$L_ESP        0000007C            PHD$W_PST        00000020            

PCB$L_WTIME      0000002C            PHD$L_FREP0VA    00000028            PHD$W_PSTBASMAX  0000004A            

PCB$T_LNAME      0000006C            PHD$L_FREP1VA    00000030            PHD$W_PSTFREE    00000026            

PCB$V_ASTPEN   = 00000011            PHD$L_FREPTECNT  0000002C            PHD$W_PSTLAST    00000024            

PCB$V_BATCH    = 0000000E            PHD$L_KSP        00000078            PHD$W_PTCNTACT   00000070            

PCB$V_DELPEN   = 00000001            PHD$L_P0BR       000000C8            PHD$W_PTCNTLCK   0000006C            

PCB$V_FORCPEN  = 00000002            PHD$L_P0LRASTL   000000CC            PHD$W_PTCNTMAX   00000072            

PCB$V_HIBER    = 00000013            PHD$L_P1BR       000000D0            PHD$W_PTCNTVAL   0000006E            

PCB$V_INQUAN   = 00000003            PHD$L_P1LR       000000D4            PHD$W_QUANT      00000040            

PCB$V_LOGIN    = 00000014            PHD$L_PAGEFLTS   0000004C            PHD$W_TQLM       00000062            

PCB$V_NETWRK   = 00000015            PHD$L_PAGFIL     0000001C            PHD$W_WSAUTH     0000000A            

PCB$V_NOACNT   = 0000000F            PHD$L_PC         000000C0            PHD$W_WSDYN      0000000E            

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  25

SYMBOL TABLE                                                                                                                     (1)



PHD$W_WSFLUID    00000074            PSL$M_IPL      = 001F0000            SETPRT         = 00000038            

PHD$W_WSLAST     00000012            PSL$M_IS       = 04000000            SETRWM         = 00000039            

PHD$W_WSLIST     00000008            PSL$M_IV       = 00000020            SETSFM         = 0000003A            

PHD$W_WSLOCK     0000000C            PSL$M_PRVMOD   = 00C00000            SETSWM         = 0000003B            

PHD$W_WSLX       0000004A            PSL$M_SAFBITS  = 000037FF            SGN$C_BALSETCNT= 00000018            

PHD$W_WSNEXT     00000010            PSL$M_TBIT     = 00000010            SGN$C_DFWSCNT  = 00000064            

PHD$W_WSQUOTA    00000018            PSL$M_TP       = 40000000            SGN$C_DFWSQUOTA= 00000078            

PR$_ACCR       = 00000029            PSL$S_CURMOD   = 00000002            SGN$C_GBLSECCNT= 00000028            

PR$_ACCS       = 00000028            PSL$S_IPL      = 00000005            SGN$C_MAXGPGCNT= 00000800            

PR$_ASTLVL     = 00000013            PSL$S_PRVMOD   = 00000002            SGN$C_MAXPAGCNT= 00004000            

PR$_ESP        = 00000001            PSL$V_CM       = 0000001F            SGN$C_MAXPGFL  = 00001000            

PR$_ICCS       = 00000018            PSL$V_CURMOD   = 00000018            SGN$C_MAXPSTCNT= 00000005            

PR$_ICR        = 0000001A            PSL$V_DV       = 00000007            SGN$C_MAXVPGCNT= 00002000            

PR$_IPL        = 00000012            PSL$V_FPD      = 0000001B            SGN$C_MAXWSCNT = 00000400            

PR$_ISP        = 00000004            PSL$V_FU       = 00000006            SGN$C_MINWSCNT = 0000000A            

PR$_KSP        = 00000000            PSL$V_IPL      = 00000010            SGN$C_NPAGEDYN = 00006800            

PR$_MAPEN      = 00000038            PSL$V_IS       = 0000001A            SGN$C_NPROCS   = 00000040            

PR$_NICR       = 00000019            PSL$V_IV       = 00000005            SGN$C_PAGEDYN  = 00004000            

PR$_P0BR       = 00000008            PSL$V_PRVMOD   = 00000016            SGN$C_PHYPAGCNT= 00001000            

PR$_P0LR       = 00000009            PSL$V_TBIT     = 00000004            SGN$C_SFTMAX   = 00000003            

PR$_P1BR       = 0000000A            PSL$V_TP       = 0000001E            SGN$C_SYSDWSCNT= 00000028            

PR$_P1LR       = 0000000B            PURGWS         = 0000002B            SGN$C_SYSVECPGS= 00000003            

PR$_PCBB       = 00000010            PUT            = 0000000B            SGN$C_SYSWSCNT = 00000060            

PR$_PME        = 0000003D            QIO            = 0000002C            SNDACC         = 00000006            

PR$_RXCS       = 00000020            RCASCTR        = 00000028            SNDERR         = 00000021            

PR$_RXDB       = 00000021            RCASMAX        = 00000027            SNDOPR         = 00000004            

PR$_SBIER      = 00000034            RCASMIN        = 00000007            SNDSMB         = 00000005            

PR$_SBIFS      = 00000030            READ           = 0000000C            SPACE          = 0000001D            

PR$_SBIMT      = 00000033            READEF         = 0000002D            SRVEXIT          0000002B R     05   

PR$_SBIQC      = 00000036            RELEASE        = 0000000D            SRVREI           0000002E R     05   

PR$_SBIS       = 00000031            REMOVE         = 00000021            SS$_ABORT      = 0000002C            

PR$_SBISC      = 00000032            RENAME         = 00000022            SS$_ACCONFLICT = 00000800            

PR$_SBITA      = 00000035            RESUME         = 0000002E            SS$_ACCVIO     = 0000000C            

PR$_SBR        = 0000000C            REWIND         = 0000001C            SS$_ACPVAFUL   = 000002FC            

PR$_SCBB       = 00000011            RMS$_STALL       ********   X   07   SS$_ARTRES     = 00000474            

PR$_SID        = 0000003E            RMSCHK_STALL     00000360 R     07   SS$_ASTFLT     = 0000040C            

PR$_SIRR       = 00000014            RMSRUNDWN      = 00000027            SS$_BADATTRIB  = 00000034            

PR$_SISR       = 00000015            RMSSYNC        = 000003D6 R     07   SS$_BADCHKSUM  = 00000808            

PR$_SLR        = 0000000D            RMSWAIT_BR       0000035A R     07   SS$_BADESCAPE  = 0000003C            

PR$_SSP        = 00000002            RMSWAIT_IO_DONE  00000320 R     07   SS$_BADFILEHDR = 00000810            

PR$_TBIA       = 00000039            RMSWBR         = 0000044E R     07   SS$_BADFILENAME= 00000818            

PR$_TBIS       = 0000003A            RMS_WAIT_SYNC    00000070 R     03   SS$_BADFILEVER = 00000820            

PR$_TODR       = 0000001B            RUNDWN         = 0000002F            SS$_BADIMGHDR  = 00000044            

PR$_TXCS       = 00000022            SCH$GL_CURPCB    ********   X   05   SS$_BADIRECTORY= 00000828            

PR$_TXDB       = 00000023            SCH$NEWLVL       ********   X   05   SS$_BADPARAM   = 00000014            

PR$_USP        = 00000003            SCHDWK         = 00000030            SS$_BADSTACK   = 000002B4            

PR$_WCSA       = 0000002C            SEARCH         = 00000023            SS$_BEGOFFILE  = 00000938            

PR$_WCSD       = 0000002D            SETAST         = 00000031            SS$_BLOCKCNTERR= 00000940            

PSL$C_EXEC     = 00000001            SETDDIR        = 00000024            SS$_BREAK      = 00000414            

PSL$C_KERNEL   = 00000000            SETDFPROT      = 00000025            SS$_BUFBYTALI  = 0000030C            

PSL$C_SUPER    = 00000002            SETEF          = 00000032            SS$_BUFFEROVF  = 00000601            

PSL$C_USER     = 00000003            SETEXV         = 00000033            SS$_BUGCHECK   = 000002A4            

PSL$M_CM       = 80000000            SETIMR         = 00000036            SS$_CANCEL     = 00000830            

PSL$M_CURMOD   = 03000000            SETPFM         = 00000046            SS$_CHANINTLK  = 0000004C            

PSL$M_DV       = 00000080            SETPRA         = 00000035            SS$_CLIFRCEXT  = 00000980            

PSL$M_FPD      = 08000000            SETPRI         = 00000037            SS$_CMODSUPR   = 0000041C            

PSL$M_FU       = 00000040            SETPRN         = 00000034            SS$_CMODUSER   = 00000424            

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  26

SYMBOL TABLE                                                                                                                     (1)



SS$_COMPAT     = 0000042C            SS$_ILLIOFUNC  = 000000F4            SS$_NOSUCHSEC  = 00000978            

SS$_CONTINUE   = 00000001            SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            

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

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

SS$_CONTROLY   = 00000611            SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            

SS$_CREATED    = 00000619            SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            

SS$_CTRLERR    = 00000054            SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            

SS$_DATACHECK  = 0000005C            SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            

SS$_DATAOVERUN = 00000838            SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            

SS$_DEBUG      = 0000046C            SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            

SS$_DECOVF     = 000004A4            SS$_INSFRAME   = 0000012C            SS$_OPCDEC     = 0000043C            

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

SS$_DEVALLOC   = 00000840            SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            

SS$_DEVALRALLOC= 00000641            SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            

SS$_DEVASSIGN  = 00000848            SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            

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

SS$_DEVICEFULL = 00000850            SS$_IVCHNLSEC  = 0000026C            SS$_PFMBSY     = 00000204            

SS$_DEVMOUNT   = 0000006C            SS$_IVDEVNAM   = 00000144            SS$_PLHLDR     = 00000404            

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

SS$_DEVNOTMBX  = 00000074            SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            

SS$_DEVNOTMOUNT= 0000007C            SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            

SS$_DEVOFFLINE = 00000084            SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            

SS$_DIRFULL    = 00000860            SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            

SS$_DRVERR     = 0000008C            SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            

SS$_DUPFILENAME= 00000868            SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            

SS$_DUPLNAM    = 00000094            SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            

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

SS$_ENDOFTAPE  = 00000878            SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            

SS$_ENDOFUSRLBL= 00000970            SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            

SS$_EXQUOTA    = 0000001C            SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            

SS$_EXTIDXFILE = 00000880            SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            

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

SS$_FCPREPSTN  = 00000988            SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            

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

SS$_FCPSPACERR = 00000898            SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_FCPWRITERR = 000008A0            SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_FILACCERR  = 0000009C            SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SS$_FILALRACC  = 000000A4            SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_FILELOCKED = 000008A8            SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_FILENUMCHK = 000008B0            SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_FILESEQCHK = 000008B8            SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_FILESTRUCT = 000008C0            SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_FILNOTACC  = 000000AC            SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_FILNOTCNTG = 000002AC            SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_FILNOTEXP  = 000000B4            SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_FLTDIV     = 00000494            SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_FLTOVF     = 0000048C            SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_FLTUND     = 0000049C            SS$_NONEXDRV   = 000001C4            SSFAIL           00000035 R     05   

SS$_FORMAT     = 000000BC            SS$_NONEXPR    = 000008E8            SSVEXC         = 00000026            

SS$_GPTFULL    = 000000C4            SS$_NONLOCAL   = 000008F0            SUSPND         = 0000003C            

SS$_GSDFULL    = 000000CC            SS$_NOPRIV     = 00000024            SYS$CLREF        ********   X   07   

SS$_HANGUP     = 000002CC            SS$_NORMAL     = 00000001            SYS$SETEF        ********   X   07   

SS$_HEADERFULL = 000008C8            SS$_NOSIGNAL   = 00000900            SYS$WAIT         ********   X   03   

SS$_IDXFILEFULL= 000008D0            SS$_NOSOLICIT  = 00000284            SYS$WAITFR       ********   X   07   

SS$_ILLBLKNUM  = 000000DC            SS$_NOSUCHDEV  = 00000908            TRNLOG         = 0000003D            

SS$_ILLCNTRFUNC= 000000E4            SS$_NOSUCHFILE = 00000910            TRUNCATE       = 0000001E            

SS$_ILLEFC     = 000000EC            SS$_NOSUCHNODE = 0000028C            ULKPAG         = 0000003E            

CMODSSDSP       - CHANGE MODE SYSTEM SERVICE DISPATCHER          21-AUG-1978 19:38:37   VAX-11 MACRO X0.3-11               Page  27

SYMBOL TABLE                                                                                                                     (1)



ULWSET         = 0000003F            

UPDATE         = 0000000E            

UPDSEC         = 00000020            

VECBASE          00000000 R     07   

WAIT           = 0000000F            

WAITFR         = 00000040            

WAKE           = 00000041            

WFLAND         = 00000042            

WFLOR          = 00000043            

WRITE          = 00000010            





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$CMODE          0000008D      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT QUAD  

Y$CMODEN         00000028      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

Y$CMODK          00000152      05     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT QUAD  

Y$CMODKN         0000004B      06     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$$$000           00000600      07     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT QUAD  





THERE WERE NO ERRORS OR WARNINGS.

10296. BYTES LEFT IN FREE MEMORY POOL.

12. BYTES OF RECLAIMED MEMORY.

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

9 MLB DIR RDS - 761 GETS TO DEFINE 20 MACROS. 85 INTER. FILE WRITES. 

