EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      67  ACCESS VIOLATION FAULT

   (1)     101  ARITHMETIC TRAPS

   (1)     133  AST DELIVERY STACK FAULT

   (1)     157  BREAKPOINT FAULT

   (1)     176  CHANGE MODE TO SUPERVISOR TRAP

   (1)     199  CHANGE MODE TO USER TRAP

   (1)     226  COMPATIBILITY MODE FAULTS

   (1)     279  KERNEL STACK NOT VALID FAULT

   (1)     299  OPCODE RESERVED TO CUSTOMER FAULT

   (1)     318  OPCODE RESERVED TO DIGITAL FAULT

   (1)     347  PAGE READ FAULT

   (1)     379  RESERVED ADDRESSING MODE FAULT

   (1)     399  RESERVED OPERAND FAULT

   (1)     418  TBIT PENDING TRAP

   (1)     445  SYSTEM SERVICE FAILURE EXCEPTION

   (1)     476  REFLECT EXCEPTION FROM MODE OTHER THAN KERNEL

   (1)     549  COMMON EXCEPTION EXIT

   (1)     730  SEARCH FOR CONDITION HANDLER

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   1

00                                                                                                                               (1)



                                     0000     1 	.TITLE	EXCEPTION - EXCEPTION HANDLING

                                     0000     2 	.IDENT	/00/

                                     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 ; MODIFICATIONS:

                                     0000    26 ;

                                     0000    27 ;	C. A. MONIA - 4-JAN-1978

                                     0000    28 ;

                                     0000    29 ;		MODIFIED TO SUPPORT STAND-ALONE SYSTEM

                                     0000    30 ;

                                     0000    31 ;

                                     0000    32 ; HARDWARE EXCEPTION HANDLING

                                     0000    33 ;

                                     0000    34 ; MACRO LIBRARY CALLS

                                     0000    35 ;

                                     0000    36  

                                     0000    37 	$CHFDEF				;DEFINE CONDITION HANDLING ARGLIST OFFSETS

                                     0000    38 	$IPLDEF				;DEFINE INTERRUPT PRIORITY LEVELS

                                     0000    39 	$PCBDEF				;DEFINE PCB OFFSETS

                                     0000    40 	$PHDDEF				;DEFINE PHD OFFSETS

                                     0000    41 	$PRDEF				;DEFINE PROCESSOR REGISTERS

                                     0000    42 	$PSLDEF				;DEFINE PROCESSOR STATUS FIELDS

                                     0000    43 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000    44  

                                     0000    45 ;

                                     0000    46 ; LOCAL SYMBOLS

                                     0000    47 ;

                                     0000    48 ; CALL FRAME OFFSET DEFINITIONS

                                     0000    49 ;

                                     0000    50  

                           00000000  0000    51 HANDLER=0				;CONDITION HANDLER ADDRESS

                           00000004  0000    52 SAVPSW=4				;SAVED PSW FROM CALL

                           00000006  0000    53 SAVMSK=6				;REGISTER SAVE MASK

                           00000008  0000    54 SAVAP=8					;SAVED AP REGISTER IMAGE

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

                           00000010  0000    56 SAVPC=16				;SAVED PC REGISTER IMAGE

                           00000014  0000    57 SAVRG=20				;OTHER SAVED REGISTER IMAGES

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   2

00                                                                                                                               (1)



                                     0000    58  

                                     0000    59 ;

                                     0000    60 ; LOCAL DATA

                                     0000    61 ;

                                     0000    62  

                                 00000000    63 	.PSECT	YEXEPAGED,BYTE

                                     0000    64 FINALMSG:				;FINAL EXCEPTION MESSAGE

72 6F 20 6B 63 61 74 73 20 64 61 62  0000    65 	.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                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   3

00              ACCESS VIOLATION FAULT                                                                                           (1)



                                     0023    67 	.SBTTL	ACCESS VIOLATION FAULT

                                     0023    68 ;+

                                     0023    69 ; EXE$ACVIOLAT - ACCESS VIOLATE FAULT

                                     0023    70 ;

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

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

                                     0023    73 ;

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

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

                                     0023    76 ;	08(SP) = EXCEPTION PC.

                                     0023    77 ;	12(SP) = EXCEPTION PSL.

                                     0023    78 ;

                                     0023    79 ; ACCESS VIOLATION REASON MASK FORMAT IS:

                                     0023    80 ;

                                     0023    81 ;	BIT 0 = TYPE OF ACCESS VIOLATION.

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

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

                                     0023    84 ;	BIT 1 = PTE REFERENCE.

                                     0023    85 ;		0 = SPECIFIED VIRTUAL ADDRESS NOT ACCESSIBLE.

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

                                     0023    87 ;	BIT 2 = INTENDED ACCESS TYPE.

                                     0023    88 ;		0 = READ.

                                     0023    89 ;		1 = MODIFY.

                                     0023    90 ;

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

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

                                     0023    93 ;-

                                     0023    94  

                                 00000000    95 	.PSECT	A$EXENONPAGED,LONG

                                     0000    96 	.ALIGN	LONG

                                     0000    97 EXE$ACVIOLAT::				;ACCESS VIOLATION FAULTS

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

                          00BE   31  0003    99 	BRW	EX5ARG			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   4

00              ARITHMETIC TRAPS                                                                                                 (1)



                                     0006   101 	.SBTTL	ARITHMETIC TRAPS

                                     0006   102 ;+

                                     0006   103 ; EXE$ARITH - ARITHMETIC TRAPS

                                     0006   104 ;

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

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

                                     0006   107 ; IS:

                                     0006   108 ;

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

                                     0006   110 ;	04(SP) = EXCEPTION PC.

                                     0006   111 ;	08(SP) = EXCEPTION PSL.

                                     0006   112 ;

                                     0006   113 ; POSSIBLE ARITHMETIC EXCEPTION CODES ARE:

                                     0006   114 ;

                                     0006   115 ;	0 = UNDEFINED.

                                     0006   116 ;	1 = INTERGER OVERFLOW.

                                     0006   117 ;	2 = INTEGER DIVIDE BY ZERO.

                                     0006   118 ;	3 = FLOATING OVERFLOW.

                                     0006   119 ;	4 = FLOATING DIVIDE BY ZERO.

                                     0006   120 ;	5 = FLOATING UNDERFLOW.

                                     0006   121 ;	6 = DECIMAL STRING OVERFLOW.

                                     0006   122 ;	7 = DECIMAL STRING DIVIDE BY ZERO.

                                     0006   123 ;

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

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

                                     0006   126 ;-

                                     0006   127  

                                     0006   128 	.ALIGN	LONG

                                     0008   129 EXE$ARITH::				;ARITHMETIC TRAPS

            7E       0404 8F     3C  0008   130 	MOVZWL	#SS$_ARITH,-(SP)	;SET EXCEPTION NAME

                          0076   31  000D   131 	BRW	EX4ARG			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   5

00              AST DELIVERY STACK FAULT                                                                                         (1)



                                     0010   133 	.SBTTL	AST DELIVERY STACK FAULT

                                     0010   134 ;+

                                     0010   135 ; EXE$ASTFLT - AST DELIVERY STACK FAULT

                                     0010   136 ;

                                     0010   137 ; THIS ROUTINE IS ENTERED VIA A JMP FROM THE AST DELIVERY MODULE 

                                     0010   138 ; WHEN AN INVALID STACK IS DETECTED WHILE ATTEMPTING TO DELIVER AN

                                     0010   139 ; AST.  THE STATE OF THE STACK ON ENTRY IS:

                                     0010   140 ;

                                     0010   141 ;	00(SP) = SP VALUE AT FAULT (UNMODIFIED BY AST DELIVERY).

                                     0010   142 ;	04(SP) = AST PARAMETER OF FAILED AST.

                                     0010   143 ;	08(SP) = PC AT AST DELIVERY INTERRUPT.

                                     0010   144 ;	12(SP) = PSL AT AST DELIVERY INTERRUPT.

                                     0010   145 ;	16(SP) = PC TO WHICH AST WOULD HAVE BEEN DELIVERED.

                                     0010   146 ;	20(SP) = PSL AT WHICH AST WOULD HAVE BEEN DELIVERED.

                                     0010   147 ;

                                     0010   148 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF ARGUMENTS ARE PUSHED

                                     0010   149 ; ON THE STACK.  FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     0010   150 ;-

                                     0010   151 

                                     0010   152 EXE$ASTFLT::				;AST DELIVERY STACK FAULT

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

                          07     DD  0015   154 	PUSHL	#7			;AND COUNT OF ARGUMENTS

                          016D   31  0017   155 	BRW	EXCEPTION		;MERGE WITH COMMON EXCEPTION CODE

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   6

00              BREAKPOINT FAULT                                                                                                 (1)



                                     001A   157 	.SBTTL	BREAKPOINT FAULT

                                     001A   158 ;+

                                     001A   159 ; EXE$BREAK - BREAKPOINT FAULT

                                     001A   160 ;

                                     001A   161 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A BREAKPOINT

                                     001A   162 ; INSTRUCTION IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     001A   163 ;

                                     001A   164 ;	00(SP) = EXCEPTION PC.

                                     001A   165 ;	04(SP) = EXCEPTION PSL.

                                     001A   166 ;

                                     001A   167 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     001A   168 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     001A   169 ;-

                                     001A   170  

                                     001A   171 	.ALIGN	LONG

                                     001C   172 EXE$BREAK::				;BREAKPOINT FAULT

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

                          00C7   31  0021   174 	BRW	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   7

00              CHANGE MODE TO SUPERVISOR TRAP                                                                                   (1)



                                     0024   176 	.SBTTL	CHANGE MODE TO SUPERVISOR TRAP

                                     0024   177 ;+

                                     0024   178 ; EXE$CMODSUPR - CHANGE MODE TO SUPERVISOR TRAP

                                     0024   179 ;

                                     0024   180 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A CHANGE MODE TO SUPER-

                                     0024   181 ; VISOR INSTRUCTION IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     0024   182 ;

                                     0024   183 ;	00(SP) = CHANGE MODE CODE.

                                     0024   184 ;	04(SP) = EXCEPTION PC.

                                     0024   185 ;	08(SP) = EXCEPTION PSL.

                                     0024   186 ;

                                     0024   187 ; IF THE PROCESS HAS DECLARED A CHANGE MODE TO SUPERVISOR HANDLER, THEN THE

                                     0024   188 ; EXCEPTION IS DIRECTLY VECTORED TO THE SPECIFIED HANDLER. ELSE THE EXCEPTION

                                     0024   189 ; NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE PUSHED ON THE STACK.

                                     0024   190 ; FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     0024   191 ;-

                                     0024   192  

                                     0024   193 	.ALIGN	LONG

                                     0024   194 EXE$CMODSUPR::				;CHANGE MODE TO SUPERVISOR TRAP

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

                 00000000'9F     DD  0029   196 	PUSHL	@#CTL$GL_CMSUPR		;GET CONTENTS OF CHANGE MODE VECTOR

                          0E     11  002F   197 	BRB	EXCCMD			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   8

00              CHANGE MODE TO USER TRAP                                                                                         (1)



                                     0031   199 	.SBTTL	CHANGE MODE TO USER TRAP

                                     0031   200 ;+

                                     0031   201 ; EXE$CMODUSER - CHANGE MODE TO USER TRAP

                                     0031   202 ;

                                     0031   203 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A CHANGE MODE TO USER

                                     0031   204 ; INSTRUCTION IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     0031   205 ;

                                     0031   206 ;	00(SP) = CHANGE MODE CODE.

                                     0031   207 ;	04(SP) = EXCEPTION PC.

                                     0031   208 ;	08(SP) = EXCEPTION PSL.

                                     0031   209 ;

                                     0031   210 ; IF THE PROCESS HAS DECLARED A CHANGE MODE TO USER HANLDER, THEN THE EXCEPTION

                                     0031   211 ; IS VECTORED DIRECTLY TO THE SPECIFIED HANDLER. ELSE THE EXCEPTION NAME FOLLOWED

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

                                     0031   213 ; PLISHED IN COMMON CODE.

                                     0031   214 ;-

                                     0031   215  

                                     0031   216 	.ALIGN	LONG

                                     0034   217 EXE$CMODUSER::				;CHANGE MODE TO USER TRAP

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

                 00000000'9F     DD  0039   219 	PUSHL	@#CTL$GL_CMUSER		;GET CONTENTS OF CHANGE MODE VECTOR

                          04     13  003F   220 EXCCMD:	BEQL	10$			;IF EQL NO DISPATCHER SPECIFIED

                          6E   8ED0  0041   221 	POPL	(SP)			;REMOVE EXCEPTION NAME FROM STACK

                                 05  0044   222 	RSB				;

            5E            04     C0  0045   223 10$:	ADDL	#4,SP			;CLEAN STACK

                          00AC   31  0048   224 	BRW	EXSSXT			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page   9

00              COMPATIBILITY MODE FAULTS                                                                                        (1)



                                     004B   226 	.SBTTL	COMPATIBILITY MODE FAULTS

                                     004B   227 ;+

                                     004B   228 ; EXE$COMPAT - COMPATIBILITY MODE FAULT

                                     004B   229 ;

                                     004B   230 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A COMPATIBILITY MODE

                                     004B   231 ; EXCEPTION IS DETECTED. THE STATE OF THE STACK ON ENTRY IS:

                                     004B   232 ;

                                     004B   233 ;	00(SP) = COMPATIBILITY EXCEPTION CODE.

                                     004B   234 ;	04(SP) = EXCEPTION PC.

                                     004B   235 ;	08(SP) = EXCEPTION PSL.

                                     004B   236 ;

                                     004B   237 ; POSSIBLE COMPATIBILITY EXCEPTION CODES ARE:

                                     004B   238 ;

                                     004B   239 ;	0 = RESERVED INSTRUCTION EXECUTION.

                                     004B   240 ;	1 = BPT INSTRUCTION EXECUTION.

                                     004B   241 ;	2 = IOT INSTRUCTION EXECUTION.

                                     004B   242 ;	3 = EMT INSTRUCTION EXECUTION.

                                     004B   243 ;	4 = TRAP INSTRUCTION EXECUTION.

                                     004B   244 ;	5 = ILLEGAL INSTRUCTION EXECUTION.

                                     004B   245 ;	6 = ODD ADDRESS FAULT.

                                     004B   246 ;	7 = TBIT TRAP.

                                     004B   247 ;

                                     004B   248 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     004B   249 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     004B   250 ;-

                                     004B   251  

                                     004B   252 	.ALIGN	LONG

                                     004C   253 EXE$COMPAT::				;COMPATIBILITY MODE FAULTS

   00000000'EF            50     7D  004C   254 	MOVQ	R0,CTL$AL_CMCNTX	;SAVE R0,R1 IN COMPATIBILITY CONTEXT REGION

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

            80            52     7D  005A   256 	MOVQ	R2,(R0)+		;SAVE R2,R3

            80            54     7D  005D   257 	MOVQ	R4,(R0)+		;SAVE R4,R5

            80            56     D0  0060   258 	MOVL	R6,(R0)+		;SAVE R6

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

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

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

                 00000000'EF     DD  006F   262 	PUSHL	CTL$GL_CMHANDLR		;COMPATIBILITY MODE HANDLER ADDRESS

                          01     13  0075   263 	BEQL	20$			;BRANCH IF NONE SPECIFIED

                                 02  0077   264 	REI				;JUMP TO COMPATIBILITY HANDLER

                                     0078   265 

                                     0078   266 ;

                                     0078   267 ; NO COMPATIBILITY MODE HANDLER WAS DECLARED.  RESTORE THE STACK AND

                                     0078   268 ; SAVED REGISTER, AND CONTINUE THROUGH NORMAL EXCEPTION CODE.  R0 NOW

                                     0078   269 ; POINTS TO THE SAVED PC IN THE COMPATIBILITY CONTEXT AREA.

                                     0078   270 ;

                                     0078   271 

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

                          70     DD  007B   273 	PUSHL	-(R0)			;PUSH EXCEPTION CODE AGAIN

            50         E4 A0     D0  007D   274 	MOVL	-28(R0),R0		;RESTORE R0 FROM TOP OF CONTEXT AREA

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

                          04     DD  0086   276 EX4ARG:	PUSHL	#4			;SET NUMBER OF SIGNAL ARGUMENTS

                          00FC   31  0088   277 	BRW	EXCEPTION		;FINISH IN COMMON CODE

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  10

00              KERNEL STACK NOT VALID FAULT                                                                                     (1)



                                     008B   279 	.SBTTL	KERNEL STACK NOT VALID FAULT

                                     008B   280 ;+

                                     008B   281 ; EXE$KERSTKNV - KERNEL STACK NOT VALID FAULT

                                     008B   282 ;

                                     008B   283 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A KERNEL STACK NOT

                                     008B   284 ; VALID IS DETECTED DURING A CHANGE MODE INSTRUCTION, DURING AN REI

                                     008B   285 ; INSTRUCTION, OR DURING AN ATTEMPT TO PUSH EXCEPTION INFORMATION ON

                                     008B   286 ; THE KERNEL STACK. THIS EXCEPTION RUNS ON THE INTERRUPT STACK. THE

                                     008B   287 ; STATE OF THE STACK ON ENTRY IS:

                                     008B   288 ;

                                     008B   289 ;	00(SP) = EXCEPTION PC.

                                     008B   290 ;	04(SP) = EXCEPTION PSL.

                                     008B   291 ;

                                     008B   292 ; A FATAL KERNEL STACK NOT VALID BUGCHECK IS DECLARED.

                                     008B   293 ;-

                                     008B   294  

                                     008B   295 	.ALIGN	LONG

                                     008C   296 EXE$KERSTKNV::				;KERNEL STACK NOT VALID FAULT

                                     008C   297 	BUG_CHECK KRNLSTAKNV,FATAL	;KERNEL STACK NOT VALID

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  11

00              OPCODE RESERVED TO CUSTOMER FAULT                                                                                (1)



                                     0090   299 	.SBTTL	OPCODE RESERVED TO CUSTOMER FAULT

                                     0090   300 ;+

                                     0090   301 ; EXE$OPCCUS - OPCODE RESERVED TO CUSTOMER FAULT

                                     0090   302 ;

                                     0090   303 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN OPCODE THAT IS RESERVED

                                     0090   304 ; TO CUSTOMERS IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     0090   305 ;

                                     0090   306 ;	00(SP) = EXCEPTION PC.

                                     0090   307 ;	04(SP) = EXCEPTION PSL.

                                     0090   308 ;

                                     0090   309 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     0090   310 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     0090   311 ;-

                                     0090   312  

                                     0090   313 	.ALIGN	LONG

                                     0090   314 EXE$OPCCUS::				;OPCODE RESERVED TO CUSTOMERS FAULT

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

                          54     11  0095   316 	BRB	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  12

00              OPCODE RESERVED TO DIGITAL FAULT                                                                                 (1)



                                     0097   318 	.SBTTL	OPCODE RESERVED TO DIGITAL FAULT

                                     0097   319 ;+

                                     0097   320 ; EXE$OPCDEC - OPCODE RESERVED TO DIGITAL FAULT

                                     0097   321 ;

                                     0097   322 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN OPCODE THAT IS RESERVED

                                     0097   323 ; TO DIGITAL IS EXECUTED. THE STATE OF THE STACK ON ENTRY IS:

                                     0097   324 ;

                                     0097   325 ;	00(SP) = EXECPTION PC.

                                     0097   326 ;	04(SP) = EXCEPTION PSL.

                                     0097   327 ;

                                     0097   328 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     0097   329 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     0097   330 ;-

                                     0097   331  

                                     0097   332 	.ALIGN	LONG

                                     0098   333 EXE$OPCDEC::				;OPCODE RESERVED TO DIGITAL FAULT

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

                          07     13  009D   335 	BEQL	20$			;IF EQL YES

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

                          45     11  00A4   337 	BRB	EX3ARG			;

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

                          6E     D6  00A8   339 	INCL	(SP)			;CALCULATE ADDRESS OF NEXT BYTE

                                     00AA   340 	IFNORD	#1,@(SP),30$		;CAN NEXT BYTE BE READ?

            9E         FF 8F     91  00B1   341 	CMPB	#^XFF,@(SP)+		;BUG CHECK?

                          E8     12  00B5   342 	BNEQ	10$			;IF NEQ NO

                          FF46'  31  00B7   343 	BRW	EXE$BUG_CHECK		;

                          00     DD  00BA   344 30$:	PUSHL	#0			;SET REASON FOR ACCESS VIOLATION

                          FF41   31  00BC   345 	BRW	EXE$ACVIOLAT		;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  13

00              PAGE READ FAULT                                                                                                  (1)



                                     00BF   347 	.SBTTL	PAGE READ FAULT

                                     00BF   348 ;+

                                     00BF   349 ; EXE$PAGRDERR - PAGE READ FAULT

                                     00BF   350 ;

                                     00BF   351 ; THIS ROUTINE IS ENTERED VIA A JUMP FROM THE TRANSLATION NOT VALID

                                     00BF   352 ; EXCEPTION ROUTINE WHEN A READ ERROR OCCURS IN TRYING TO MAKE THE

                                     00BF   353 ; DESIRED PAGE VALID.  THE STATE OF THE STACK ON ENTRY IS:

                                     00BF   354 ;

                                     00BF   355 ;	00(SP) = TRANSLATION NOT VALID REASON MASK.

                                     00BF   356 ;	04(SP) = TRANSLATION NOT VALID VIRTUAL ADDRESS.

                                     00BF   357 ;	08(SP) = EXCEPTION PC.

                                     00BF   358 ;	12(SP) = EXCEPTION PSL.

                                     00BF   359 ;

                                     00BF   360 ; TRANSLATION NOT VALID REASON MASK FORMAT IS:

                                     00BF   361 ;

                                     00BF   362 ;	BIT 0 = 0 (USED ONLY FOR ACCESS VIOLATION).

                                     00BF   363 ;	BIT 1 = PTE REFERENCE.

                                     00BF   364 ;		0 = SPECIFIED VIRTUAL ADDRESS NOT VALID.

                                     00BF   365 ;		1 = ASSOCIATED PAGE TABLE ENTRY NOT VALID.

                                     00BF   366 ;	BIT 2 = INTENDED ACCESS TYPE.

                                     00BF   367 ;		0 = READ.

                                     00BF   368 ;		1 = MODIFY.

                                     00BF   369 ;

                                     00BF   370 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     00BF   371 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00BF   372 ;-

                                     00BF   373  

                                     00BF   374 EXE$PAGRDERR::				;PAGE READ ERROR

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

                          05     DD  00C4   376 EX5ARG:	PUSHL	#5			;SET NUMBER OF SIGNAL ARGUMENTS

                          00BE   31  00C6   377 	BRW	EXCEPTION		;FINISH IN COMMON CODE

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  14

00              RESERVED ADDRESSING MODE FAULT                                                                                   (1)



                                     00C9   379 	.SBTTL	RESERVED ADDRESSING MODE FAULT

                                     00C9   380 ;+

                                     00C9   381 ; EXE$RADRMOD - RESERVED ADDRESSING MODE FAULT

                                     00C9   382 ;

                                     00C9   383 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN ATTEMPT TO USE A

                                     00C9   384 ; RESERVED ADDRESSING MODE IS DETECTED. THE STATE OF THE STACK ON ENTRY

                                     00C9   385 ; IS:

                                     00C9   386 ;

                                     00C9   387 ;	00(SP) = EXCEPTION PC.

                                     00C9   388 ;	04(SP) = EXCEPTION PSL.

                                     00C9   389 ;

                                     00C9   390 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     00C9   391 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00C9   392 ;-

                                     00C9   393  

                                     00C9   394 	.ALIGN	LONG

                                     00CC   395 EXE$RADRMOD::				;RESERVED ADDRESSING MODE FAULT

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

                          18     11  00D1   397 	BRB	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  15

00              RESERVED OPERAND FAULT                                                                                           (1)



                                     00D3   399 	.SBTTL	RESERVED OPERAND FAULT

                                     00D3   400 ;+

                                     00D3   401 ; EXE$ROPRAND - RESERVED OPERAND FAULT

                                     00D3   402 ;

                                     00D3   403 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN AN ATTEMPT TO USE A

                                     00D3   404 ; RESERVED OPERAND IS DETECTED. THE STATE OF THE STACK ON ENTRY IS:

                                     00D3   405 ;

                                     00D3   406 ;	00(SP) = EXCEPTION PC.

                                     00D3   407 ;	04(SP) = EXCEPTION PSL.

                                     00D3   408 ;

                                     00D3   409 ; THE EXCEPTION NAME FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE

                                     00D3   410 ; PUSHED ON THE STACK. FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00D3   411 ;-

                                     00D3   412  

                                     00D3   413 	.ALIGN	LONG

                                     00D4   414 EXE$ROPRAND::				;RESERVED OPERAND FAULT

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

                          10     11  00D9   416 	BRB	EX3ARG			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  16

00              TBIT PENDING TRAP                                                                                                (1)



                                     00DB   418 	.SBTTL	TBIT PENDING TRAP

                                     00DB   419 ;+

                                     00DB   420 ; EXE$TBIT - TBIT PENDING TRAP

                                     00DB   421 ;

                                     00DB   422 ; THIS ROUTINE IS AUTOMATICALLY VECTORED TO WHEN A TBIT PENDING EXCEPTION

                                     00DB   423 ; IS DETECTED AT THE END OF AN INSTRUCTION. THE STATE OF THE STACK ON ENTRY

                                     00DB   424 ; IS:

                                     00DB   425 ;

                                     00DB   426 ;	00(SP) = EXCEPTION PC.

                                     00DB   427 ;	04(SP) = EXCEPTION PSL.

                                     00DB   428 ;

                                     00DB   429 ; IF THE TRAP OCCURED FROM COMPATIBILITY MODE, THEN THE CODE FOR COMPATIBILITY

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

                                     00DB   431 ; THE COMPATIBILITY MODE EXCEPTION ROUTINE. ELSE THE TBIT EXCEPTION NAME

                                     00DB   432 ; FOLLOWED BY THE NUMBER OF EXCEPTION ARGUMENTS ARE PUSHED ON THE STACK.

                                     00DB   433 ; FINAL PROCESSING IS ACCOMPLISHED IN COMMON CODE.

                                     00DB   434 ;-

                                     00DB   435  

                                     00DB   436 	.ALIGN	LONG

                                     00DC   437 EXE$TBIT::				;TBIT PENDING TRAP

                          07     DD  00DC   438 	PUSHL	#7			;ASSUME TRAP FROM COMPATIBILITY MODE

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

                          03         00E2       

                          FF66   31  00E3   440 	BRW	EXE$COMPAT		;IF SET, GO TO COMPATIBILITY MODE CODE

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

                          03     DD  00EB   442 EX3ARG:	PUSHL	#3			;SET NUMBER OF SIGNAL ARGUMENTS

                          0097   31  00ED   443 	BRW	EXCEPTION		;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  17

00              SYSTEM SERVICE FAILURE EXCEPTION                                                                                 (1)



                                     00F0   445 	.SBTTL	SYSTEM SERVICE FAILURE EXCEPTION

                                     00F0   446 ;+

                                     00F0   447 ; EXE$SSFAIL - SYSTEM SERVICE FAILURE EXCEPTION

                                     00F0   448 ;

                                     00F0   449 ; THIS ROUTINE IS JUMPED TO FROM THE SYSTEM SERVICE CHANGE MODE DISPATCHER

                                     00F0   450 ; WHEN THE RETURN STATUS FROM A SYSTEM SERVICE INDICATES FAILURE, THE

                                     00F0   451 ; PREVIOUS MODE WAS USER, AND THE CURRENT PROCESS IS ENABLED FOR SYSTEM

                                     00F0   452 ; SERVICE FAILURE EXCEPTIONS. THE STATE OF THE STACK ON ENTRY IS:

                                     00F0   453 ;

                                     00F0   454 ;	00(SP) = CHANGE MODE PC.

                                     00F0   455 ;	04(SP) = CHANGE MODE PSL.

                                     00F0   456 ;

                                     00F0   457 ; WITH:

                                     00F0   458 ;

                                     00F0   459 ;	R0 = FINAL SYSTEM SERVICE STATUS.

                                     00F0   460 ;-

                                     00F0   461  

                                     00F0   462 EXE$SSFAIL::				;SYSTEM SERVICE FAILURE EXCEPTION

                          50     DD  00F0   463 	PUSHL	R0			;PUSH REASON FOR SERVICE FAILURE

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

                                     00F7   465  

                                     00F7   466 ;

                                     00F7   467 ; THE FOLLOWING EXCEPTIONS CONVERGE TO THIS POINT:

                                     00F7   468 ;

                                     00F7   469 ;	CHANGE MODE TO SUPERVISOR,

                                     00F7   470 ;	CHANGE MODE TO USER, AND

                                     00F7   471 ;	SYSTEM SERVICE FAILURE.

                                     00F7   472 ;

                                     00F7   473  

                          04     DD  00F7   474 EXSSXT:	PUSHL	#4			;SET NUMBER OF SIGNAL ARGUMENTS

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  18

00              REFLECT EXCEPTION FROM MODE OTHER THAN KERNEL                                                                    (1)



                                     00F9   476 	.SBTTL	REFLECT EXCEPTION FROM MODE OTHER THAN KERNEL

                                     00F9   477 ;+

                                     00F9   478 ; EXE$REFLECT - REFLECT EXCEPTION FROM MODE OTHER THEN KERNEL

                                     00F9   479 ;

                                     00F9   480 ; THIS ROUTINE IS JUMPED TO REFLECT AN EXCEPTION FROM A MODE OTHER THAN KERNEL.

                                     00F9   481 ; THE SIGNAL ARGUMENTS ARE ASSUMED TO BE SETUP PROPERLY ON THE STACK.

                                     00F9   482 ;

                                     00F9   483 -

                                     00F9   484  

                                     00F9   485 EXE$REFLECT::				;REFLECT EXCEPTION

                          03     BB  00F9   486 	PUSHR	#^M<R0,R1>		;SAVE REGISTERS R0 AND R1

            7E            03     CE  00FB   487 	MNEGL	#3,-(SP)		;SET INITIAL FRAME DEPTH

                          5D     DD  00FE   488 	PUSHL	FP			;SET INITIAL HANDLER ESTABLISHER FRAME

                          04     DD  0100   489 	PUSHL	#4			;SET NUMBER OF MECHANISM ARGUMENTS

                                     0102   490  

                                     0102   491 ;

                                     0102   492 ; AT THIS POINT THE STACK HAS THE FOLLOWING FORMAT:

                                     0102   493 ;

                                     0102   494 ;	00(SP) = NUMBER OF MECHANISM ARGUMENTS (ALWAYS 4).

                                     0102   495 ;	04(SP) = FP OF HANDLER ESTABLISHER FRAME (TENTATIVE).

                                     0102   496 ;	08(SP) = FRAME DEPTH (ALWAYS -3).

                                     0102   497 ;	12(SP) = SAVED R0.

                                     0102   498 ;	16(SP) = SAVED R1.

                                     0102   499 ;	20(SP) = NUMBER OF SIGNAL ARGUMENTS.

                                     0102   500 ;	24(SP) = EXCEPTION NAME (INTEGER VALUE).

                                     0102   501 ;	28(SP) = FIRST EXCEPTION PARAMETER (IF ANY).

                                     0102   502 ;	32(SP) = SECOND EXCEPTION PARAMETER (IF ANY).

                                     0102   503 ;	      .

                                     0102   504 ;	      .

                                     0102   505 ;	      .

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

                                     0102   507 ;	24+N*4+4(SP) = EXCEPTION PC.

                                     0102   508 ;	24+N*4+8(SP) = EXCEPTION PSL.

                                     0102   509 ;

                                     0102   510  

                          50     DC  0102   511 	MOVPSL	R0			;READ CURRENT PSL

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

            51            50         0107       

                          77     13  0109   513 	BEQL	30$			;IF EQL YES

            02            16     ED  010B   514 	CMPZV	#PSL$V_PRVMOD,#PSL$S_PRVMOD,R0,R1 ;IS CURRENT EQL PREVIOUS?

            51            50         010E       

                          72     13  0110   515 	BEQL	40$			;IF EQL YES

                                     0112   516  

                                     0112   517 ;

                                     0112   518 ; ADJUST PREVIOUS MODE STACK POINTER USING SYSTEM SERVICE

                                     0112   519 ;

                                     0112   520  

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

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

                          53         0118       

                     0251'CF     9F  0119   523 	PUSHAB	W^NORMAL		;ASSUME INFORMATION CAN BE COPIED

                          7E     D4  011D   524 	CLRL	-(SP)			;SET TO USE CURRENT STACK POINTER VALUE

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

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

                          7E         0124       

            6E            6E     CE  0125   527 	MNEGL	(SP),(SP)		;SET NEGATIVE ADJUSTMENT VALUE

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

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  19

00              REFLECT EXCEPTION FROM MODE OTHER THAN KERNEL                                                                    (1)



            7E            50         012B       

                          03     DD  012D   529 	PUSHL	#3			;PUSH NUMBER OF ARGUMENTS

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

            41            50     E8  0136   531 	BLBS	R0,20$			;IF LBS SUCCESSFUL COMPLETION

         14 AE       0279'CF     9E  0139   532 10$:	MOVAB	W^BADSTACK,20(SP)	;SET BAD STACK RETURN

            52         04 AE     D0  013F   533 	MOVL	4(SP),R2		;RETRIEVE PREVIOUS ACCESS MODE

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

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

            24            50     E8  0153   536 	BLBS	R0,20$			;IF LBS SUCCESSFUL COMPLETION

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

                          7E         015E       

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

                          7E         0163       

            50            5E     D0  0164   539 	MOVL	SP,R0			;SET ADDRESS OF VIRTUAL ADDRESS DESCRIPTOR

                                     0167   540 	$CRETVA_S (R0),(R0),12(SP)	;CREATE STACK PAGES FOR EXCEPTION

            5E            08     C0  0175   541 	ADDL	#8,SP			;REMOVE VIRTUAL ADDRESS DESCRIPTOR

                          BF     11  0178   542 	BRB	10$			;

            5E            10     C0  017A   543 20$:	ADDL	#16,SP			;REMOVE ARGUMENT LIST FROM STACK

                          02     BA  017D   544 	POPR	#^M<R1>			;GET NEW PREVIOUS MODE STACK POINTER VALUE

                          0143   31  017F   545 	BRW	COPYARGS		;

                          0C     11  0182   546 30$:	BRB	REFLECT			;

                          00CA   31  0184   547 40$:	BRW	NORMAL			;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  20

00              COMMON EXCEPTION EXIT                                                                                            (1)



                                     0187   549 	.SBTTL	COMMON EXCEPTION EXIT

                                     0187   550 ;

                                     0187   551 ; ALL EXCEPTIONS CONVERGE TO THIS POINT WITH:

                                     0187   552 ;

                                     0187   553 ;	00(SP) = NUMBER OF SIGNAL ARGUMENTS.

                                     0187   554 ;	04(SP) = EXCEPTION NAME (INTEGER VALUE).

                                     0187   555 ;	08(SP) = FIRST EXCEPTION PARAMETER (IF ANY).

                                     0187   556 ;	12(SP) = SECOND EXCEPTION PARAMETER (IF ANY).

                                     0187   557 ;	      .

                                     0187   558 ;	      .

                                     0187   559 ;	      .

                                     0187   560 ;	04+N*4(SP) = N'TH EXCEPTION PARAMETER (IF ANY).

                                     0187   561 ;	04+N*4+4(SP) = EXCEPTION PC.

                                     0187   562 ;	04+N*4+8(SP) = EXCEPTION PSL.

                                     0187   563 ;

                                     0187   564  

                                     0187   565 	.ENABL	LSB

                                     0187   566 EXCEPTION:				;EXCEPTION PROCESSING COMMON CODE

                          03     BB  0187   567 	PUSHR	#^M<R0,R1>		;SAVE REGISTERS R0 AND R1

            7E            03     CE  0189   568 	MNEGL	#3,-(SP)		;SET INITIAL FRAME DEPTH

                          5D     DD  018C   569 	PUSHL	FP			;SET INITIAL HANDLER ESTABLISHER FRAME

                          04     DD  018E   570 	PUSHL	#4			;SET NUMBER OF MECHANISM ARGUMENTS

                                     0190   571  

                                     0190   572 ;

                                     0190   573 ; AT THIS POINT THE STACK HAS THE FOLLOWING FORMAT:

                                     0190   574 ;

                                     0190   575 ;	00(SP) = NUMBER OF MECHANISM ARGUMENTS (ALWAYS 4).

                                     0190   576 ;	04(SP) = FP OF HANDLER ESTABLISHER FRAME (TENTATIVE).

                                     0190   577 ;	08(SP) = FRAME DEPTH (ALWAYS -3).

                                     0190   578 ;	12(SP) = SAVED R0.

                                     0190   579 ;	16(SP) = SAVED R1.

                                     0190   580 ;	20(SP) = NUMBER OF SIGNAL ARGUMENTS.

                                     0190   581 ;	24(SP) = EXCEPTION NAME (INTEGER VALUE).

                                     0190   582 ;	28(SP) = FIRST EXCEPTION PARAMETER (IF ANY).

                                     0190   583 ;	32(SP) = SECOND EXCEPTION PARAMETER (IF ANY).

                                     0190   584 ;	      .

                                     0190   585 ;	      .

                                     0190   586 ;	      .

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

                                     0190   588 ;	24+N*4+4(SP) = EXCEPTION PC.

                                     0190   589 ;	24+N*4+8(SP) = EXCEPTION PSL.

                                     0190   590 ;

                                     0190   591  

                                     0190   592 REFLECT:				;REFLECT EXCEPTION TO PROPER ACCESS MODE

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

                          50         0194       

                       04 AE40   D5  0195   594 	TSTL	4(SP)[R0]		;PREVIOUSLY IN COMPATIBILITY MODE?

                          20     18  0199   595 	BGEQ	10$			;IF GEQ NO

            51   00000000'EF     DE  019B   596 	MOVAL	CTL$AL_CMCNTX,R1	;GET ADDRESS OF COMPATIBILITY CONTEXT AREA

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

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

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

            81            56     D0  01AC   600 	MOVL	R6,(R1)+		;SAVE R6

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

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

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

                          51     DC  01BB   604 10$:	MOVPSL	R1			;READ CURRENT PSL

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  21

00              COMMON EXCEPTION EXIT                                                                                            (1)



            50            12     DB  01BD   605 	MFPR	#PR$_IPL,R0		;READ CURRENT IPL

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

                          04     19  01C3   607 	BLSS	20$			;IF LSS YES

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

                          04         01C8       

                                     01C9   609 20$:	BUG_CHECK INVEXCEPTN,FATAL	;INVALID EXCEPTION

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

            50            51         01D0       

                          7D     13  01D2   611 	BEQL	NORMAL			;IF EQL PREVIOUS MODE WAS KERNEL

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

                       51'AF     9F  01D6   613 	PUSHAB	B^NORMAL		;ASSUME INFORMATION CAN BE COPIED

            52            50     D0  01D9   614 	MOVL	R0,R2			;SAVE PREVIOUS MODE

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

                          53         01E0       

            51            52     DB  01E1   616 	MFPR	R2,R1			;READ PREVIOUS MODE STACK POINTER

                          00F8   30  01E4   617 	BSBW	CHECK_STACK		;CHECK STACK RANGE

                          20     13  01E7   618 	BEQL	50$			;IF EQL RANGE CHECK FAILURE

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

                          16     1A  01F1   620 	BGTRU	50$			;IF GTRU NO

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

                          7E         01F6       

            52            03     D1  01F7   622 	CMPL	#PSL$C_USER,R2		;PREVIOUS MODE USER?

                          08     13  01FA   623 	BEQL	40$			;IF EQL YES

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

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

                          3B     1E  0207   626 	BGEQU	70$			;IF GEQU YES

            6E       0279'CF     9E  0209   627 50$:	MOVAB	W^BADSTACK,(SP)		;SET BAD STACK RETURN

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

                          00C6   30  0216   629 	BSBW	CHECK_STACK		;CHECK STACK RANGE

                          29     12  0219   630 	BNEQ	70$			;IF NEQ SUCCESSFUL RANGE CHECK

                          71     DF  021B   631 	PUSHAL	-(R1)			;PUSH TOP ADDRESS OF STACK RANGE

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

            51            5E     D0  0222   633 	MOVL	SP,R1			;SET ADDRESS OF VIRTUAL ADDRESS LIMITS

                                     0225   634 	$CRETVA_S (R1),(R1),R2		;CREATE VIRTUAL ADDRESS SPACE

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

            04            50     E8  023A   636 	BLBS	R0,60$			;IF LBS SUCCESSFUL COMPLETION

                                     023D   637 	BUG_CHECK UNABLCREVA,FATAL	;UNABLE TO CREATE VIRTUAL ADDRESS SPACE

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

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

                          50         0247       

            51            50     C2  0248   640 	SUBL	R0,R1			;CALCULATE NEW TOP OF STACK ADDRESS

            52            51     DA  024B   641 	MTPR	R1,R2			;SET NEW PREVIOUS MODE STACK POINTER

                          0074   31  024E   642 	BRW	COPYARGS		;

                                     0251   643  

                                     0251   644 ;

                                     0251   645 ; PUSH ARGUMENT LIST ON STACK

                                     0251   646 ;

                                     0251   647  

                                     0251   648 	.ENABL	LSB

                                     0251   649 NORMAL:					;NORMAL EXIT FROM STACK COPY

                          6E     DF  0251   650 	PUSHAL	(SP)			;PUSH ADDRESS OF MECHANISM ARGUMENTS

                       18 AE     DF  0253   651 	PUSHAL	24(SP)			;PUSH ADDRESS OF SIGNAL ARGUMENTS

                          02     DD  0256   652 	PUSHL	#2			;PUSH NUMBER OF ARGUMENTS

                                     0258   653  

                                     0258   654 ;

                                     0258   655 ; SEARCH FOR CONDITION HANDLER

                                     0258   656 ;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  22

00              COMMON EXCEPTION EXIT                                                                                            (1)



                                     0258   657  

       02EF'CF            6E     FA  0258   658 10$:	CALLG	(SP),W^SEARCH		;SEARCH FOR CONDITION HANDLER

            3A            50     E9  025D   659 	BLBC	R0,20$			;IF LBC FATAL ERROR

                                     0260   660  

                                     0260   661 ;

                                     0260   662 ; CALL CONDITION HANDLER

                                     0260   663 ;

                                     0260   664  

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

            EF            50     E9  0266   666 	BLBC	R0,10$			;IF LBC RESIGNAL

         20 AE            07     C1  0269   667 	ADDL3	#7,32(SP),(SP)		;CALCULATE LONGWORD OFFSET TO SAVED PC

                          6E         026D       

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

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

            5E            6E     C0  0275   670 	ADDL	(SP),SP			;REMOVE ARGUMENT LIST FROM STACK

                                 02  0278   671 	REI				;

                                     0279   672  

                                     0279   673 ;

                                     0279   674 ; BAD STACK WHEN TRYING TO COPY EXCEPTION ARGUMENTS

                                     0279   675 ;

                                     0279   676  

                                     0279   677 BADSTACK:				;BAD STACK EXIT FROM STACK COPY

                          6E     DF  0279   678 	PUSHAL	(SP)			;PUSH ADDRESS OF MECHANISM ARGUMENTS

                       18 AE     DF  027B   679 	PUSHAL	24(SP)			;PUSH ADDRESS OF SIGNAL ARGUMENTS

                          02     DD  027E   680 	PUSHL	#2			;PUSH NUMBER OF ARGUMENTS

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

                          51     DC  0285   682 	MOVPSL	R1			;READ CURRENT PSL

            02            18     EF  0287   683 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1 ;EXTRACT CURRENT MODE

            51            51         028A       

            51            01     D1  028C   684 	CMPL	#PSL$C_EXEC,R1		;EXECUTIVE OR KERNEL MODE?

                          09     19  028F   685 	BLSS	20$			;IF LSS NO

                 00000000'EF41   D5  0291   686 	TSTL	CTL$AL_FINALEXC[R1]	;ANY LAST CHANCE HANDLER SPECIFIED?

                          27     13  0298   687 	BEQL	40$			;IF EQL NO

                          50     DD  029A   688 20$:	PUSHL	R0			;SAVE FINAL STATUS

                          50     DC  029C   689 	MOVPSL	R0			;READ CURRENT PSL

            02            18     EF  029E   690 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R0,R0 ;EXTRACT CURRENT MODE

            50            50         02A1       

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

                          08     13  02AB   692 	BEQL	30$			;IF EQL NONE

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

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

                                     02B5   695 30$:					;

                                     02B5   696 ;	PUSHAB	4(SP)			;PUSH ADDRESS OF CONDITION ARGUMENT LIST

                                     02B5   697 ;	PUSHAB	FINALMSG		;PUSH ADDRESS OF FINAL EXCEPTION MESSAGE

                                     02B5   698 ;	CALLS	#2,EXE$EXCMSG		;PRINT FINAL EXCEPTION MESSAGE

                          50   8ED0  02B5   699 	POPL	R0			;RETRIEVE FINAL STATUS

                                     02B8   700 	$EXIT_S	R0			;EXIT PROCESS

                                     02C1   701 40$:	BUG_CHECK FATALEXCPT,FATAL	;FATAL EXECUTIVE OR KERNEL MODE EXCEPTION

                                     02C5   702 	.DSABL	LSB

                                     02C5   703  

                                     02C5   704 ;

                                     02C5   705 ; COPY ARGUMENTS TO PREVIOUS MODE STACK AND EXIT TO PREVIOUS MODE

                                     02C5   706 ;

                                     02C5   707  

                                     02C5   708 COPYARGS:				;COPY ARGUMENT LISTS TO PREVIOUS MODE STACK

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

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

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  23

00              COMMON EXCEPTION EXIT                                                                                            (1)



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

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

                                     02D6   713 		PSL$M_FPD!PSL$M_TP,-(R0) ;FIRST PART DONE

                          70   8ED0  02D6   714 	POPL	-(R0)			;SET RETURN ADDRESS

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

            5E            50     D0  02DB   716 	MOVL	R0,SP			;REMOVE ARGUMENTS FROM KERNAL STACK

                                 02  02DE   717 	REI				;

                                     02DF   718  

                                     02DF   719 ;

                                     02DF   720 ; SUBROUTINE TO CHECK ACCESSIBILITY OF STACK ADDRESS RANGE

                                     02DF   721 ;

                                     02DF   722  

                                     02DF   723 CHECK_STACK:				;CHECK STACK ADDRESS RANGE

            53            15     C1  02DF   724 	ADDL3	#3+1+17,R3,R4		;CALCULATE TOTAL LONGWORDS IN RANGE

                          54         02E2       

            54            04     C4  02E3   725 	MULL	#4,R4			;CALCULATE NUMBER OF BYTES IN RANGE

            51            54     C3  02E6   726 	SUBL3	R4,R1,R0		;CALCULATE BOTTOM ADDRESS OF RANGE

                          50         02E9       

            54            00     0D  02EA   727 	PROBEW	#0,R4,(R0)		;CAN BOTTOM OF STACK RANGE BE WRITTEN?

                          60         02ED       

                                 05  02EE   728 	RSB				;

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  24

00              SEARCH FOR CONDITION HANDLER                                                                                     (1)



                                     02EF   730 	.SBTTL	SEARCH FOR CONDITION HANDLER

                                     02EF   731 ;

                                     02EF   732 ; SEARCH - SEARCH FOR CONDITION HANDLER

                                     02EF   733 ;

                                     02EF   734 ; THIS IS A SPECIAL INTERNAL ROUTINE THAT IS CALLED IN THE INITIAL SEARCH

                                     02EF   735 ; FOR A CONDITION HANDLER AND ON RESIGNAL FROM A PREVIOUSLY SIGNALLED

                                     02EF   736 ; CONDITION.

                                     02EF   737 ;

                                     02EF   738 ; INPUTS:

                                     02EF   739 ;

                                     02EF   740 ;	00(AP) = NUMBER OF CONDITION ARGUMENTS.

                                     02EF   741 ;	04(AP) = ADDRESS OF SIGNAL ARGUMENT LIST.

                                     02EF   742 ;	08(AP) = ADDRESS OF MECHANISM ARGUMENT LIST.

                                     02EF   743 ;	12(AP) = NUMBER OF MECHANISM ARGUMENTS.

                                     02EF   744 ;	16(AP) = FP OF HANDLER ESTABLISHER FRAME.

                                     02EF   745 ;	20(AP) = FRAME DEPTH.

                                     02EF   746 ;	24(AP) = SAVED R0.

                                     02EF   747 ;	28(AP) = SAVED R1.

                                     02EF   748 ;	32(AP) = NUMBER OF SIGNAL ARGUMENTS.

                                     02EF   749 ;	36(AP) = EXCEPTION NAME (INTEGER VALUE).

                                     02EF   750 ;	40(AP) = FIRST EXCEPTION PARAMETER (IF ANY).

                                     02EF   751 ;	44(AP) = SECOND EXCEPTION PARAMETER (IF ANY).

                                     02EF   752 ;	      .

                                     02EF   753 ;	      .

                                     02EF   754 ;	      .

                                     02EF   755 ;	36+N*4(AP) = N'TH EXCEPTION PARAMETER (IF ANY).

                                     02EF   756 ;	36+N*4+4(AP) = EXCEPTION PC.

                                     02EF   757 ;	36+N*4+8(AP) = EXCEPTION PSL.

                                     02EF   758 ;

                                     02EF   759 ; OUTPUTS:

                                     02EF   760 ;

                                     02EF   761 ;	R0 LOW BIT CLEAR INDICATES FAILURE TO LOCATE CONDITION HANDLER.

                                     02EF   762 ;

                                     02EF   763 ;		R0 = SS$_ACCVIO - STACK CANNOT BE READ FROM CURRENT MODE.

                                     02EF   764 ;

                                     02EF   765 ;		R0 = SS$_NOHANDLER - NO CONDITION HANDLER COULD BE FOUND.

                                     02EF   766 ;

                                     02EF   767 ;	R0 LOW BIT SET INDICATES SUCCESSFUL COMPLETION.

                                     02EF   768 ;

                                     02EF   769 ;		R1 = ADDRESS OF CONDITION HANDLER.

                                     02EF   770 ;

                                     02EF   771  

                                     02EF   772 SEARCH:					;SEARCH FOR CONDITION HANDLER

                               0000  02EF   773 	.WORD	0			;ENTRY MASK

            6D       0391'CF     DE  02F1   774 	MOVAL	W^CHANDL,(FP)		;SET ADDRESS OF CONDITION HANDLER

            50         10 AC     D0  02F6   775 10$:	MOVL	16(AP),R0		;GET PREVIOUS FRAME ADDRESS

                          51     DC  02FA   776 20$:	MOVPSL	R1			;READ CURRENT PSL

            02            18     EF  02FC   777 	EXTZV	#PSL$V_CURMOD,#PSL$S_CURMOD,R1,R1 ;EXTRACT CURRENT MODE

            51            51         02FF       

                       14 AC     D6  0301   778 	INCL	20(AP)			;INCREMENT FRAME DEPTH

                          28     13  0304   779 	BEQL	50$			;IF EQL FIRST STACK FRAME

                          18     14  0306   780 	BGTR	40$			;IF GTR OTHER STACK FRAME

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

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

                          02     13  0315   783 	BEQL	30$			;IF EQL YES

                          80     D5  0317   784 	TSTL	(R0)+			;ADJUST TO SECONDARY VECTOR

            51            60     D0  0319   785 30$:	MOVL	(R0),R1			;GET ADDRESS OF CONDITION HANDLER

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  25

00              SEARCH FOR CONDITION HANDLER                                                                                     (1)



                          35     12  031C   786 	BNEQ	60$			;IF NEQ CONDITION HANDLER FOUND

                          D6     11  031E   787 	BRB	10$			;

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

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

                          61     13  0328   790 	BEQL	100$			;IF EQL NONE

         10 AC            50     D0  032A   791 	MOVL	R0,16(AP)		;SAVE ADDRESS OF ESTABLISHER FRAME

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

                          53     1A  0336   793 	BGTRU	100$			;IF GTRU NO

            01            1E     78  0338   794 	ASHL	#30,#1,-(SP)		;SET LOWER LIMIT OF USER STACK

                          7E         033B       

            51            03     D1  033C   795 	CMPL	#PSL$C_USER,R1		;CURRENT MODE USER?

                          08     13  033F   796 	BEQL	55$			;IF EQL YES

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

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

                          3D     1F  034C   799 	BLSSU	100$			;IF LSSU NO

            51            60     D0  034E   800 	MOVL	(R0),R1			;GET ADDRESS OF CONDITION HANDLER

                          04     13  0351   801 	BEQL	70$			;IF EQL NONE

            50            01     C8  0353   802 60$:	BISL	#1,R0			;INDICATE SUCCESSFUL COMPLETION

                                 04  0356   803 	RET				;

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

                          95     12  035F   805 	BNEQ	10$			;IF NEQ NO

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

            51         06 A0         0364       

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

            7E         06 A0         036A       

            50            14     C0  036D   808 	ADDL	#SAVRG,R0		;ADD OFFSET TO REGISTER SAVE AREA

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

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

            50            04     C0  0376   811 	ADDL	#4,R0			;ADJUST FOR SAVED REGISTER

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

                          51         037D       

                          F3     12  037E   813 	BNEQ	80$			;IF NEQ YES

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

            50         04 A0     D0  0384   815 	MOVL	CHF$L_MCH_FRAME(R0),R0	;GET ADDRESS OF ESTABLISHER FRAME

                          FF6F   31  0388   816 	BRW	20$			;

            50       08F8 8F     3C  038B   817 100$:	MOVZWL	#SS$_NOHANDLER,R0	;SET NO HANDLER FOUND

                                 04  0390   818 	RET				;

                                     0391   819  

                                     0391   820 ;

                                     0391   821 ; CONDITION HANDLER FOR SEARCH ROUTINE EXCEPTIONS

                                     0391   822 ;

                                     0391   823  

                                     0391   824 CHANDL:					;SEARCH ROUTINE CONDITION HANDLER

                               0000  0391   825 	.WORD	0			;ENTRY MASK

            50         04 AC     D0  0393   826 	MOVL	CHF$L_SIGARGLST(AP),R0	;GET ADDRESS OF SIGNAL ARGUMENTS

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

                          12     13  039D   828 	BEQL	10$			;IF EQL YES

            51         08 AC     D0  039F   829 	MOVL	CHF$L_MCHARGLST(AP),R1	;GET ADDRESS OF MECHANISM ARGUMENTS

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

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

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

                                 04  03B1   833 10$:	RET				;

                                     03B2   834  

                                     03B2   835 	.END

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  26

SYMBOL TABLE                                                                                                                     (1)



BADSTACK         00000279 R     04   IPL$_QUEUEAST  = 00000006            PCB$W_BYTCNT     00000042            

BIT...         = 00000000            IPL$_SCHED     = 00000003            PCB$W_BYTLM      00000068            

BUG$_FATALEXCPT  ********   X   04   IPL$_SYNCH     = 00000007            PCB$W_DIOCNT     00000044            

BUG$_INVEXCEPTN  ********   X   04   IPL$_TIMER     = 00000007            PCB$W_DIOLM      00000046            

BUG$_KRNLSTAKNV  ********   X   04   NORMAL           00000251 R     04   PCB$W_FILCNT     00000048            

BUG$_UNABLCREVA  ********   X   04   PCB$B_ASTACT     0000000C            PCB$W_GPGCNT     00000038            

CHANDL           00000391 R     04   PCB$B_ASTEN      0000000D            PCB$W_GRP        00000022            

CHECK_STACK      000002DF R     04   PCB$B_PRI        0000000B            PCB$W_MEM        00000020            

CHF$L_MCHARGLST  00000008            PCB$B_PRIB       00000033            PCB$W_MTXCNT     0000000E            

CHF$L_MCH_ARGS   00000000            PCB$B_TYPE       0000000A            PCB$W_PPGCNT     0000003A            

CHF$L_MCH_DEPTH  00000008            PCB$B_WEFC       00000032            PCB$W_PRCCNT     0000006A            

CHF$L_MCH_FRAME  00000004            PCB$C_LENGTH     0000007C            PCB$W_SIZE       00000008            

CHF$L_MCH_SAVR0  0000000C            PCB$K_LENGTH     0000007C            PCB$W_STATE      00000030            

CHF$L_MCH_SAVR1  00000010            PCB$L_ASTQBL     00000014            PCB$W_TMBU       00000036            

CHF$L_SIGARGLST  00000004            PCB$L_ASTQFL     00000010            PCB$W_TQCNT      0000004A            

CHF$L_SIG_ARG1   00000008            PCB$L_EFC2P      00000058            PHD$B_ASTLVL     000000CF            

CHF$L_SIG_ARGS   00000000            PCB$L_EFC3P      0000005C            PHD$B_DFPFC      00000038            

CHF$L_SIG_NAME   00000004            PCB$L_EFCS       00000050            PHD$B_PAGFIL     0000001F            

COPYARGS         000002C5 R     04   PCB$L_EFCU       00000054            PHD$C_LENGTH     000000D8            

CTL$AL_CMCNTX    ********   X   04   PCB$L_EFWM       0000004C            PHD$K_LENGTH     000000D8            

CTL$AL_FINALEXC  ********   X   04   PCB$L_OWNER      0000001C            PHD$L_BIOCNT     00000054            

CTL$AL_STACK     ********   X   04   PCB$L_PHD        00000064            PHD$L_CPULIM     00000058            

CTL$AQ_EXCVEC    ********   X   04   PCB$L_PHYPCB     00000018            PHD$L_CPUTIM     0000003C            

CTL$GL_CMHANDLR  ********   X   04   PCB$L_PID        00000060            PHD$L_DIOCNT     00000050            

CTL$GL_CMSUPR    ********   X   04   PCB$L_PQB        0000004C            PHD$L_ESP        0000007C            

CTL$GL_CMUSER    ********   X   04   PCB$L_SQBL       00000004            PHD$L_FREP0VA    00000028            

EX3ARG           000000EB R     04   PCB$L_SQFL       00000000            PHD$L_FREP1VA    00000030            

EX4ARG           00000086 R     04   PCB$L_STS        00000028            PHD$L_FREPTECNT  0000002C            

EX5ARG           000000C4 R     04   PCB$L_UIC        00000020            PHD$L_KSP        00000078            

EXCCMD           0000003F R     04   PCB$L_WSSWP      00000024            PHD$L_P0BR       000000C8            

EXCEPTION        00000187 R     04   PCB$L_WTIME      0000002C            PHD$L_P0LRASTL   000000CC            

EXE$ACVIOLAT     00000000 RG    04   PCB$T_LNAME      0000006C            PHD$L_P1BR       000000D0            

EXE$ARITH        00000008 RG    04   PCB$V_ASTPEN   = 00000011            PHD$L_P1LR       000000D4            

EXE$ASTFLT       00000010 RG    04   PCB$V_BATCH    = 0000000E            PHD$L_PAGEFLTS   0000004C            

EXE$BREAK        0000001C RG    04   PCB$V_DELPEN   = 00000001            PHD$L_PAGFIL     0000001C            

EXE$BUG_CHECK    ********   X   04   PCB$V_FORCPEN  = 00000002            PHD$L_PC         000000C0            

EXE$CMODSUPR     00000024 RG    04   PCB$V_HIBER    = 00000013            PHD$L_PCB        00000078            

EXE$CMODUSER     00000034 RG    04   PCB$V_INQUAN   = 00000003            PHD$L_PGFLCNT    00000034            

EXE$COMPAT       0000004C RG    04   PCB$V_LOGIN    = 00000014            PHD$L_PGFLQUOTA  0000005C            

EXE$KERSTKNV     0000008C RG    04   PCB$V_NOACNT   = 0000000F            PHD$L_PSL        000000C4            

EXE$OPCCUS       00000090 RG    04   PCB$V_PHDRES   = 00000012            PHD$L_PSTBASOFF  00000020            

EXE$OPCDEC       00000098 RG    04   PCB$V_PSWAPM   = 00000004            PHD$L_PTWSLELCK  00000064            

EXE$PAGRDERR     000000BF RG    04   PCB$V_RES      = 00000000            PHD$L_PTWSLEVAL  00000068            

EXE$RADRMOD      000000CC RG    04   PCB$V_RESPEN   = 00000005            PHD$L_R0         00000088            

EXE$REFLECT      000000F9 RG    04   PCB$V_SSFEXC   = 00000006            PHD$L_R1         0000008C            

EXE$ROPRAND      000000D4 RG    04   PCB$V_SSFEXCE  = 00000007            PHD$L_R10        000000B0            

EXE$SSFAIL       000000F0 RG    04   PCB$V_SSFEXCS  = 00000008            PHD$L_R11        000000B4            

EXE$TBIT         000000DC RG    04   PCB$V_SSFEXCU  = 00000009            PHD$L_R12        000000B8            

EXSSXT           000000F7 R     04   PCB$V_SSRWAIT  = 0000000A            PHD$L_R13        000000BC            

FINALMSG         00000000 R     03   PCB$V_SUSPEN   = 0000000B            PHD$L_R2         00000090            

GBL...         = 00000000            PCB$V_SWPVBN   = 00000010            PHD$L_R3         00000094            

HANDLER        = 00000000            PCB$V_WAKEPEN  = 0000000C            PHD$L_R4         00000098            

IPL$_ASTDEL    = 00000002            PCB$V_WALL     = 0000000D            PHD$L_R5         0000009C            

IPL$_HWCLK     = 00000018            PCB$W_APTCNT     00000034            PHD$L_R6         000000A0            

IPL$_IOPOST    = 00000004            PCB$W_ASTCNT     0000003C            PHD$L_R7         000000A4            

IPL$_MAILBOX   = 0000000B            PCB$W_BIOCNT     0000003E            PHD$L_R8         000000A8            

IPL$_POWER     = 0000001F            PCB$W_BIOLM      00000040            PHD$L_R9         000000AC            

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  27

SYMBOL TABLE                                                                                                                     (1)



PHD$L_SSP        00000080            PR$_SBIER      = 00000034            SAVPSW         = 00000004            

PHD$L_USP        00000084            PR$_SBIFS      = 00000030            SAVRG          = 00000014            

PHD$L_WSL        000000D8            PR$_SBIMT      = 00000033            SEARCH           000002EF R     04   

PHD$M_DALCSTX  = 00000002            PR$_SBIQC      = 00000036            SS$_ABORT      = 0000002C            

PHD$M_PFMFLG   = 00000001            PR$_SBIS       = 00000031            SS$_ACCONFLICT = 00000800            

PHD$Q_PRIVMSK    00000000            PR$_SBISC      = 00000032            SS$_ACCVIO     = 0000000C            

PHD$S_ASTLVL   = 00000008            PR$_SBITA      = 00000035            SS$_ARITH      = 00000404            

PHD$S_P0LR     = 00000018            PR$_SBR        = 0000000C            SS$_ASTFLT     = 0000040C            

PHD$V_ASTLVL   = 00000018            PR$_SCBB       = 00000011            SS$_BADATTRIB  = 00000034            

PHD$V_DALCSTX  = 00000001            PR$_SID        = 0000003E            SS$_BADCHKSUM  = 00000808            

PHD$V_P0LR     = 00000000            PR$_SIRR       = 00000014            SS$_BADESCAPE  = 0000003C            

PHD$V_PFMFLG   = 00000000            PR$_SISR       = 00000015            SS$_BADFILEHDR = 00000810            

PHD$W_ASTLM      00000044            PR$_SLR        = 0000000D            SS$_BADFILENAME= 00000818            

PHD$W_BAK        00000048            PR$_SSP        = 00000002            SS$_BADFILEVER = 00000820            

PHD$W_DFWSCNT    0000001A            PR$_TBIA       = 00000039            SS$_BADIMGHDR  = 00000044            

PHD$W_EXTDYNWS   00000076            PR$_TBIS       = 0000003A            SS$_BADIRECTORY= 00000828            

PHD$W_FILLM      00000060            PR$_TODR       = 0000001B            SS$_BADPARAM   = 00000014            

PHD$W_FLAGS      0000003A            PR$_TXCS       = 00000022            SS$_BADSTACK   = 000002B4            

PHD$W_PFMFLG     0000003A            PR$_TXDB       = 00000023            SS$_BEGOFFILE  = 00000938            

PHD$W_PHVINDEX   00000046            PR$_USP        = 00000003            SS$_BLOCKCNTERR= 00000940            

PHD$W_PRCLM      00000042            PR$_WCSA       = 0000002C            SS$_BREAK      = 00000414            

PHD$W_PST        00000020            PR$_WCSD       = 0000002D            SS$_BUFFEROVF  = 00000601            

PHD$W_PSTFREE    00000026            PSL$C_EXEC     = 00000001            SS$_BUGCHECK   = 000002A4            

PHD$W_PSTLAST    00000024            PSL$C_KERNEL   = 00000000            SS$_CANCEL     = 00000830            

PHD$W_PTCNTACT   00000070            PSL$C_SUPER    = 00000002            SS$_CHANINTLK  = 0000004C            

PHD$W_PTCNTLCK   0000006C            PSL$C_USER     = 00000003            SS$_CLIFRCEXT  = 00000980            

PHD$W_PTCNTMAX   00000072            PSL$M_CM       = 80000000            SS$_CMODSUPR   = 0000041C            

PHD$W_PTCNTVAL   0000006E            PSL$M_CURMOD   = 03000000            SS$_CMODUSER   = 00000424            

PHD$W_QUANT      00000040            PSL$M_DV       = 00000080            SS$_COMPAT     = 0000042C            

PHD$W_TQLM       00000062            PSL$M_FPD      = 08000000            SS$_CONTINUE   = 00000001            

PHD$W_WSAUTH     0000000A            PSL$M_FU       = 00000040            SS$_CONTROLC   = 00000651            

PHD$W_WSDYN      0000000E            PSL$M_IPL      = 001F0000            SS$_CONTROLO   = 00000609            

PHD$W_WSFLUID    00000074            PSL$M_IS       = 04000000            SS$_CONTROLY   = 00000611            

PHD$W_WSLAST     00000012            PSL$M_IV       = 00000020            SS$_CREATED    = 00000619            

PHD$W_WSLIST     00000008            PSL$M_PRVMOD   = 00C00000            SS$_CTRLERR    = 00000054            

PHD$W_WSLOCK     0000000C            PSL$M_SAFBITS  = 000037FF            SS$_DATACHECK  = 0000005C            

PHD$W_WSLX       0000004A            PSL$M_TBIT     = 00000010            SS$_DATAOVERUN = 00000838            

PHD$W_WSNEXT     00000010            PSL$M_TP       = 40000000            SS$_DEBUG      = 0000046C            

PHD$W_WSQUOTA    00000018            PSL$S_CURMOD   = 00000002            SS$_DEVACTIVE  = 000002C4            

PR$_ACCR       = 00000029            PSL$S_IPL      = 00000005            SS$_DEVALLOC   = 00000840            

PR$_ACCS       = 00000028            PSL$S_PRVMOD   = 00000002            SS$_DEVALRALLOC= 00000641            

PR$_ASTLVL     = 00000013            PSL$V_CM       = 0000001F            SS$_DEVASSIGN  = 00000848            

PR$_ESP        = 00000001            PSL$V_CURMOD   = 00000018            SS$_DEVFOREIGN = 00000064            

PR$_ICCS       = 00000018            PSL$V_DV       = 00000007            SS$_DEVICEFULL = 00000850            

PR$_ICR        = 0000001A            PSL$V_FPD      = 0000001B            SS$_DEVMOUNT   = 0000006C            

PR$_IPL        = 00000012            PSL$V_FU       = 00000006            SS$_DEVNOTALLOC= 00000858            

PR$_ISP        = 00000004            PSL$V_IPL      = 00000010            SS$_DEVNOTMBX  = 00000074            

PR$_KSP        = 00000000            PSL$V_IS       = 0000001A            SS$_DEVNOTMOUNT= 0000007C            

PR$_MAPEN      = 00000038            PSL$V_IV       = 00000005            SS$_DEVOFFLINE = 00000084            

PR$_NICR       = 00000019            PSL$V_PRVMOD   = 00000016            SS$_DIRFULL    = 00000860            

PR$_P0BR       = 00000008            PSL$V_TBIT     = 00000004            SS$_DRVERR     = 0000008C            

PR$_P0LR       = 00000009            PSL$V_TP       = 0000001E            SS$_DUPFILENAME= 00000868            

PR$_P1BR       = 0000000A            REFLECT          00000190 R     04   SS$_DUPLNAM    = 00000094            

PR$_P1LR       = 0000000B            SAVAP          = 00000008            SS$_ENDOFFILE  = 00000870            

PR$_PCBB       = 00000010            SAVFP          = 0000000C            SS$_ENDOFTAPE  = 00000878            

PR$_RXCS       = 00000020            SAVMSK         = 00000006            SS$_ENDOFUSRLBL= 00000970            

PR$_RXDB       = 00000021            SAVPC          = 00000010            SS$_EXQUOTA    = 0000001C            

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  28

SYMBOL TABLE                                                                                                                     (1)



SS$_EXTIDXFILE = 00000880            SS$_MSGNOTFND  = 00000621            SS$_VOLINV     = 00000254            

SS$_FCPREADERR = 00000888            SS$_MUSTCLOSEFL= 00000948            SS$_WAITUSRLBL = 00000950            

SS$_FCPREPSTN  = 00000988            SS$_NODATA     = 000001AC            SS$_WASCLR     = 00000001            

SS$_FCPREWNDERR= 00000890            SS$_NOHANDLER  = 000008F8            SS$_WASECC     = 00000639            

SS$_FCPSPACERR = 00000898            SS$_NOHOMEBLK  = 000008E0            SS$_WASSET     = 00000009            

SS$_FCPWRITERR = 000008A0            SS$_NOIOCHAN   = 000001B4            SS$_WRITLCK    = 0000025C            

SS$_FILACCERR  = 0000009C            SS$_NOLINKS    = 0000027C            SYS$ADJSTK       ********   X   04   

SS$_FILALRACC  = 000000A4            SS$_NOLOGNAM   = 000001BC            SYS$CALL_HANDL   ********   X   04   

SS$_FILELOCKED = 000008A8            SS$_NOMBX      = 00000274            SYS$CRETVA       ********   X   04   

SS$_FILENUMCHK = 000008B0            SS$_NOMOREFILES= 00000930            SYS$EXIT         ********   X   04   

SS$_FILESEQCHK = 000008B8            SS$_NONEXDRV   = 000001C4            SYS$UNWIND       ********   X   04   

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

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

SS$_FILNOTCNTG = 000002AC            SS$_NOPRIV     = 00000024            

SS$_FILNOTEXP  = 000000B4            SS$_NORMAL     = 00000001            

SS$_FORMAT     = 000000BC            SS$_NOSIGNAL   = 00000900            

SS$_GPTFULL    = 000000C4            SS$_NOSOLICIT  = 00000284            

SS$_GSDFULL    = 000000CC            SS$_NOSUCHDEV  = 00000908            

SS$_GSDNOTXXX  = 000000D4            SS$_NOSUCHFILE = 00000910            

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

SS$_HEADERFULL = 000008C8            SS$_NOSUCHSEC  = 00000978            

SS$_IDXFILEFULL= 000008D0            SS$_NOTAPEOP   = 00000264            

SS$_ILLBLKNUM  = 000000DC            SS$_NOTFILEDEV = 000001CC            

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

SS$_ILLEFC     = 000000EC            SS$_NOTLABELMT = 000001DC            

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

SS$_ILLLBLAST  = 00000968            SS$_NOTRAN     = 00000629            

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

SS$_ILLSEQOP   = 000002DC            SS$_OPCCUS     = 00000434            

SS$_ILLSER     = 00000104            SS$_OPCDEC     = 0000043C            

SS$_ILLUSRLBLRD= 00000958            SS$_OPINCOMPL  = 000002D4            

SS$_ILLUSRLBLWT= 00000960            SS$_PAGOWNVIO  = 000001EC            

SS$_INCVOLLABEL= 0000010C            SS$_PAGRDERR   = 00000444            

SS$_INSFARG    = 00000114            SS$_PARITY     = 000001F4            

SS$_INSFMEM    = 00000124            SS$_PARTESCAPE = 000001FC            

SS$_INSFRAME   = 0000012C            SS$_PFMBSY     = 00000204            

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

SS$_IVADDR     = 00000134            SS$_RADRMOD    = 0000044C            

SS$_IVCHAN     = 0000013C            SS$_REJECT     = 00000294            

SS$_IVCHNLSEC  = 0000026C            SS$_REMOTE     = 00000649            

SS$_IVDEVNAM   = 00000144            SS$_RESIGNAL   = 00000918            

SS$_IVGSDNAM   = 0000014C            SS$_RESULTOVF  = 00000214            

SS$_IVLOGNAM   = 00000154            SS$_ROPRAND    = 00000454            

SS$_IVLOGTAB   = 0000015C            SS$_SECTBLFUL  = 0000021C            

SS$_IVPROTECT  = 000002F4            SS$_SSFAIL     = 0000045C            

SS$_IVQUOTAL   = 00000164            SS$_SUPERSEDE  = 00000631            

SS$_IVSECFLG   = 0000016C            SS$_TAPEPOSLOST= 00000224            

SS$_IVSECIDCTL = 000002E4            SS$_TBIT       = 00000464            

SS$_IVSSRQ     = 00000174            SS$_TIMEOUT    = 0000022C            

SS$_IVSTSFLG   = 0000017C            SS$_TOOMANYVER = 00000990            

SS$_IVTIME     = 00000184            SS$_TOOMUCHDATA= 0000029C            

SS$_LENVIO     = 0000018C            SS$_UNASEFC    = 00000234            

SS$_LKWSETFUL  = 00000194            SS$_UNSAFE     = 0000023C            

SS$_MBFULL     = 000008D8            SS$_UNWIND     = 00000920            

SS$_MBTOOSML   = 0000019C            SS$_UNWINDING  = 00000928            

SS$_MCHECK     = 000002BC            SS$_VASFULL    = 00000244            

SS$_MEDOFL     = 000001A4            SS$_VECINUSE   = 0000024C            

EXCEPTION       - EXCEPTION HANDLING                             22-AUG-1978 00:10:34   VAX-11 MACRO X0.3-11               Page  29

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$            000000DC      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

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

A$EXENONPAGED    000003B2      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

13462. BYTES LEFT IN FREE MEMORY POOL.

1990. BYTES OF RECLAIMED MEMORY.

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

8 MLB DIR RDS - 729 GETS TO DEFINE 21 MACROS. 55 INTER. FILE WRITES. 

