EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      60  ACCESS VIOLATION FAULT

   (1)      94  ARITHMETIC TRAPS

   (1)     127  AST DELIVERY STACK FAULT

   (1)     151  BREAKPOINT FAULT

   (1)     170  CHANGE MODE TO SUPERVISOR TRAP

   (1)     193  CHANGE MODE TO USER TRAP

   (1)     220  COMPATIBILITY MODE FAULTS

   (1)     273  KERNEL STACK NOT VALID FAULT

   (1)     293  SIGNAL UNRECOVERABLE MACHINE CHECK

   (1)     317  OPCODE RESERVED TO CUSTOMER FAULT

   (1)     336  OPCODE RESERVED TO DIGITAL FAULT

   (1)     369  PAGE READ FAULT

   (1)     401  RESERVED ADDRESSING MODE FAULT

   (1)     421  RESERVED OPERAND FAULT

   (1)     440  TBIT PENDING TRAP

   (1)     467  SYSTEM SERVICE FAILURE EXCEPTION

   (1)     498  REFLECT EXCEPTION FROM MODE OTHER THAN KERNEL

   (1)     571  COMMON EXCEPTION EXIT

   (1)     751  SEARCH FOR CONDITION HANDLER

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	EXCEPTION - EXCEPTION HANDLING

                                     0000     2 	.IDENT	/01/

                                     0000     3  

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1978

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     7 ;

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

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

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

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

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

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

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

                                     0000    15 ;

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

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

                                     0000    18 ; EQUIPMENT CORPORATION.

                                     0000    19 ;

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

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

                                     0000    22 ;

                                     0000    23 ; D. N. CUTLER 6-JUL-76

                                     0000    24 ;

                                     0000    25 ; HARDWARE EXCEPTION HANDLING

                                     0000    26 ;

                                     0000    27 ; MACRO LIBRARY CALLS

                                     0000    28 ;

                                     0000    29  

                                     0000    30 	$CHFDEF				;DEFINE CONDITION HANDLING ARGLIST OFFSETS

                                     0000    31 	$IPLDEF				;DEFINE INTERRUPT PRIORITY LEVELS

                                     0000    32 	$PCBDEF				;DEFINE PCB OFFSETS

                                     0000    33 	$PHDDEF				;DEFINE PHD OFFSETS

                                     0000    34 	$PRDEF				;DEFINE PROCESSOR REGISTERS

                                     0000    35 	$PSLDEF				;DEFINE PROCESSOR STATUS FIELDS

                                     0000    36 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000    37  

                                     0000    38 ;

                                     0000    39 ; LOCAL SYMBOLS

                                     0000    40 ;

                                     0000    41 ; CALL FRAME OFFSET DEFINITIONS

                                     0000    42 ;

                                     0000    43  

                           00000000  0000    44 HANDLER=0				;CONDITION HANDLER ADDRESS

                           00000004  0000    45 SAVPSW=4				;SAVED PSW FROM CALL

                           00000006  0000    46 SAVMSK=6				;REGISTER SAVE MASK

                           00000008  0000    47 SAVAP=8					;SAVED AP REGISTER IMAGE

                           0000000C  0000    48 SAVFP=12				;SAVED FP REGISTER IMAGE

                           00000010  0000    49 SAVPC=16				;SAVED PC REGISTER IMAGE

                           00000014  0000    50 SAVRG=20				;OTHER SAVED REGISTER IMAGES

                                     0000    51  

                                     0000    52 ;

                                     0000    53 ; LOCAL DATA

                                     0000    54 ;

                                     0000    55  

                                 00000000    56 	.PSECT	YEXEPAGED,BYTE

                                     0000    57 FINALMSG:				;FINAL EXCEPTION MESSAGE

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   2

01                                                                                                                               (1)



72 6F 20 6B 63 61 74 73 20 64 61 62  0000    58 	.ASCIZ	/bad stack or no handler specified./ ;

20 72 65 6C 64 6E 61 68 20 6F 6E 20  000C       

   00 2E 64 65 69 66 69 63 65 70 73  0018       

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   3

01              ACCESS VIOLATION FAULT                                                                                           (1)



                                     0023    60 	.SBTTL	ACCESS VIOLATION FAULT

                                     0023    61 ;+

                                     0023    62 ; EXE$ACVIOLAT - ACCESS VIOLATE FAULT

                                     0023    63 ;

                                     0023    64 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN ACCESS VIOLATION IS

                                     0023    65 ; DETECTED. THE STATE OF THE STACK ON ENTRY IS:

                                     0023    66 ;

                                     0023    67 ;	00(SP) = ACCESS VIOLATION REASON MASK.

                                     0023    68 ;	04(SP) = ACCESS VIOLATION VIRTUAL ADDRESS.

                                     0023    69 ;	08(SP) = EXCEPTION PC.

                                     0023    70 ;	12(SP) = EXCEPTION PSL.

                                     0023    71 ;

                                     0023    72 ; ACCESS VIOLATION REASON MASK FORMAT IS:

                                     0023    73 ;

                                     0023    74 ;	BIT 0 = TYPE OF ACCESS VIOLATION.

                                     0023    75 ;		0 = PTE ACCESS CODE DID NOT PERMIT INTENTED ACCESS.

                                     0023    76 ;		1 = P0LR, P1LR, OR S0LR LENGTH VIOLATION.

                                     0023    77 ;	BIT 1 = PTE REFERENCE.

                                     0023    78 ;		0 = SPECIFIED VIRTUAL ADDRESS NOT ACCESSIBLE.

                                     0023    79 ;		1 = ASSOCIATED PAGE TABLE ENTRY NOT ACCESSIBLE.

                                     0023    80 ;	BIT 2 = INTENDED ACCESS TYPE.

                                     0023    81 ;		0 = READ.

                                     0023    82 ;		1 = MODIFY.

                                     0023    83 ;

                                     0023    84 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     0023    85 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     0023    86 ;-

                                     0023    87  

                                 00000000    88 	.PSECT	$AEXENONPAGED,LONG

                                     0000    89 	.ALIGN	LONG

                                     0000    90 EXE$ACVIOLAT::				;ACCESS VIOLATION FAULTS

            7E            0C     3C  0000    91 	MOVZWL	#SS$_ACCVIO,-(SP)	;SET EXCEPTION NAME

                          00D5   31  0003    92 	BRW	EX5ARG			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   4

01              ARITHMETIC TRAPS                                                                                                 (1)



                                     0006    94 	.SBTTL	ARITHMETIC TRAPS

                                     0006    95 ;+

                                     0006    96 ; EXE$ARITH - ARITHMETIC TRAPS

                                     0006    97 ;

                                     0006    98 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN ARITHMETIC TRAP IS

                                     0006    99 ; DETECTED AT THE END OF AN INSTRUCTION. THE STATE OF THE STACK ON ENTRY

                                     0006   100 ; IS:

                                     0006   101 ;

                                     0006   102 ;	00(SP) = ARITHMETIC EXCEPTION CODE.

                                     0006   103 ;	04(SP) = EXCEPTION PC.

                                     0006   104 ;	08(SP) = EXCEPTION PSL.

                                     0006   105 ;

                                     0006   106 ; POSSIBLE ARITHMETIC EXCEPTION CODES ARE:

                                     0006   107 ;

                                     0006   108 ;	0 = UNDEFINED.

                                     0006   109 ;	1 = INTERGER OVERFLOW.

                                     0006   110 ;	2 = INTEGER DIVIDE BY ZERO.

                                     0006   111 ;	3 = FLOATING OVERFLOW.

                                     0006   112 ;	4 = FLOATING DIVIDE BY ZERO.

                                     0006   113 ;	5 = FLOATING UNDERFLOW.

                                     0006   114 ;	6 = DECIMAL STRING OVERFLOW.

                                     0006   115 ;	7 = DECIMAL STRING DIVIDE BY ZERO.

                                     0006   116 ;

                                     0006   117 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     0006   118 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     0006   119 ;-

                                     0006   120  

                                     0006   121 	.ALIGN	LONG

                                     0008   122 EXE$ARITH::				;ARITHMETIC TRAPS

            6E            08     C4  0008   123 	MULL	#8,(SP)			;CALCULATE EXCEPTION NAME OFFSET

            6E       0474 8F     A0  000B   124 	ADDW	#SS$_ARTRES,(SP)	;CALCULATE ACTUAL EXCEPTION NAME

                          00EC   31  0010   125 	BRW	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   5

01              AST DELIVERY STACK FAULT                                                                                         (1)



                                     0013   127 	.SBTTL	AST DELIVERY STACK FAULT

                                     0013   128 ;+

                                     0013   129 ; EXE$ASTFLT - AST DELIVERY STACK FAULT

                                     0013   130 ;

                                     0013   131 ; THIS ROUTINE IS ENTERED VIA A JMP FROM THE AST DELIVERY MODULE 

                                     0013   132 ; WHEN AN INVALID STACK IS DETECTED WHILE ATTEMPTING TO DELIVER AN

                                     0013   133 ; AST.  THE STATE OF THE STACK ON ENTRY IS:

                                     0013   134 ;

                                     0013   135 ;	00(SP) = SP VALUE AT FAULT (UNMODIFIED BY AST DELIVERY).

                                     0013   136 ;	04(SP) = AST PARAMETER OF FAILED AST.

                                     0013   137 ;	08(SP) = PC AT AST DELIVERY INTERRUPT.

                                     0013   138 ;	12(SP) = PSL AT AST DELIVERY INTERRUPT.

                                     0013   139 ;	16(SP) = PC TO WHICH AST WOULD HAVE BEEN DELIVERED.

                                     0013   140 ;	20(SP) = PSL AT WHICH AST WOULD HAVE BEEN DELIVERED.

                                     0013   141 ;

                                     0013   142 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF ARGUMENTS ARE PUSHED

                                     0013   143 ; ON THE STACK.  FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     0013   144 ;-

                                     0013   145 

                                     0013   146 EXE$ASTFLT::				;AST DELIVERY STACK FAULT

            7E       040C 8F     3C  0013   147 	MOVZWL	#SS$_ASTFLT,-(SP)	;PUSH EXCEPTION CODE

                          07     DD  0018   148 	PUSHL	#7			;AND COUNT OF ARGUMENTS

                          017E   31  001A   149 	BRW	EXCEPTION		;MERGE WITH COMMON EXCEPTION CODE

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   6

01              BREAKPOINT FAULT                                                                                                 (1)



                                     001D   151 	.SBTTL	BREAKPOINT FAULT

                                     001D   152 ;+

                                     001D   153 ; EXE$BREAK - BREAKPOINT FAULT

                                     001D   154 ;

                                     001D   155 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A BREAKPOINT

                                     001D   156 ; INSTRUCTION IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     001D   157 ;

                                     001D   158 ;	00(SP) = EXCEPTION PC.

                                     001D   159 ;	04(SP) = EXCEPTION PSL.

                                     001D   160 ;

                                     001D   161 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     001D   162 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     001D   163 ;-

                                     001D   164  

                                     001D   165 	.ALIGN	LONG

                                     0020   166 EXE$BREAK::				;BREAKPOINT FAULT

            7E       0414 8F     3C  0020   167 	MOVZWL	#SS$_BREAK,-(SP)	;SET EXCEPTION NAME

                          00D7   31  0025   168 	BRW	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   7

01              CHANGE MODE TO SUPERVISOR TRAP                                                                                   (1)



                                     0028   170 	.SBTTL	CHANGE MODE TO SUPERVISOR TRAP

                                     0028   171 ;+

                                     0028   172 ; EXE$CMODSUPR - CHANGE MODE TO SUPERVISOR TRAP

                                     0028   173 ;

                                     0028   174 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A CHANGE MODE TO SUPER-

                                     0028   175 ; VISOR INSTRUCTION IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     0028   176 ;

                                     0028   177 ;	00(SP) = CHANGE MODE CODE.

                                     0028   178 ;	04(SP) = EXCEPTION PC.

                                     0028   179 ;	08(SP) = EXCEPTION PSL.

                                     0028   180 ;

                                     0028   181 ; IF THE PROCESS HAS DECLARED A CHANGE MODE TO SUPERVISOR HANDLER, THEN THE

                                     0028   182 ; EXCEPTION IS DIRECTLY VECTORED TO THE SPECIFIED HANDLER. ELSE THE EXCEPTION

                                     0028   183 ; NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE PUSHED ON THE STACK.

                                     0028   184 ; FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     0028   185 ;-

                                     0028   186  

                                     0028   187 	.ALIGN	LONG

                                     0028   188 EXE$CMODSUPR::				;CHANGE MODE TO SUPERVISOR TRAP

            7E       041C 8F     3C  0028   189 	MOVZWL	#SS$_CMODSUPR,-(SP)	;SET EXCEPTION NAME

                 00000000'9F     DD  002D   190 	PUSHL	@#CTL$GL_CMSUPR		;GET CONTENTS OF CHANGE MODE VECTOR

                          0E     11  0033   191 	BRB	EXCCMD			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   8

01              CHANGE MODE TO USER TRAP                                                                                         (1)



                                     0035   193 	.SBTTL	CHANGE MODE TO USER TRAP

                                     0035   194 ;+

                                     0035   195 ; EXE$CMODUSER - CHANGE MODE TO USER TRAP

                                     0035   196 ;

                                     0035   197 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A CHANGE MODE TO USER

                                     0035   198 ; INSTRUCTION IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     0035   199 ;

                                     0035   200 ;	00(SP) = CHANGE MODE CODE.

                                     0035   201 ;	04(SP) = EXCEPTION PC.

                                     0035   202 ;	08(SP) = EXCEPTION PSL.

                                     0035   203 ;

                                     0035   204 ; IF THE PROCESS HAS DECLARED A CHANGE MODE TO USER HANLDER, THEN THE EXCEPTION

                                     0035   205 ; IS VECTORED DIRECTLY TO THE SPECIFIED HANDLER. ELSE THE EXCEPTION NAME FOLLOWED

                                     0035   206 ; BY THE NUMBER OF ARGUMENTS ARE PUSHED ON THE STACK. FINAL PROCESSING IS ACCOM-

                                     0035   207 ; PLISHED IN COMMON CODE.

                                     0035   208 ;-

                                     0035   209  

                                     0035   210 	.ALIGN	LONG

                                     0038   211 EXE$CMODUSER::				;CHANGE MODE TO USER TRAP

            7E       0424 8F     3C  0038   212 	MOVZWL	#SS$_CMODUSER,-(SP)	;SET EXCEPTION NAME

                 00000000'9F     DD  003D   213 	PUSHL	@#CTL$GL_CMUSER		;GET CONTENTS OF CHANGE MODE VECTOR

                          04     13  0043   214 EXCCMD:	BEQL	10$			;IF EQL NO DISPATCHER SPECIFIED

                          6E   8ED0  0045   215 	POPL	(SP)			;REMOVE EXCEPTION NAME FROM STACK

                                 05  0048   216 	RSB				;

            5E            04     C0  0049   217 10$:	ADDL	#4,SP			;CLEAN STACK

                          00BC   31  004C   218 	BRW	EXSSXT			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page   9

01              COMPATIBILITY MODE FAULTS                                                                                        (1)



                                     004F   220 	.SBTTL	COMPATIBILITY MODE FAULTS

                                     004F   221 ;+

                                     004F   222 ; EXE$COMPAT - COMPATIBILITY MODE FAULT

                                     004F   223 ;

                                     004F   224 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A COMPATIBILITY MODE

                                     004F   225 ; EXCEPTION IS DETECTED. THE STATE OF THE STACK ON ENTRY IS:

                                     004F   226 ;

                                     004F   227 ;	00(SP) = COMPATIBILITY EXCEPTION CODE.

                                     004F   228 ;	04(SP) = EXCEPTION PC.

                                     004F   229 ;	08(SP) = EXCEPTION PSL.

                                     004F   230 ;

                                     004F   231 ; POSSIBLE COMPATIBILITY EXCEPTION CODES ARE:

                                     004F   232 ;

                                     004F   233 ;	0 = RESERVED INSTRUCTION EXECUTION.

                                     004F   234 ;	1 = BPT INSTRUCTION EXECUTION.

                                     004F   235 ;	2 = IOT INSTRUCTION EXECUTION.

                                     004F   236 ;	3 = EMT INSTRUCTION EXECUTION.

                                     004F   237 ;	4 = TRAP INSTRUCTION EXECUTION.

                                     004F   238 ;	5 = ILLEGAL INSTRUCTION EXECUTION.

                                     004F   239 ;	6 = ODD ADDRESS FAULT.

                                     004F   240 ;	7 = TBIT TRAP.

                                     004F   241 ;

                                     004F   242 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     004F   243 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     004F   244 ;-

                                     004F   245  

                                     004F   246 	.ALIGN	LONG

                                     0050   247 EXE$COMPAT::				;COMPATIBILITY MODE FAULTS

   00000000'EF            50     7D  0050   248 	MOVQ	R0,CTL$AL_CMCNTX	;SAVE R0,R1 IN COMPATIBILITY CONTEXT REGION

            50   00000008'EF     DE  0057   249 	MOVAL	CTL$AL_CMCNTX+8,R0	;GET ADDRESS OF COMPATIBILITY CONTEXT AREA

            80            52     7D  005E   250 	MOVQ	R2,(R0)+		;SAVE R2,R3

            80            54     7D  0061   251 	MOVQ	R4,(R0)+		;SAVE R4,R5

            80            56     D0  0064   252 	MOVL	R6,(R0)+		;SAVE R6

            80            8E     D0  0067   253 	MOVL	(SP)+,(R0)+		;SAVE EXCEPTION CODE AND REMOVE FROM STACK

            60            8E     7D  006A   254 	MOVQ	(SP)+,(R0)		;SAVE PC AND PSL AND REMOVE FROM STACK

                 03C00000 8F     DD  006D   255 	PUSHL	#<PSL$C_USER@PSL$V_PRVMOD>!<PSL$C_USER@PSL$V_CURMOD> ;FABRICATE PSL FOR CME

                 00000000'EF     DD  0073   256 	PUSHL	CTL$GL_CMHANDLR		;COMPATIBILITY MODE HANDLER ADDRESS

                          01     13  0079   257 	BEQL	20$			;BRANCH IF NONE SPECIFIED

                                 02  007B   258 	REI				;JUMP TO COMPATIBILITY HANDLER

                                     007C   259 

                                     007C   260 ;

                                     007C   261 ; NO COMPATIBILITY MODE HANDLER WAS DECLARED.  RESTORE THE STACK AND

                                     007C   262 ; SAVED REGISTER, AND CONTINUE THROUGH NORMAL EXCEPTION CODE.  R0 NOW

                                     007C   263 ; POINTS TO THE SAVED PC IN THE COMPATIBILITY CONTEXT AREA.

                                     007C   264 ;

                                     007C   265 

            6E            60     7D  007C   266 20$:	MOVQ	(R0),(SP)		;RESTORE EXCEPTION PC AND PSL

                          70     DD  007F   267 	PUSHL	-(R0)			;PUSH EXCEPTION CODE AGAIN

            50         E4 A0     D0  0081   268 	MOVL	-28(R0),R0		;RESTORE R0 FROM TOP OF CONTEXT AREA

            7E       042C 8F     3C  0085   269 	MOVZWL	#SS$_COMPAT,-(SP)	;SET EXCEPTION NAME

                          04     DD  008A   270 EX4ARG:	PUSHL	#4			;SET NUMBER OF SIGNAL ARGUMENTS

                          010C   31  008C   271 	BRW	EXCEPTION		;FINISH IN COMMON CODE

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  10

01              KERNEL STACK NOT VALID FAULT                                                                                     (1)



                                     008F   273 	.SBTTL	KERNEL STACK NOT VALID FAULT

                                     008F   274 ;+

                                     008F   275 ; EXE$KERSTKNV - KERNEL STACK NOT VALID FAULT

                                     008F   276 ;

                                     008F   277 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A KERNEL STACK NOT

                                     008F   278 ; VALID IS DETECTED DURING A CHANGE MODE INSTRUCTION, DURING AN REI

                                     008F   279 ; INSTRUCTION, OR DURING AN ATTEMPT TO PUSH EXCEPTION INFORMATION ON

                                     008F   280 ; THE KERNEL STACK. THIS EXCEPTION RUNS ON THE INTERRUPT STACK. THE

                                     008F   281 ; STATE OF THE STACK ON ENTRY IS:

                                     008F   282 ;

                                     008F   283 ;	00(SP) = EXCEPTION PC.

                                     008F   284 ;	04(SP) = EXCEPTION PSL.

                                     008F   285 ;

                                     008F   286 ; A FATAL KERNEL STACK NOT VALID BUGCHECK IS DECLARED.

                                     008F   287 ;-

                                     008F   288  

                                     008F   289 	.ALIGN	LONG

                                     0090   290 EXE$KERSTKNV::				;KERNEL STACK NOT VALID FAULT

                                     0090   291 	BUG_CHECK KRNLSTAKNV,FATAL	;KERNEL STACK NOT VALID

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  11

01              SIGNAL UNRECOVERABLE MACHINE CHECK                                                                               (1)



                                     0094   293 	.SBTTL	SIGNAL UNRECOVERABLE MACHINE CHECK

                                     0094   294 ;+

                                     0094   295 ; EXE$MCHECK - SIGNAL UNRECOVERABLE MACHINE CHECK

                                     0094   296 ;

                                     0094   297 ; THIS ROUTINE IS ENTERED FROM THE MACHINE CHECK HANDLER TO SIGNAL

                                     0094   298 ; THE ERROR BACK TO EITHER USER OR SUPERVISOR MODE.  IF THE MACHINE

                                     0094   299 ; CHECK OCCURRED IN EXEC OR KERNEL MODE CONTROL DOES NOT COME HERE

                                     0094   300 ; AND INSTEAD THE MACHINE CHECK HANDLER BUGCHECKS.

                                     0094   301 ; STATE OF THE STACK ON ENTRY IS:

                                     0094   302 ;

                                     0094   303 ;	00(SP) = MACHINE CHECK EXCEPTION CODE

                                     0094   304 ;	04(SP) = EXCEPTION PC

                                     0094   305 ;	08(SP) = EXCEPTION PSL

                                     0094   306 ;

                                     0094   307 ; POSSIBLE CODES ARE:

                                     0094   308 ;

                                     0094   309 ;

                                     0094   310 ; NO ALIGNMENT IS NECESSARY HERE, REI GETS US HERE

                                     0094   311 ;-

                                     0094   312 

                                     0094   313 EXE$MCHECK::

            7E       02BC 8F     3C  0094   314 	MOVZWL	#SS$_MCHECK,-(SP)	;SET EXCEPTION NAME

                          64     11  0099   315 	BRB	EX3ARG			;FINISH IN COMMON CODE

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  12

01              OPCODE RESERVED TO CUSTOMER FAULT                                                                                (1)



                                     009B   317 	.SBTTL	OPCODE RESERVED TO CUSTOMER FAULT

                                     009B   318 ;+

                                     009B   319 ; EXE$OPCCUS - OPCODE RESERVED TO CUSTOMER FAULT

                                     009B   320 ;

                                     009B   321 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN OPCODE THAT IS RESERVED

                                     009B   322 ; TO CUSTOMERS IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     009B   323 ;

                                     009B   324 ;	00(SP) = EXCEPTION PC.

                                     009B   325 ;	04(SP) = EXCEPTION PSL.

                                     009B   326 ;

                                     009B   327 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     009B   328 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     009B   329 ;-

                                     009B   330  

                                     009B   331 	.ALIGN	LONG

                                     009C   332 EXE$OPCCUS::				;OPCODE RESERVED TO CUSTOMERS FAULT

            7E       0434 8F     3C  009C   333 	MOVZWL	#SS$_OPCCUS,-(SP)	;SET EXCEPTION NAME

                          5C     11  00A1   334 	BRB	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  13

01              OPCODE RESERVED TO DIGITAL FAULT                                                                                 (1)



                                     00A3   336 	.SBTTL	OPCODE RESERVED TO DIGITAL FAULT

                                     00A3   337 ;+

                                     00A3   338 ; EXE$OPCDEC - OPCODE RESERVED TO DIGITAL FAULT

                                     00A3   339 ;

                                     00A3   340 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN OPCODE THAT IS RESERVED

                                     00A3   341 ; TO DIGITAL IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     00A3   342 ;

                                     00A3   343 ;	00(SP) = EXECPTION PC.

                                     00A3   344 ;	04(SP) = EXCEPTION PSL.

                                     00A3   345 ;

                                     00A3   346 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     00A3   347 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00A3   348 ;-

                                     00A3   349  

                                     00A3   350 	.ALIGN	LONG

                                     00A4   351 EXE$OPCDEC::				;OPCODE RESERVED TO DIGITAL FAULT

         00 BE         FF 8F     91  00A4   352 	CMPB	#^XFF,@(SP)		;POSSIBLY A BUG CHECK?

                          07     13  00A9   353 	BEQL	20$			;IF EQL YES

            7E       043C 8F     3C  00AB   354 10$:	MOVZWL	#SS$_OPCDEC,-(SP)	;SET EXCEPTION NAME

                          4D     11  00B0   355 	BRB	EX3ARG			;

                          6E     DD  00B2   356 20$:	PUSHL	(SP)			;COPY ADDRESS OF INSTRUCTION

                          6E     D6  00B4   357 	INCL	(SP)			;CALCULATE ADDRESS OF NEXT BYTE

                                     00B6   358 	IFNORD	#1,@(SP),40$		;CAN NEXT BYTE BE READ?

         00 BE         FE 8F     91  00BD   359 	CMPB	#^XFE,@(SP)		;BUGCHECK WORD?

                          08     13  00C2   360 	BEQL	30$			;IF EQL YES

            9E         FD 8F     91  00C4   361 	CMPB	#^XFD,@(SP)+		;BUGCHECK LONG?

                          E1     12  00C8   362 	BNEQ	10$			;IF NEQ NO

                          7E     D5  00CA   363 	TSTL	-(SP)			;ADJUST STACK POINTER

                          8E     D5  00CC   364 30$:	TSTL	(SP)+			;REMOVE INSTRUCTION ADDRESS FROM STACK

                          FF2F'  31  00CE   365 	BRW	EXE$BUG_CHECK		;

                          00     DD  00D1   366 40$:	PUSHL	#0			;SET REASON FOR ACCESS VIOLATION

                          FF2A   31  00D3   367 	BRW	EXE$ACVIOLAT		;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  14

01              PAGE READ FAULT                                                                                                  (1)



                                     00D6   369 	.SBTTL	PAGE READ FAULT

                                     00D6   370 ;+

                                     00D6   371 ; EXE$PAGRDERR - PAGE READ FAULT

                                     00D6   372 ;

                                     00D6   373 ; THIS ROUTINE IS ENTERED VIA A JUMP FROM THE TRANSLATION NOT VALID

                                     00D6   374 ; EXCEPTION ROUTINE WHEN A READ ERROR OCCURS IN TRYING TO MAKE THE

                                     00D6   375 ; DESIRED PAGE VALID.  THE STATE OF THE STACK ON ENTRY IS:

                                     00D6   376 ;

                                     00D6   377 ;	00(SP) = TRANSLATION NOT VALID REASON MASK.

                                     00D6   378 ;	04(SP) = TRANSLATION NOT VALID VIRTUAL ADDRESS.

                                     00D6   379 ;	08(SP) = EXCEPTION PC.

                                     00D6   380 ;	12(SP) = EXCEPTION PSL.

                                     00D6   381 ;

                                     00D6   382 ; TRANSLATION NOT VALID REASON MASK FORMAT IS:

                                     00D6   383 ;

                                     00D6   384 ;	BIT 0 = 0 (USED ONLY FOR ACCESS VIOLATION).

                                     00D6   385 ;	BIT 1 = PTE REFERENCE.

                                     00D6   386 ;		0 = SPECIFIED VIRTUAL ADDRESS NOT VALID.

                                     00D6   387 ;		1 = ASSOCIATED PAGE TABLE ENTRY NOT VALID.

                                     00D6   388 ;	BIT 2 = INTENDED ACCESS TYPE.

                                     00D6   389 ;		0 = READ.

                                     00D6   390 ;		1 = MODIFY.

                                     00D6   391 ;

                                     00D6   392 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     00D6   393 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00D6   394 ;-

                                     00D6   395  

                                     00D6   396 EXE$PAGRDERR::				;PAGE READ ERROR

            7E       0444 8F     3C  00D6   397 	MOVZWL	#SS$_PAGRDERR,-(SP)	;SET EXCEPTION NAME

                          05     DD  00DB   398 EX5ARG:	PUSHL	#5			;SET NUMBER OF SIGNAL ARGUMENTS

                          00BB   31  00DD   399 	BRW	EXCEPTION		;FINISH IN COMMON CODE

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  15

01              RESERVED ADDRESSING MODE FAULT                                                                                   (1)



                                     00E0   401 	.SBTTL	RESERVED ADDRESSING MODE FAULT

                                     00E0   402 ;+

                                     00E0   403 ; EXE$RADRMOD - RESERVED ADDRESSING MODE FAULT

                                     00E0   404 ;

                                     00E0   405 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN ATTEMPT TO USE A

                                     00E0   406 ; RESERVED ADDRESSING MODE IS DETECTED. THE STATE OF THE STACK ON ENTRY

                                     00E0   407 ; IS:

                                     00E0   408 ;

                                     00E0   409 ;	00(SP) = EXCEPTION PC.

                                     00E0   410 ;	04(SP) = EXCEPTION PSL.

                                     00E0   411 ;

                                     00E0   412 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     00E0   413 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00E0   414 ;-

                                     00E0   415  

                                     00E0   416 	.ALIGN	LONG

                                     00E0   417 EXE$RADRMOD::				;RESERVED ADDRESSING MODE FAULT

            7E       044C 8F     3C  00E0   418 	MOVZWL	#SS$_RADRMOD,-(SP)	;SET EXCEPTION NAME

                          18     11  00E5   419 	BRB	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  16

01              RESERVED OPERAND FAULT                                                                                           (1)



                                     00E7   421 	.SBTTL	RESERVED OPERAND FAULT

                                     00E7   422 ;+

                                     00E7   423 ; EXE$ROPRAND - RESERVED OPERAND FAULT

                                     00E7   424 ;

                                     00E7   425 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN ATTEMPT TO USE A

                                     00E7   426 ; RESERVED OPERAND IS DETECTED. THE STATE OF THE STACK ON ENTRY IS:

                                     00E7   427 ;

                                     00E7   428 ;	00(SP) = EXCEPTION PC.

                                     00E7   429 ;	04(SP) = EXCEPTION PSL.

                                     00E7   430 ;

                                     00E7   431 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     00E7   432 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00E7   433 ;-

                                     00E7   434  

                                     00E7   435 	.ALIGN	LONG

                                     00E8   436 EXE$ROPRAND::				;RESERVED OPERAND FAULT

            7E       0454 8F     3C  00E8   437 	MOVZWL	#SS$_ROPRAND,-(SP)	;SET EXCEPTION NAME

                          10     11  00ED   438 	BRB	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  17

01              TBIT PENDING TRAP                                                                                                (1)



                                     00EF   440 	.SBTTL	TBIT PENDING TRAP

                                     00EF   441 ;+

                                     00EF   442 ; EXE$TBIT - TBIT PENDING TRAP

                                     00EF   443 ;

                                     00EF   444 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A TBIT PENDING EXCEPTION

                                     00EF   445 ; IS DETECTED AT THE END OF AN INSTRUCTION. THE STATE OF THE STACK ON ENTRY

                                     00EF   446 ; IS:

                                     00EF   447 ;

                                     00EF   448 ;	00(SP) = EXCEPTION PC.

                                     00EF   449 ;	04(SP) = EXCEPTION PSL.

                                     00EF   450 ;

                                     00EF   451 ; IF THE TRAP OCCURED FROM COMPATIBILITY MODE, THEN THE CODE FOR COMPATIBILITY

                                     00EF   452 ; MODE TBIT TRAP (7) IS PUSHED ON THE STACK AND AN EXIT IS MADE THROUGH

                                     00EF   453 ; THE COMPATIBILITY MODE EXCEPTION ROUTINE. ELSE THE TBIT EXCEPTION NAME

                                     00EF   454 ; FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE PUSHED ON THE STACK.

                                     00EF   455 ; FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00EF   456 ;-

                                     00EF   457  

                                     00EF   458 	.ALIGN	LONG

                                     00F0   459 EXE$TBIT::				;TBIT PENDING TRAP

                          07     DD  00F0   460 	PUSHL	#7			;ASSUME TRAP FROM COMPATIBILITY MODE

         08 AE            1F     E1  00F2   461 	BBC	#PSL$V_CM,8(SP),10$	;IF CLEAR, NOT FROM COMPATIBILITY MODE

                          03         00F6       

                          FF56   31  00F7   462 	BRW	EXE$COMPAT		;IF SET, GO TO COMPATIBILITY MODE CODE

            6E       045D 8F     A0  00FA   463 10$:	ADDW	#SS$_TBIT-7,(SP)	;ADJUST NAME TO THAT FOR TBIT

                          03     DD  00FF   464 EX3ARG:	PUSHL	#3			;SET NUMBER OF SIGNAL ARGUMENTS

                          0097   31  0101   465 	BRW	EXCEPTION		;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  18

01              SYSTEM SERVICE FAILURE EXCEPTION                                                                                 (1)



                                     0104   467 	.SBTTL	SYSTEM SERVICE FAILURE EXCEPTION

                                     0104   468 ;+

                                     0104   469 ; EXE$SSFAIL - SYSTEM SERVICE FAILURE EXCEPTION

                                     0104   470 ;

                                     0104   471 ; THIS ROUTINE IS JUMPED TO FROM THE SYSTEM SERVICE CHANGE MODE DISPATCHER

                                     0104   472 ; WHEN THE RETURN STATUS FROM A SYSTEM SERVICE INDICATES FAILURE, THE

                                     0104   473 ; PREVIOUS MODE WAS USER, AND THE CURRENT PROCESS IS ENABLED FOR SYSTEM

                                     0104   474 ; SERVICE FAILURE EXCEPTIONS. THE STATE OF THE STACK ON ENTRY IS:

                                     0104   475 ;

                                     0104   476 ;	00(SP) = CHANGE MODE PC.

                                     0104   477 ;	04(SP) = CHANGE MODE PSL.

                                     0104   478 ;

                                     0104   479 ; WITH:

                                     0104   480 ;

                                     0104   481 ;	R0 = FINAL SYSTEM SERVICE STATUS.

                                     0104   482 ;-

                                     0104   483  

                                     0104   484 EXE$SSFAIL::				;SYSTEM SERVICE FAILURE EXCEPTION

                          50     DD  0104   485 	PUSHL	R0			;PUSH REASON FOR SERVICE FAILURE

            7E       045C 8F     3C  0106   486 	MOVZWL	#SS$_SSFAIL,-(SP)	;SET EXCEPTION NAME

                                     010B   487  

                                     010B   488 ;

                                     010B   489 ; THE FOLLOWING EXCEPTIONS CONVERGE TO THIS POINT:

                                     010B   490 ;

                                     010B   491 ;	CHANGE MODE TO SUPERVISOR,

                                     010B   492 ;	CHANGE MODE TO USER, AND

                                     010B   493 ;	SYSTEM SERVICE FAILURE.

                                     010B   494 ;

                                     010B   495  

                          04     DD  010B   496 EXSSXT:	PUSHL	#4			;SET NUMBER OF SIGNAL ARGUMENTS

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  19

01              REFLECT EXCEPTION FROM MODE OTHER THAN KERNEL                                                                    (1)



                                     010D   498 	.SBTTL	REFLECT EXCEPTION FROM MODE OTHER THAN KERNEL

                                     010D   499 ;+

                                     010D   500 ; EXE$REFLECT - REFLECT EXCEPTION FROM MODE OTHER THEN KERNEL

                                     010D   501 ;

                                     010D   502 ; THIS ROUTINE IS JUMPED TO REFLECT AN EXCEPTION FROM A MODE OTHER THAN KERNEL.

                                     010D   503 ; THE SIGNAL ARGUMENTS ARE ASSUMED TO BE SETUP PROPERLY ON THE STACK.

                                     010D   504 ;

                                     010D   505 -

                                     010D   506  

                                     010D   507 EXE$REFLECT::				;REFLECT EXCEPTION

                          03     BB  010D   508 	PUSHR	#^M<R0,R1>		;SAVE REGISTERS R0 AND R1

            7E            03     CE  010F   509 	MNEGL	#3,-(SP)		;SET INITIAL FRAME DEPTH

                          5D     DD  0112   510 	PUSHL	FP			;SET INITIAL HANDLER ESTABLISHER FRAME

                          04     DD  0114   511 	PUSHL	#4			;SET NUMBER OF MECHANISM ARGUMENTS

                                     0116   512  

                                     0116   513 ;

                                     0116   514 ; AT THIS POINT THE STACK HAS THE FOLLOWING FORMAT:

                                     0116   515 ;

                                     0116   516 ;	00(SP) = NUMBER OF MECHANISM ARGUMENTS (ALWAYS 4).

                                     0116   517 ;	04(SP) = FP OF HANDLER ESTABLISHER FRAME (TENTATIVE).

                                     0116   518 ;	08(SP) = FRAME DEPTH (ALWAYS -3).

                                     0116   519 ;	12(SP) = SAVED R0.

                                     0116   520 ;	16(SP) = SAVED R1.

                                     0116   521 ;	20(SP) = NUMBER OF SIGNAL ARGUMENTS.

                                     0116   522 ;	24(SP) = EXCEPTION NAME (INTEGER VALUE).

                                     0116   523 ;	28(SP) = FIRST EXCEPTION PARAMETER (IF ANY).

                                     0116   524 ;	32(SP) = SECOND EXCEPTION PARAMETER (IF ANY).

                                     0116   525 ;	      .

                                     0116   526 ;	      .

                                     0116   527 ;	      .

                                     0116   528 ;	24+N*4(SP) = N'TH EXCEPTION PARAMETER (IF ANY).

                                     0116   529 ;	24+N*4+4(SP) = EXCEPTION PC.

                                     0116   530 ;	24+N*4+8(SP) = EXCEPTION PSL.

                                     0116   531 ;

                                     0116   532  

                          50     DC  0116   533 	MOVPSL	R0			;READ CURRENT PSL

            02            18     EF  0118   534 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R0,R1 ;CURRENT MODE KERNEL?

            51            50         011B       

                          77     13  011D   535 	BEQL	30$			;IF EQL YES

            02            16     ED  011F   536 	CMPZV	#PSL$V_PRVMOD,#PSL$S_PRVMOD,R0,R1 ;IS CURRENT EQL PREVIOUS?

            51            50         0122       

                          72     13  0124   537 	BEQL	40$			;IF EQL YES

                                     0126   538  

                                     0126   539 ;

                                     0126   540 ; ADJUST PREVIOUS MODE STACK POINTER USING SYSTEM SERVICE

                                     0126   541 ;

                                     0126   542  

                          1C     BB  0126   543 	PUSHR	#^M<R2,R3,R4>		;SAVE REGISTERS R2, R3, AND R4

         20 AE            06     C1  0128   544 	ADDL3	#6,32(SP),R3		;CALCULATE NUMBER OF LONGWORDS TO MOVE

                          53         012C       

                     0265'CF     9F  012D   545 	PUSHAB	W^NORMAL		;ASSUME INFORMATION CAN BE COPIED

                          7E     D4  0131   546 	CLRL	-(SP)			;SET TO USE CURRENT STACK POINTER VALUE

                          6E     9F  0133   547 	PUSHAB	(SP)			;PUSH ADDRESS TO STORE UPDATED STACK VALUE

            53            02     78  0135   548 	ASHL	#2,R3,-(SP)		;CALCULATE STACK ADJUSTMENT VALUE

                          7E         0138       

            6E            6E     CE  0139   549 	MNEGL	(SP),(SP)		;SET NEGATIVE ADJUSTMENT VALUE

            02            16     EF  013C   550 	EXTZV	#PSL$V_PRVMOD,#PSL$S_PRVMOD,R0,-(SP) ;PUSH ACCESS MODE OF STACK

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  20

01              REFLECT EXCEPTION FROM MODE OTHER THAN KERNEL                                                                    (1)



            7E            50         013F       

                          03     DD  0141   551 	PUSHL	#3			;PUSH NUMBER OF ARGUMENTS

   00000000'9F            6E     FA  0143   552 	CALLG	(SP),@#SYS$ADJSTK	;ADJUST PREVIOUS MODE STACK POINTER

            41            50     E8  014A   553 	BLBS	R0,20$			;IF LBS SUCCESSFUL COMPLETION

         14 AE       028D'CF     9E  014D   554 10$:	MOVAB	W^BADSTACK,20(SP)	;SET BAD STACK RETURN

            52         04 AE     D0  0153   555 	MOVL	4(SP),R2		;RETRIEVE PREVIOUS ACCESS MODE

         10 AE   00000000'EF42   D0  0157   556 	MOVL	CTL$AL_STACK[R2],16(SP)	;SET TO USE SPECIFED STACK POINTER VALUE

   00000000'EF            6E     FA  0160   557 	CALLG	(SP),SYS$ADJSTK		;RELOAD PREVIOUS MODE STACK POINTER

            24            50     E8  0167   558 	BLBS	R0,20$			;IF LBS SUCCESSFUL COMPLETION

   00000000'EF42          04     C3  016A   559 	SUBL3	#4,CTL$AL_STACK[R2],-(SP) ;CALCULATE TOP ADDRESS OF STACK RANGE

                          7E         0172       

            6E         0C AE     C1  0173   560 	ADDL3	12(SP),(SP),-(SP)	;CALCULATE BOTTOM ADDRESS OF STACK RANGE

                          7E         0177       

            50            5E     D0  0178   561 	MOVL	SP,R0			;SET ADDRESS OF VIRTUAL ADDRESS DESCRIPTOR

                                     017B   562 	$CRETVA_S (R0),(R0),12(SP)	;CREATE STACK PAGES FOR EXCEPTION

            5E            08     C0  0189   563 	ADDL	#8,SP			;REMOVE VIRTUAL ADDRESS DESCRIPTOR

                          BF     11  018C   564 	BRB	10$			;

            5E            10     C0  018E   565 20$:	ADDL	#16,SP			;REMOVE ARGUMENT LIST FROM STACK

                          02     BA  0191   566 	POPR	#^M<R1>			;GET NEW PREVIOUS MODE STACK POINTER VALUE

                          0153   31  0193   567 	BRW	COPYARGS		;

                          0C     11  0196   568 30$:	BRB	REFLECT			;

                          00CA   31  0198   569 40$:	BRW	NORMAL			;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  21

01              COMMON EXCEPTION EXIT                                                                                            (1)



                                     019B   571 	.SBTTL	COMMON EXCEPTION EXIT

                                     019B   572 ;

                                     019B   573 ; ALL EXCEPTIONS CONVERGE TO THIS POINT WITH:

                                     019B   574 ;

                                     019B   575 ;	00(SP) = NUMBER OF SIGNAL ARGUMENTS.

                                     019B   576 ;	04(SP) = EXCEPTION NAME (INTEGER VALUE).

                                     019B   577 ;	08(SP) = FIRST EXCEPTION PARAMETER (IF ANY).

                                     019B   578 ;	12(SP) = SECOND EXCEPTION PARAMETER (IF ANY).

                                     019B   579 ;	      .

                                     019B   580 ;	      .

                                     019B   581 ;	      .

                                     019B   582 ;	04+N*4(SP) = N'TH EXCEPTION PARAMETER (IF ANY).

                                     019B   583 ;	04+N*4+4(SP) = EXCEPTION PC.

                                     019B   584 ;	04+N*4+8(SP) = EXCEPTION PSL.

                                     019B   585 ;

                                     019B   586  

                                     019B   587 	.ENABL	LSB

                                     019B   588 EXCEPTION:				;EXCEPTION PROCESSING COMMON CODE

                          03     BB  019B   589 	PUSHR	#^M<R0,R1>		;SAVE REGISTERS R0 AND R1

            7E            03     CE  019D   590 	MNEGL	#3,-(SP)		;SET INITIAL FRAME DEPTH

                          5D     DD  01A0   591 	PUSHL	FP			;SET INITIAL HANDLER ESTABLISHER FRAME

                          04     DD  01A2   592 	PUSHL	#4			;SET NUMBER OF MECHANISM ARGUMENTS

                                     01A4   593  

                                     01A4   594 ;

                                     01A4   595 ; AT THIS POINT THE STACK HAS THE FOLLOWING FORMAT:

                                     01A4   596 ;

                                     01A4   597 ;	00(SP) = NUMBER OF MECHANISM ARGUMENTS (ALWAYS 4).

                                     01A4   598 ;	04(SP) = FP OF HANDLER ESTABLISHER FRAME (TENTATIVE).

                                     01A4   599 ;	08(SP) = FRAME DEPTH (ALWAYS -3).

                                     01A4   600 ;	12(SP) = SAVED R0.

                                     01A4   601 ;	16(SP) = SAVED R1.

                                     01A4   602 ;	20(SP) = NUMBER OF SIGNAL ARGUMENTS.

                                     01A4   603 ;	24(SP) = EXCEPTION NAME (INTEGER VALUE).

                                     01A4   604 ;	28(SP) = FIRST EXCEPTION PARAMETER (IF ANY).

                                     01A4   605 ;	32(SP) = SECOND EXCEPTION PARAMETER (IF ANY).

                                     01A4   606 ;	      .

                                     01A4   607 ;	      .

                                     01A4   608 ;	      .

                                     01A4   609 ;	24+N*4(SP) = N'TH EXCEPTION PARAMETER (IF ANY).

                                     01A4   610 ;	24+N*4+4(SP) = EXCEPTION PC.

                                     01A4   611 ;	24+N*4+8(SP) = EXCEPTION PSL.

                                     01A4   612 ;

                                     01A4   613  

                                     01A4   614 REFLECT:				;REFLECT EXCEPTION TO PROPER ACCESS MODE

         14 AE            04     C1  01A4   615 	ADDL3	#4,20(SP),R0		;CALCULATE LONGWORD OFFSET TO SAVED PC

                          50         01A8       

                       04 AE40   D5  01A9   616 	TSTL	4(SP)[R0]		;PREVIOUSLY IN COMPATIBILITY MODE?

                          20     18  01AD   617 	BGEQ	10$			;IF GEQ NO

            51   00000000'EF     DE  01AF   618 	MOVAL	CTL$AL_CMCNTX,R1	;GET ADDRESS OF COMPATIBILITY CONTEXT AREA

            81         0C AE     7D  01B6   619 	MOVQ	12(SP),(R1)+		;SAVE R0 AND R1

            81            52     7D  01BA   620 	MOVQ	R2,(R1)+		;SAVE R2 AND R3

            81            54     7D  01BD   621 	MOVQ	R4,(R1)+		;SAVE R4 AND R5

            81            56     D0  01C0   622 	MOVL	R6,(R1)+		;SAVE R6

            81            08     9A  01C3   623 	MOVZBL	#8,(R1)+		; SET CM EXCEPTION TYPE

            81            6E40   D0  01C6   624 	MOVL	(SP)[R0],(R1)+		;SAVE PC

            61         04 AE40   D0  01CA   625 	MOVL	4(SP)[R0],(R1)		;SAVE PSL

                          51     DC  01CF   626 10$:	MOVPSL	R1			;READ CURRENT PSL

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  22

01              COMMON EXCEPTION EXIT                                                                                            (1)



            50            12     DB  01D1   627 	MFPR	#PR$_IPL,R0		;READ CURRENT IPL

            50            02     D1  01D4   628 	CMPL	#IPL$_ASTDEL,R0		;INVALID PRIORITY LEVEL?

                          04     19  01D7   629 	BLSS	20$			;IF LSS YES

            51            1A     E1  01D9   630 	BBC	#PSL$V_IS,R1,30$	;IF CLR, THEN NOT ON INTERRUPT STACK

                          04         01DC       

                                     01DD   631 20$:	BUG_CHECK INVEXCEPTN,FATAL	;INVALID EXCEPTION

            02            16     EF  01E1   632 30$:	EXTZV	#PSL$V_PRVMOD,#PSL$S_PRVMOD,R1,R0 ;EXTRACT PREVIOUS MODE FIELD

            50            51         01E4       

                          7D     13  01E6   633 	BEQL	NORMAL			;IF EQL PREVIOUS MODE WAS KERNEL

                          1C     BB  01E8   634 	PUSHR	#^M<R2,R3,R4>		;SAVE REGISTERS R2, R3, AND R4

                       65'AF     9F  01EA   635 	PUSHAB	B^NORMAL		;ASSUME INFORMATION CAN BE COPIED

            52            50     D0  01ED   636 	MOVL	R0,R2			;SAVE PREVIOUS MODE

         24 AE            06     C1  01F0   637 	ADDL3	#6,36(SP),R3		;CALCULATE NUMBER OF LONGWORDS TO MOVE

                          53         01F4       

            51            52     DB  01F5   638 	MFPR	R2,R1			;READ PREVIOUS MODE STACK POINTER

                          0108   30  01F8   639 	BSBW	CHECK_STACK		;CHECK STACK RANGE

                          20     13  01FB   640 	BEQL	50$			;IF EQL RANGE CHECK FAILURE

   00000000'EF42          51     D1  01FD   641 	CMPL	R1,CTL$AL_STACK[R2]	;TOP ADDRESS OF STACK IN RANGE?

                          16     1A  0205   642 	BGTRU	50$			;IF GTRU NO

            01            1E     78  0207   643 	ASHL	#30,#1,-(SP)		;CALCULATE BOTTOM OF USER STACK RANGE

                          7E         020A       

            52            03     D1  020B   644 	CMPL	#PSL$C_USER,R2		;PREVIOUS MODE USER?

                          08     13  020E   645 	BEQL	40$			;IF EQL YES

            6E   FFFFFFFC'EF42   D0  0210   646 	MOVL	CTL$AL_STACK-4[R2],(SP)	;GET BOTTOM OF SPECIFIC MODE STACK RANGE

            8E            50     D1  0218   647 40$:	CMPL	R0,(SP)+		;BOTTOM ADDRESS OF STACK IN RANGE?

                          3B     1E  021B   648 	BGEQU	70$			;IF GEQU YES

            6E       028D'CF     9E  021D   649 50$:	MOVAB	W^BADSTACK,(SP)		;SET BAD STACK RETURN

            51   00000000'EF42   D0  0222   650 	MOVL	CTL$AL_STACK[R2],R1	;GET STARTING ADDRESS OF PREVIOUS MODE STACK

                          00D6   30  022A   651 	BSBW	CHECK_STACK		;CHECK STACK RANGE

                          29     12  022D   652 	BNEQ	70$			;IF NEQ SUCCESSFUL RANGE CHECK

                          71     DF  022F   653 	PUSHAL	-(R1)			;PUSH TOP ADDRESS OF STACK RANGE

            7E       FC04 C1     9E  0231   654 	MOVAB	-1024+4(R1),-(SP)	;PUSH BOTTOM ADDRESS OF STACK RANGE

            51            5E     D0  0236   655 	MOVL	SP,R1			;SET ADDRESS OF VIRTUAL ADDRESS LIMITS

                                     0239   656 	$CRETVA_S (R1),(R1),R2		;CREATE VIRTUAL ADDRESS SPACE

            51   00000000'EF42   D0  0246   657 	MOVL	CTL$AL_STACK[R2],R1	;RETRIEVE STARTING ADDRESS OF MODE STACK

            04            50     E8  024E   658 	BLBS	R0,60$			;IF LBS SUCCESSFUL COMPLETION

                                     0251   659 	BUG_CHECK UNABLCREVA,FATAL	;UNABLE TO CREATE VIRTUAL ADDRESS SPACE

            5E            08     C0  0255   660 60$:	ADDL	#8,SP			;REMOVE VIRTUAL ADDRESS LIMITS FROM STACK

            53            02     78  0258   661 70$:	ASHL	#2,R3,R0		;CALCULATE NUMBER OF BYTES TO MOVE

                          50         025B       

            51            50     C2  025C   662 	SUBL	R0,R1			;CALCULATE NEW TOP OF STACK ADDRESS

            52            51     DA  025F   663 	MTPR	R1,R2			;SET NEW PREVIOUS MODE STACK POINTER

                          0084   31  0262   664 	BRW	COPYARGS		;

                                     0265   665  

                                     0265   666 ;

                                     0265   667 ; PUSH ARGUMENT LIST ON STACK

                                     0265   668 ;

                                     0265   669  

                                     0265   670 	.ENABL	LSB

                                     0265   671 NORMAL:					;NORMAL EXIT FROM STACK COPY

                          6E     DF  0265   672 	PUSHAL	(SP)			;PUSH ADDRESS OF MECHANISM ARGUMENTS

                       18 AE     DF  0267   673 	PUSHAL	24(SP)			;PUSH ADDRESS OF SIGNAL ARGUMENTS

                          02     DD  026A   674 	PUSHL	#2			;PUSH NUMBER OF ARGUMENTS

                                     026C   675  

                                     026C   676 ;

                                     026C   677 ; SEARCH FOR CONDITION HANDLER

                                     026C   678 ;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  23

01              COMMON EXCEPTION EXIT                                                                                            (1)



                                     026C   679  

       0313'CF            6E     FA  026C   680 10$:	CALLG	(SP),W^SEARCH		;SEARCH FOR CONDITION HANDLER

            3A            50     E9  0271   681 	BLBC	R0,20$			;IF LBC FATAL ERROR

                                     0274   682  

                                     0274   683 ;

                                     0274   684 ; CALL CONDITION HANDLER

                                     0274   685 ;

                                     0274   686  

                 00000000'9F     16  0274   687 	JSB	@#SYS$CALL_HANDL	;CALL HANDLER VIA SYSTEM VECTOR

            EF            50     E9  027A   688 	BLBC	R0,10$			;IF LBC RESIGNAL

         20 AE            07     C1  027D   689 	ADDL3	#7,32(SP),(SP)		;CALCULATE LONGWORD OFFSET TO SAVED PC

                          6E         0281       

            6E            04     C4  0282   690 	MULL	#4,(SP)			;CALCULATE NUMBER OF BYTES TO REMOVE

            50         18 AE     7D  0285   691 	MOVQ	24(SP),R0		;RESTORE R0 AND R1

            5E            6E     C0  0289   692 	ADDL	(SP),SP			;REMOVE ARGUMENT LIST FROM STACK

                                 02  028C   693 	REI				;

                                     028D   694  

                                     028D   695 ;

                                     028D   696 ; BAD STACK WHEN TRYING TO COPY EXCEPTION ARGUMENTS

                                     028D   697 ;

                                     028D   698  

                                     028D   699 BADSTACK:				;BAD STACK EXIT FROM STACK COPY

                          6E     DF  028D   700 	PUSHAL	(SP)			;PUSH ADDRESS OF MECHANISM ARGUMENTS

                       18 AE     DF  028F   701 	PUSHAL	24(SP)			;PUSH ADDRESS OF SIGNAL ARGUMENTS

                          02     DD  0292   702 	PUSHL	#2			;PUSH NUMBER OF ARGUMENTS

            50       02B4 8F     3C  0294   703 	MOVZWL	#SS$_BADSTACK,R0	;SET BAD STACK STATUS

                          51     DC  0299   704 	MOVPSL	R1			;READ CURRENT PSL

            02            18     EF  029B   705 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1 ;EXTRACT CURRENT MODE

            51            51         029E       

            51            01     D1  02A0   706 	CMPL	#PSL$C_EXEC,R1		;EXECUTIVE OR KERNEL MODE?

                          09     19  02A3   707 	BLSS	20$			;IF LSS NO

                 00000000'EF41   D5  02A5   708 	TSTL	CTL$AL_FINALEXC[R1]	;ANY LAST CHANCE HANDLER SPECIFIED?

                          37     13  02AC   709 	BEQL	40$			;IF EQL NO

                          50     DD  02AE   710 20$:	PUSHL	R0			;SAVE FINAL STATUS

                          50     DC  02B0   711 	MOVPSL	R0			;READ CURRENT PSL

            02            18     EF  02B2   712 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R0,R0 ;EXTRACT CURRENT MODE

            50            50         02B5       

            51   00000000'EF40   D0  02B7   713 	MOVL	CTL$AL_FINALEXC[R0],R1	;GET ADDRESS OF LAST CHANCE HANDLER

                          08     13  02BF   714 	BEQL	30$			;IF EQL NONE

         18 AE            03     CE  02C1   715 	MNEGL	#3,24(SP)		;SET FRAME DEPTH TO MINUS THREE

            61         04 AE     FA  02C5   716 	CALLG	4(SP),(R1)		;CALL LAST CHANCE CONDITION HANDLER

                       04 AE     9F  02C9   717 30$:	PUSHAB	4(SP)			;PUSH ADDRESS OF CONDITION ARGUMENT LIST

                 00000000'EF     9F  02CC   718 	PUSHAB	FINALMSG		;PUSH ADDRESS OF FINAL EXCEPTION MESSAGE

   00000000'EF            02     FB  02D2   719 	CALLS	#2,EXE$EXCMSG		;PRINT FINAL EXCEPTION MESSAGE

                          50   8ED0  02D9   720 	POPL	R0			;RETRIEVE FINAL STATUS

                                     02DC   721 	$EXIT_S	R0			;EXIT PROCESS

                                     02E5   722 40$:	BUG_CHECK FATALEXCPT,FATAL	;FATAL EXECUTIVE OR KERNEL MODE EXCEPTION

                                     02E9   723 	.DSABL	LSB

                                     02E9   724  

                                     02E9   725 ;

                                     02E9   726 ; COPY ARGUMENTS TO PREVIOUS MODE STACK AND EXIT TO PREVIOUS MODE

                                     02E9   727 ;

                                     02E9   728  

                                     02E9   729 COPYARGS:				;COPY ARGUMENT LISTS TO PREVIOUS MODE STACK

            50         10 AE     9E  02E9   730 	MOVAB	16(SP),R0		;GET ADDRESS OF ARGUMENTS TO COPY

            81            80     D0  02ED   731 10$:	MOVL	(R0)+,(R1)+		;COPY EXCEPTION ARGUMENTS TO PREVIOUS STACK

            FA            53     F5  02F0   732 	SOBGTR	R3,10$			;ANY MORE LONGWORDS TO COPY?

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  24

01              COMMON EXCEPTION EXIT                                                                                            (1)



            70   C8000010 8F     CA  02F3   733 	BICL	#PSL$M_CM!PSL$M_TBIT!-	;CLEAR COMPATIBILITY, T-BIT, T PENDING, AND

                                     02FA   734 		PSL$M_FPD!PSL$M_TP,-(R0) ;FIRST PART DONE

                          70   8ED0  02FA   735 	POPL	-(R0)			;SET RETURN ADDRESS

                          1C     BA  02FD   736 	POPR	#^M<R2,R3,R4>		;RESTORE REGISTERS R2, R3, AND R4

            5E            50     D0  02FF   737 	MOVL	R0,SP			;REMOVE ARGUMENTS FROM KERNAL STACK

                                 02  0302   738 	REI				;

                                     0303   739  

                                     0303   740 ;

                                     0303   741 ; SUBROUTINE TO CHECK ACCESSIBILITY OF STACK ADDRESS RANGE

                                     0303   742 ;

                                     0303   743  

                                     0303   744 CHECK_STACK:				;CHECK STACK ADDRESS RANGE

            53            15     C1  0303   745 	ADDL3	#3+1+17,R3,R4		;CALCULATE TOTAL LONGWORDS IN RANGE

                          54         0306       

            54            04     C4  0307   746 	MULL	#4,R4			;CALCULATE NUMBER OF BYTES IN RANGE

            51            54     C3  030A   747 	SUBL3	R4,R1,R0		;CALCULATE BOTTOM ADDRESS OF RANGE

                          50         030D       

            54            00     0D  030E   748 	PROBEW	#0,R4,(R0)		;CAN BOTTOM OF STACK RANGE BE WRITTEN?

                          60         0311       

                                 05  0312   749 	RSB				;

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  25

01              SEARCH FOR CONDITION HANDLER                                                                                     (1)



                                     0313   751 	.SBTTL	SEARCH FOR CONDITION HANDLER

                                     0313   752 ;

                                     0313   753 ; SEARCH - SEARCH FOR CONDITION HANDLER

                                     0313   754 ;

                                     0313   755 ; THIS IS A SPECIAL INTERNAL ROUTINE THAT IS CALLED IN THE INITIAL SEARCH

                                     0313   756 ; FOR A CONDITION HANDLER AND ON RESIGNAL FROM A PREVIOUSLY SIGNALLED

                                     0313   757 ; CONDITION.

                                     0313   758 ;

                                     0313   759 ; INPUTS:

                                     0313   760 ;

                                     0313   761 ;	00(AP) = NUMBER OF CONDITION ARGUMENTS.

                                     0313   762 ;	04(AP) = ADDRESS OF SIGNAL ARGUMENT LIST.

                                     0313   763 ;	08(AP) = ADDRESS OF MECHANISM ARGUMENT LIST.

                                     0313   764 ;	12(AP) = NUMBER OF MECHANISM ARGUMENTS.

                                     0313   765 ;	16(AP) = FP OF HANDLER ESTABLISHER FRAME.

                                     0313   766 ;	20(AP) = FRAME DEPTH.

                                     0313   767 ;	24(AP) = SAVED R0.

                                     0313   768 ;	28(AP) = SAVED R1.

                                     0313   769 ;	32(AP) = NUMBER OF SIGNAL ARGUMENTS.

                                     0313   770 ;	36(AP) = EXCEPTION NAME (INTEGER VALUE).

                                     0313   771 ;	40(AP) = FIRST EXCEPTION PARAMETER (IF ANY).

                                     0313   772 ;	44(AP) = SECOND EXCEPTION PARAMETER (IF ANY).

                                     0313   773 ;	      .

                                     0313   774 ;	      .

                                     0313   775 ;	      .

                                     0313   776 ;	36+N*4(AP) = N'TH EXCEPTION PARAMETER (IF ANY).

                                     0313   777 ;	36+N*4+4(AP) = EXCEPTION PC.

                                     0313   778 ;	36+N*4+8(AP) = EXCEPTION PSL.

                                     0313   779 ;

                                     0313   780 ; OUTPUTS:

                                     0313   781 ;

                                     0313   782 ;	R0 LOW BIT CLEAR INDICATES FAILURE TO LOCATE CONDITION HANDLER.

                                     0313   783 ;

                                     0313   784 ;		R0 = SS$_ACCVIO - STACK CANNOT BE READ FROM CURRENT MODE.

                                     0313   785 ;

                                     0313   786 ;		R0 = SS$_NOHANDLER - NO CONDITION HANDLER COULD BE FOUND.

                                     0313   787 ;

                                     0313   788 ;	R0 LOW BIT SET INDICATES SUCCESSFUL COMPLETION.

                                     0313   789 ;

                                     0313   790 ;		R1 = ADDRESS OF CONDITION HANDLER.

                                     0313   791 ;

                                     0313   792  

                                     0313   793 SEARCH:					;SEARCH FOR CONDITION HANDLER

                               0000  0313   794 	.WORD	0			;ENTRY MASK

            6D       03B5'CF     DE  0315   795 	MOVAL	W^CHANDL,(FP)		;SET ADDRESS OF CONDITION HANDLER

            50         10 AC     D0  031A   796 10$:	MOVL	16(AP),R0		;GET PREVIOUS FRAME ADDRESS

                          51     DC  031E   797 20$:	MOVPSL	R1			;READ CURRENT PSL

            02            18     EF  0320   798 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1 ;EXTRACT CURRENT MODE

            51            51         0323       

                       14 AC     D6  0325   799 	INCL	20(AP)			;INCREMENT FRAME DEPTH

                          28     13  0328   800 	BEQL	50$			;IF EQL FIRST STACK FRAME

                          18     14  032A   801 	BGTR	40$			;IF GTR OTHER STACK FRAME

            50   00000000'9F41   7E  032C   802 	MOVAQ	@#CTL$AQ_EXCVEC[R1],R0	;GET ADDRESS OF EXCEPTION VECTOR QUADWORD

         14 AC         FE 8F     91  0334   803 	CMPB	#-2,20(AP)		;EXAMINE PRIMARY VECTOR?

                          02     13  0339   804 	BEQL	30$			;IF EQL YES

                          80     D5  033B   805 	TSTL	(R0)+			;ADJUST TO SECONDARY VECTOR

            51            60     D0  033D   806 30$:	MOVL	(R0),R1			;GET ADDRESS OF CONDITION HANDLER

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  26

01              SEARCH FOR CONDITION HANDLER                                                                                     (1)



                          35     12  0340   807 	BNEQ	60$			;IF NEQ CONDITION HANDLER FOUND

                          D6     11  0342   808 	BRB	10$			;

            67         16 AC     E8  0344   809 40$:	BLBS	22(AP),100$		;IF LBS SEARCH COUNT OVERFLOW

            50         0C A0     D0  0348   810 	MOVL	SAVFP(R0),R0		;GET ADDRESS OF PREVIOUS FRAME

                          61     13  034C   811 	BEQL	100$			;IF EQL NONE

         10 AC            50     D0  034E   812 	MOVL	R0,16(AP)		;SAVE ADDRESS OF ESTABLISHER FRAME

   00000000'EF41          50     D1  0352   813 50$:	CMPL	R0,CTL$AL_STACK[R1]	;FRAME POINTER WITHIN STACK RANGE?

                          53     1A  035A   814 	BGTRU	100$			;IF GTRU NO

            01            1E     78  035C   815 	ASHL	#30,#1,-(SP)		;SET LOWER LIMIT OF USER STACK

                          7E         035F       

            51            03     D1  0360   816 	CMPL	#PSL$C_USER,R1		;CURRENT MODE USER?

                          08     13  0363   817 	BEQL	55$			;IF EQL YES

            6E   FFFFFFFC'EF41   D0  0365   818 	MOVL	CTL$AL_STACK-4[R1],(SP)	;SET CURRENT MODE STACK LIMIT

            8E            50     D1  036D   819 55$:	CMPL	R0,(SP)+		;FRAME POINTER WITHIN STACK RANGE?

                          3D     1F  0370   820 	BLSSU	100$			;IF LSSU NO

            51            60     D0  0372   821 	MOVL	(R0),R1			;GET ADDRESS OF CONDITION HANDLER

                          04     13  0375   822 	BEQL	70$			;IF EQL NONE

            50            01     C8  0377   823 60$:	BISL	#1,R0			;INDICATE SUCCESSFUL COMPLETION

                                 04  037A   824 	RET				;

         10 A0   00000004'8F     D1  037B   825 70$:	CMPL	#SYS$CALL_HANDL+4,SAVPC(R0) ;CALL FROM CONDITION DISPATCHER?

                          95     12  0383   826 	BNEQ	10$			;IF NEQ NO

            0C            00     EF  0385   827 	EXTZV	#0,#12,SAVMSK(R0),R1	;GET REGISTER SAVE MASK

            51         06 A0         0388       

            02            0E     EF  038B   828 	EXTZV	#14,#2,SAVMSK(R0),-(SP)	;GET STACK ALIGNMENT BIAS

            7E         06 A0         038E       

            50            14     C0  0391   829 	ADDL	#SAVRG,R0		;ADD OFFSET TO REGISTER SAVE AREA

            50            8E     C0  0394   830 	ADDL	(SP)+,R0		;ADD STACK ALIGNMENT BIAS

            03            51     E9  0397   831 80$:	BLBC	R1,90$			;IF LBC CORRESPONDING REGISTER NOT SAVED

            50            04     C0  039A   832 	ADDL	#4,R0			;ADJUST FOR SAVED REGISTER

            51         FF 8F     78  039D   833 90$:	ASHL	#-1,R1,R1		;ANY MORE REGISTERS SAVED?

                          51         03A1       

                          F3     12  03A2   834 	BNEQ	80$			;IF NEQ YES

            50         0C A0     D0  03A4   835 	MOVL	CHF$L_MCHARGLST+4(R0),R0 ;GET ADDRESS OF MECHANISM ARGUMENTS

            50         04 A0     D0  03A8   836 	MOVL	CHF$L_MCH_FRAME(R0),R0	;GET ADDRESS OF ESTABLISHER FRAME

                          FF6F   31  03AC   837 	BRW	20$			;

            50       08F8 8F     3C  03AF   838 100$:	MOVZWL	#SS$_NOHANDLER,R0	;SET NO HANDLER FOUND

                                 04  03B4   839 	RET				;

                                     03B5   840  

                                     03B5   841 ;

                                     03B5   842 ; CONDITION HANDLER FOR SEARCH ROUTINE EXCEPTIONS

                                     03B5   843 ;

                                     03B5   844  

                                     03B5   845 CHANDL:					;SEARCH ROUTINE CONDITION HANDLER

                               0000  03B5   846 	.WORD	0			;ENTRY MASK

            50         04 AC     D0  03B7   847 	MOVL	CHF$L_SIGARGLST(AP),R0	;GET ADDRESS OF SIGNAL ARGUMENTS

         04 A0       0920 8F     B1  03BB   848 	CMPW	#SS$_UNWIND,CHF$L_SIG_NAME(R0) ;UNWINDING?

                          12     13  03C1   849 	BEQL	10$			;IF EQL YES

            51         08 AC     D0  03C3   850 	MOVL	CHF$L_MCHARGLST(AP),R1	;GET ADDRESS OF MECHANISM ARGUMENTS

         0C A1         04 A0     D0  03C7   851 	MOVL	CHF$L_SIG_NAME(R0),CHF$L_MCH_SAVR0(R1) ;SET FINAL STATUS

                          7E     7C  03CC   852 	CLRQ	-(SP)			;CLEAR DEPTH AND NEW PC ARGUMENTS

   00000000'EF            02     FB  03CE   853 	CALLS	#2,SYS$UNWIND		;UNWIND TO ESTABLISHER'S CALLER

                                 04  03D5   854 10$:	RET				;

                                     03D6   855  

                                     03D6   856 	.END

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  27

SYMBOL TABLE                                                                                                                     (1)



BADSTACK         0000028D R     04   IPL$_MAILBOX   = 0000000B            PCB$V_WALL     = 0000000D            

BIT...         = 00000000            IPL$_POWER     = 0000001F            PCB$W_APTCNT     00000034            

BUG$_FATALEXCPT  ********   X   04   IPL$_QUEUEAST  = 00000006            PCB$W_ASTCNT     0000003C            

BUG$_INVEXCEPTN  ********   X   04   IPL$_SCHED     = 00000003            PCB$W_BIOCNT     0000003E            

BUG$_KRNLSTAKNV  ********   X   04   IPL$_SYNCH     = 00000007            PCB$W_BIOLM      00000040            

BUG$_UNABLCREVA  ********   X   04   IPL$_TIMER     = 00000007            PCB$W_BYTCNT     00000042            

CHANDL           000003B5 R     04   NORMAL           00000265 R     04   PCB$W_BYTLM      00000068            

CHECK_STACK      00000303 R     04   PCB$B_ASTACT     0000000C            PCB$W_DIOCNT     00000044            

CHF$L_MCHARGLST  00000008            PCB$B_ASTEN      0000000D            PCB$W_DIOLM      00000046            

CHF$L_MCH_ARGS   00000000            PCB$B_PRI        0000000B            PCB$W_FILCNT     00000048            

CHF$L_MCH_DEPTH  00000008            PCB$B_PRIB       00000033            PCB$W_GPGCNT     00000038            

CHF$L_MCH_FRAME  00000004            PCB$B_TYPE       0000000A            PCB$W_GRP        00000022            

CHF$L_MCH_SAVR0  0000000C            PCB$B_WEFC       00000032            PCB$W_MEM        00000020            

CHF$L_MCH_SAVR1  00000010            PCB$C_LENGTH     0000007C            PCB$W_MTXCNT     0000000E            

CHF$L_SIGARGLST  00000004            PCB$K_LENGTH     0000007C            PCB$W_PPGCNT     0000003A            

CHF$L_SIG_ARG1   00000008            PCB$L_ASTQBL     00000014            PCB$W_PRCCNT     0000006A            

CHF$L_SIG_ARGS   00000000            PCB$L_ASTQFL     00000010            PCB$W_SIZE       00000008            

CHF$L_SIG_NAME   00000004            PCB$L_EFC2P      00000058            PCB$W_STATE      00000030            

COPYARGS         000002E9 R     04   PCB$L_EFC3P      0000005C            PCB$W_TMBU       00000036            

CTL$AL_CMCNTX    ********   X   04   PCB$L_EFCS       00000050            PCB$W_TQCNT      0000004A            

CTL$AL_FINALEXC  ********   X   04   PCB$L_EFCU       00000054            PHD$B_ASTLVL     000000CF            

CTL$AL_STACK     ********   X   04   PCB$L_EFWM       0000004C            PHD$B_DFPFC      00000038            

CTL$AQ_EXCVEC    ********   X   04   PCB$L_OWNER      0000001C            PHD$B_PAGFIL     0000001F            

CTL$GL_CMHANDLR  ********   X   04   PCB$L_PHD        00000064            PHD$B_PGTBPFC    00000039            

CTL$GL_CMSUPR    ********   X   04   PCB$L_PHYPCB     00000018            PHD$C_LENGTH     00000118            

CTL$GL_CMUSER    ********   X   04   PCB$L_PID        00000060            PHD$C_PHDPAGCTX= 00000008            

EX3ARG           000000FF R     04   PCB$L_PQB        0000004C            PHD$K_LENGTH     00000118            

EX4ARG           0000008A R     04   PCB$L_SQBL       00000004            PHD$L_BIOCNT     00000054            

EX5ARG           000000DB R     04   PCB$L_SQFL       00000000            PHD$L_CPULIM     00000058            

EXCCMD           00000043 R     04   PCB$L_STS        00000028            PHD$L_CPUTIM     0000003C            

EXCEPTION        0000019B R     04   PCB$L_UIC        00000020            PHD$L_DIOCNT     00000050            

EXE$ACVIOLAT     00000000 RG    04   PCB$L_WSSWP      00000024            PHD$L_ESP        0000007C            

EXE$ARITH        00000008 RG    04   PCB$L_WTIME      0000002C            PHD$L_FREP0VA    00000028            

EXE$ASTFLT       00000013 RG    04   PCB$T_LNAME      0000006C            PHD$L_FREP1VA    00000030            

EXE$BREAK        00000020 RG    04   PCB$V_ASTPEN   = 00000011            PHD$L_FREPTECNT  0000002C            

EXE$BUG_CHECK    ********   X   04   PCB$V_BATCH    = 0000000E            PHD$L_KSP        00000078            

EXE$CMODSUPR     00000028 RG    04   PCB$V_DELPEN   = 00000001            PHD$L_P0BR       000000C8            

EXE$CMODUSER     00000038 RG    04   PCB$V_FORCPEN  = 00000002            PHD$L_P0LRASTL   000000CC            

EXE$COMPAT       00000050 RG    04   PCB$V_HIBER    = 00000013            PHD$L_P1BR       000000D0            

EXE$EXCMSG       ********   X   04   PCB$V_INQUAN   = 00000003            PHD$L_P1LR       000000D4            

EXE$KERSTKNV     00000090 RG    04   PCB$V_LOGIN    = 00000014            PHD$L_PAGEFLTS   0000004C            

EXE$MCHECK       00000094 RG    04   PCB$V_NETWRK   = 00000015            PHD$L_PAGFIL     0000001C            

EXE$OPCCUS       0000009C RG    04   PCB$V_NOACNT   = 0000000F            PHD$L_PC         000000C0            

EXE$OPCDEC       000000A4 RG    04   PCB$V_NODELET  = 00000017            PHD$L_PCB        00000078            

EXE$PAGRDERR     000000D6 RG    04   PCB$V_PHDRES   = 00000012            PHD$L_PGFLCNT    00000034            

EXE$RADRMOD      000000E0 RG    04   PCB$V_PSWAPM   = 00000004            PHD$L_PGFLQUOTA  0000005C            

EXE$REFLECT      0000010D RG    04   PCB$V_PWRAST   = 00000016            PHD$L_PSL        000000C4            

EXE$ROPRAND      000000E8 RG    04   PCB$V_RES      = 00000000            PHD$L_PSTBASOFF  00000020            

EXE$SSFAIL       00000104 RG    04   PCB$V_RESPEN   = 00000005            PHD$L_PTWSLELCK  00000064            

EXE$TBIT         000000F0 RG    04   PCB$V_SSFEXC   = 00000006            PHD$L_PTWSLEVAL  00000068            

EXSSXT           0000010B R     04   PCB$V_SSFEXCE  = 00000007            PHD$L_R0         00000088            

FINALMSG         00000000 R     03   PCB$V_SSFEXCS  = 00000008            PHD$L_R1         0000008C            

GBL...         = 00000000            PCB$V_SSFEXCU  = 00000009            PHD$L_R10        000000B0            

HANDLER        = 00000000            PCB$V_SSRWAIT  = 0000000A            PHD$L_R11        000000B4            

IPL$_ASTDEL    = 00000002            PCB$V_SUSPEN   = 0000000B            PHD$L_R12        000000B8            

IPL$_HWCLK     = 00000018            PCB$V_SWPVBN   = 00000010            PHD$L_R13        000000BC            

IPL$_IOPOST    = 00000004            PCB$V_WAKEPEN  = 0000000C            PHD$L_R2         00000090            

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  28

SYMBOL TABLE                                                                                                                     (1)



PHD$L_R3         00000094            PR$_ISP        = 00000004            PSL$V_FU       = 00000006            

PHD$L_R4         00000098            PR$_KSP        = 00000000            PSL$V_IPL      = 00000010            

PHD$L_R5         0000009C            PR$_MAPEN      = 00000038            PSL$V_IS       = 0000001A            

PHD$L_R6         000000A0            PR$_NICR       = 00000019            PSL$V_IV       = 00000005            

PHD$L_R7         000000A4            PR$_P0BR       = 00000008            PSL$V_PRVMOD   = 00000016            

PHD$L_R8         000000A8            PR$_P0LR       = 00000009            PSL$V_TBIT     = 00000004            

PHD$L_R9         000000AC            PR$_P1BR       = 0000000A            PSL$V_TP       = 0000001E            

PHD$L_REFERFLT   00000014            PR$_P1LR       = 0000000B            REFLECT          000001A4 R     04   

PHD$L_SSP        00000080            PR$_PCBB       = 00000010            SAVAP          = 00000008            

PHD$L_USP        00000084            PR$_PME        = 0000003D            SAVFP          = 0000000C            

PHD$L_WSL        00000118            PR$_RXCS       = 00000020            SAVMSK         = 00000006            

PHD$M_DALCSTX  = 00000002            PR$_RXDB       = 00000021            SAVPC          = 00000010            

PHD$M_PFMFLG   = 00000001            PR$_SBIER      = 00000034            SAVPSW         = 00000004            

PHD$M_WSPEAKCHK= 00000004            PR$_SBIFS      = 00000030            SAVRG          = 00000014            

PHD$Q_PRIVMSK    00000000            PR$_SBIMT      = 00000033            SEARCH           00000313 R     04   

PHD$S_ASTLVL   = 00000008            PR$_SBIQC      = 00000036            SS$_ABORT      = 0000002C            

PHD$S_P0LR     = 00000018            PR$_SBIS       = 00000031            SS$_ACCONFLICT = 00000800            

PHD$V_ASTLVL   = 00000018            PR$_SBISC      = 00000032            SS$_ACCVIO     = 0000000C            

PHD$V_DALCSTX  = 00000001            PR$_SBITA      = 00000035            SS$_ACPVAFUL   = 000002FC            

PHD$V_P0LR     = 00000000            PR$_SBR        = 0000000C            SS$_ARTRES     = 00000474            

PHD$V_PFMFLG   = 00000000            PR$_SCBB       = 00000011            SS$_ASTFLT     = 0000040C            

PHD$V_WSPEAKCHK= 00000002            PR$_SID        = 0000003E            SS$_BADATTRIB  = 00000034            

PHD$W_ASTLM      00000044            PR$_SIRR       = 00000014            SS$_BADCHKSUM  = 00000808            

PHD$W_BAK        00000048            PR$_SISR       = 00000015            SS$_BADESCAPE  = 0000003C            

PHD$W_DFWSCNT    0000001A            PR$_SLR        = 0000000D            SS$_BADFILEHDR = 00000810            

PHD$W_EMPTPG     000000D8            PR$_SSP        = 00000002            SS$_BADFILENAME= 00000818            

PHD$W_EXTDYNWS   00000076            PR$_TBIA       = 00000039            SS$_BADFILEVER = 00000820            

PHD$W_FILLM      00000060            PR$_TBIS       = 0000003A            SS$_BADIMGHDR  = 00000044            

PHD$W_FLAGS      0000003A            PR$_TODR       = 0000001B            SS$_BADIRECTORY= 00000828            

PHD$W_PHVINDEX   00000046            PR$_TXCS       = 00000022            SS$_BADPARAM   = 00000014            

PHD$W_PRCLM      00000042            PR$_TXDB       = 00000023            SS$_BADSTACK   = 000002B4            

PHD$W_PST        00000020            PR$_USP        = 00000003            SS$_BEGOFFILE  = 00000938            

PHD$W_PSTBASMAX  0000004A            PR$_WCSA       = 0000002C            SS$_BLOCKCNTERR= 00000940            

PHD$W_PSTFREE    00000026            PR$_WCSD       = 0000002D            SS$_BREAK      = 00000414            

PHD$W_PSTLAST    00000024            PSL$C_EXEC     = 00000001            SS$_BUFBYTALI  = 0000030C            

PHD$W_PTCNTACT   00000070            PSL$C_KERNEL   = 00000000            SS$_BUFFEROVF  = 00000601            

PHD$W_PTCNTLCK   0000006C            PSL$C_SUPER    = 00000002            SS$_BUGCHECK   = 000002A4            

PHD$W_PTCNTMAX   00000072            PSL$C_USER     = 00000003            SS$_CANCEL     = 00000830            

PHD$W_PTCNTVAL   0000006E            PSL$M_CM       = 80000000            SS$_CHANINTLK  = 0000004C            

PHD$W_QUANT      00000040            PSL$M_CURMOD   = 03000000            SS$_CLIFRCEXT  = 00000980            

PHD$W_TQLM       00000062            PSL$M_DV       = 00000080            SS$_CMODSUPR   = 0000041C            

PHD$W_WSAUTH     0000000A            PSL$M_FPD      = 08000000            SS$_CMODUSER   = 00000424            

PHD$W_WSDYN      0000000E            PSL$M_FU       = 00000040            SS$_COMPAT     = 0000042C            

PHD$W_WSFLUID    00000074            PSL$M_IPL      = 001F0000            SS$_CONTINUE   = 00000001            

PHD$W_WSLAST     00000012            PSL$M_IS       = 04000000            SS$_CONTROLC   = 00000651            

PHD$W_WSLIST     00000008            PSL$M_IV       = 00000020            SS$_CONTROLO   = 00000609            

PHD$W_WSLOCK     0000000C            PSL$M_PRVMOD   = 00C00000            SS$_CONTROLY   = 00000611            

PHD$W_WSLX       0000004A            PSL$M_SAFBITS  = 000037FF            SS$_CREATED    = 00000619            

PHD$W_WSNEXT     00000010            PSL$M_TBIT     = 00000010            SS$_CTRLERR    = 00000054            

PHD$W_WSQUOTA    00000018            PSL$M_TP       = 40000000            SS$_DATACHECK  = 0000005C            

PR$_ACCR       = 00000029            PSL$S_CURMOD   = 00000002            SS$_DATAOVERUN = 00000838            

PR$_ACCS       = 00000028            PSL$S_IPL      = 00000005            SS$_DEBUG      = 0000046C            

PR$_ASTLVL     = 00000013            PSL$S_PRVMOD   = 00000002            SS$_DECOVF     = 000004A4            

PR$_ESP        = 00000001            PSL$V_CM       = 0000001F            SS$_DEVACTIVE  = 000002C4            

PR$_ICCS       = 00000018            PSL$V_CURMOD   = 00000018            SS$_DEVALLOC   = 00000840            

PR$_ICR        = 0000001A            PSL$V_DV       = 00000007            SS$_DEVALRALLOC= 00000641            

PR$_IPL        = 00000012            PSL$V_FPD      = 0000001B            SS$_DEVASSIGN  = 00000848            

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  29

SYMBOL TABLE                                                                                                                     (1)



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            SYS$ADJSTK       ********   X   04   

SS$_FORMAT     = 000000BC            SS$_NONEXPR    = 000008E8            SYS$CALL_HANDL   ********   X   04   

SS$_GPTFULL    = 000000C4            SS$_NONLOCAL   = 000008F0            SYS$CRETVA       ********   X   04   

SS$_GSDFULL    = 000000CC            SS$_NOPRIV     = 00000024            SYS$EXIT         ********   X   04   

SS$_HANGUP     = 000002CC            SS$_NORMAL     = 00000001            SYS$UNWIND       ********   X   04   

SS$_HEADERFULL = 000008C8            SS$_NOSIGNAL   = 00000900            

SS$_IDXFILEFULL= 000008D0            SS$_NOSOLICIT  = 00000284            

SS$_ILLBLKNUM  = 000000DC            SS$_NOSUCHDEV  = 00000908            

SS$_ILLCNTRFUNC= 000000E4            SS$_NOSUCHFILE = 00000910            

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

SS$_ILLIOFUNC  = 000000F4            SS$_NOSUCHSEC  = 00000978            

SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            

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

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

SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            

SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            

SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            

SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            

SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            

SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            

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

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

SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            

SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            

SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            

EXCEPTION       - EXCEPTION HANDLING                             21-AUG-1978 19:44:14   VAX-11 MACRO X0.3-11               Page  30

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







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  

YEXEPAGED        00000023      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$AEXENONPAGED    000003D6      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

12602. BYTES LEFT IN FREE MEMORY POOL.

2252. BYTES OF RECLAIMED MEMORY.

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

8 MLB DIR RDS - 781 GETS TO DEFINE 21 MACROS. 58 INTER. FILE WRITES. 

