SYSEXIT         IMAGE EXIT SYSTEM SERVICE                        21-AUG-1978 20:30:12   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)     340  HISTORY			; DETAILED

   (1)     430  DECLARATIONS

   (1)     620  EXE$EXIT - IMAGE EXIT SYSTEM SERVICE

SYSEXIT         IMAGE EXIT SYSTEM SERVICE                        21-AUG-1978 20:30:12   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000    20 	.TITLE	SYSEXIT IMAGE EXIT SYSTEM SERVICE

                                     0000    30 	.IDENT	/01/

                                     0000    40 

                                     0000    50 ;

                                     0000    60 ; COPYRIGHT (C) 1977

                                     0000    70 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000    80 ;

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

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

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

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

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

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

                                     0000   150 ; REMAIN IN DEC.

                                     0000   160 ;

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

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

                                     0000   190 ; CORPORATION.

                                     0000   200 ;

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

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

                                     0000   230 

                                     0000   240 ;++

                                     0000   250 ; FACILITY: EXECUTIVE, SYSTEM SERVICES

                                     0000   260 ;

                                     0000   270 ; ABSTRACT:

                                     0000   275 ;	SYSEXIT IMPLEMENTS THE EXIT SYSTEM SERVICE AND PERFORMS THE DISPATCHING

                                     0000   277 ;	OF EXIT HANDLERS AND DELETES THE PROCESS IF NONE EXIST.

                                     0000   280 ;

                                     0000   290 ; ENVIRONMENT:

                                     0000   300 ;	MODE=KERNEL, PAGED CODE

                                     0000   310 ;--

                                     0000   320 ;

                                     0000   330 ;	.PAGE

                                     0000   340 	.SBTTL	HISTORY			; DETAILED

                                     0000   350 ;

                                     0000   360 ; AUTHOR:	R. HUSTVEDT	 CREATION DATE: 30-SEP-76

                                     0000   370 ;

                                     0000   380 ; MODIFIED BY:

                                     0000   390 ;	, : VERSION

                                     0000   400 ; 01	 -

                                     0000   410 

SYSEXIT         IMAGE EXIT SYSTEM SERVICE                        21-AUG-1978 20:30:12   VAX-11 MACRO X0.3-11               Page   2

01              DECLARATIONS                                                                                                     (1)



                                     0000   430 	.SBTTL	DECLARATIONS

                                     0000   440 

                                     0000   450 ;

                                     0000   460 ; INCLUDE FILES:

                                     0000   470 ;

                                     0000   480 

                                     0000   490 	$PCBDEF				; DEFINE PROCESS CONTROL BLOCK

                                     0000   500 	$PSLDEF				; DEFINE PSL FIELDS AND BITS

                                     0000   510 

                                     0000   520 ;

                                     0000   530 ; EQUATES:

                                     0000   540 ;

                           00000004  0000   550 CODE=4					; DISPLACEMENT TO EXIT CODE

                                     0000   560 ;

                                     0000   570 ; OWN STORAGE:

                                     0000   580 ;

                                     0000   590 

                                 00000000   600 	.PSECT	YEXEPAGED,BYTE		; PAGED PSECT

SYSEXIT         IMAGE EXIT SYSTEM SERVICE                        21-AUG-1978 20:30:12   VAX-11 MACRO X0.3-11               Page   3

01              EXE$EXIT - IMAGE EXIT SYSTEM SERVICE                                                                             (1)



                                     0000   620 	.SBTTL	EXE$EXIT - IMAGE EXIT SYSTEM SERVICE

                                     0000   630 

                                     0000   640 ;++

                                     0000   650 ; FUNCTIONAL DESCRIPTION:

                                     0000   660 ;	EXE$EXIT IMPLEMENTS THE IMAGE EXIT SYSTEM SERVICE.  THE LIST

                                     0000   670 ;	OF TERMINATION CONTROL BLOCKS FOR BOTH USER AND SUPER ACCESS

                                     0000   680 ;	MODES ARE PROCESSED, CALLING THE SPECIFIED TERMINATION HANDLING

                                     0000   690 ;	ROUTINES.

                                     0000   700 ;

                                     0000   710 ; CALLING SEQUENCE:

                                     0000   720 ;	CALLG	ARGLIST,EXE$EXIT

                                     0000   730 ;

                                     0000   740 ; INPUT PARAMETERS:

                                     0000   750 ;	CODE(AP) - TERMINATION REASON CODE

                                     0000   760 ;

                                     0000   770 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     0000   780 ;

                                     0000   790 ;

                                     0000   800 ; IMPLICIT INPUTS:

                                     0000   810 ;	CTL$GL_THUSER - HEAD OF THE USER MODE TERMINATION CONTROL BLOCK LIST

                                     0000   820 ;	CTL$GL_THSUPR - HEAD OF THE SUPER MODE TERMINATION CONTROL BLOCK LIST

                                     0000   830 ;

                                     0000   840 ; OUTPUT PARAMETERS:

                                     0000   850 ;	NONE

                                     0000   860 ;

                                     0000   870 ; COMPLETION CODES:

                                     0000   880 ;	NONE

                                     0000   890 ;

                                     0000   900 ; SIDE EFFECTS:

                                     0000   910 ;	NONE

                                     0000   920 ;

                                     0000   930 ;--

                                     0000   940 

                               0010' 0000   950 	.ENTRY	EXE$EXIT,^M<R4>

   00000000'9F         04 AC     D0  0002   960 	MOVL	CODE(AP),@#CTL$GL_FINALSTS	; SET FINAL EXIT STATUS

         28 A4            02     E5  000A   970 	BBCC	#PCB$V_FORCPEN,PCB$L_STS(R4),5$	; CLEAR FORCE EXIT PENDING

                          00         000E       

                          51     DC  000F   980 5$:	MOVPSL	R1			; GET CURRENT PSL

            02            16     EF  0011   990 	EXTZV	#PSL$V_PRVMOD,#PSL$S_PRVMOD,R1,R1	; EXTRACT PREVIOUS MODE

            51            51         0014       

                 FFFFFFFC'9F     DF  0016  1000 	PUSHAL	@#CTL$GL_THSUPR-4	; GET ADDRESS OF TERMINATION CHAIN

            10            51     F4  001C  1010 10$:	SOBGEQ	R1,30$			; TRY SUPER MODE IF NONE FOR USER

                                     001F  1040 20$:	$DELPRC_S			; DELETE SELF

            F2            50     E9  002A  1050 	BLBC	R0,20$			; RETRY IF FAILURE

                          FE     11  002D  1060 25$:	BRB	25$			; ****** FELL THROUGH DELPRC SOMEHOW

            50         00 BE41   D0  002F  1070 30$:	MOVL	@(SP)[R1],R0		; GET HEAD OF TERMINATION LIST

                          E6     13  0034  1080 	BEQL	10$			; NONE FOR THIS MODE, TRY ANOTHER

                          9E41   D4  0036  1090 	CLRL	@(SP)+[R1]		; ZAP TERMINATION LIST POINTER

                          51     D6  0039  1100 	INCL	R1			; CORRECT MODE NUMBER

            51            05     C4  003B  1110 	MULL	#<1+<1@<PSL$V_CURMOD-PSL$V_PRVMOD>>>,R1	; MAKE PRV=CURRENT

            5D         0C AD     D0  003E  1130 	MOVL	12(FP),FP		; RESTORE CURRENT FRAME POINTER

            54         14 AD     D0  0042  1135 	MOVL	5*4(FP),R4		; RESTORE CONTENTS OF R4

            5E            08'    C0  0046  1140 	ADDL	S^#<8+EXE$C_CMSTKSZ>,SP	; CLEAN KERNEL STACK

            51            16     78  0049  1150 	ASHL	#PSL$V_PRVMOD,R1,-(SP)	; PUSH PSL

                          7E         004C       

            51         04 AC     D0  004D  1160 	MOVL	CODE(AP),R1		; SET CODE IN R1

                          20     10  0051  1170 	BSBB	DOREI			; PUSH PC AND DO REI

SYSEXIT         IMAGE EXIT SYSTEM SERVICE                        21-AUG-1978 20:30:12   VAX-11 MACRO X0.3-11               Page   4

01              EXE$EXIT - IMAGE EXIT SYSTEM SERVICE                                                                             (1)



                                     0053  1180 

                                     0053  1190 ;

                                     0053  1200 ;	TERMINATION LIST PROCESSING	

                                     0053  1210 ;

                                     0053  1220 ;	R0 - POINTER TO TERMINATION CONTROL BLOCK LIST

                                     0053  1230 ;	R1 - TERMINATION CODE/REASON

                                     0053  1240 ;

                                     0053  1250 

                          51     DD  0053  1260 40$:	PUSHL	R1			; SAVE CODE

                          60     DD  0055  1265 	PUSHL	(R0)			; SAVE POINTER TO NEXT BLOCK

                          60     D4  0057  1270 	CLRL	(R0)			; ZAP FLINK TO PREVENT CIRCULAR LIST

         0C B0            51     D0  0059  1280 	MOVL	R1,@12(R0)		; SET TERMINATION CODE/REASON

         04 B0         08 A0     FA  005D  1290 	CALLG	8(R0),@4(R0)		; CALL TERMINATION HANDLER

                          03     BA  0062  1300 	POPR	#^M<R0,R1>		; RESTORE CODE AND POINTER

                          50     D5  0064  1310 	TSTL	R0			; MORE TERMINATION BLOCKS?

                          EB     12  0066  1320 	BNEQ	40$			; YES, CONTINUE

                          5D     D4  0068  1330 	CLRL	FP			; TERMINATE CALL FRAME LIST

                                     006A  1340 	$EXIT_S	R1			; OTHERWISE EXIT AGAIN

                                     0073  1350 

                                     0073  1360 

                                     0073  1370 ;

                                     0073  1380 ;	PERFORM REI TO ENTER USER OR SUPER MODE AS APPROPRIATE

                                     0073  1390 ;

                                 02  0073  1400 DOREI:	REI				; ENTER PROPER MODE FOR TERMINATION

                                     0074  1410 

                                     0074  1420 

                                     0074  1430 	.END

SYSEXIT         IMAGE EXIT SYSTEM SERVICE                        21-AUG-1978 20:30:12   VAX-11 MACRO X0.3-11               Page   5

SYMBOL TABLE                                                                                                                     (1)



BIT...         = 00000000            PCB$V_WAKEPEN  = 0000000C            

CODE           = 00000004            PCB$V_WALL     = 0000000D            

CTL$GL_FINALSTS  ********   X   03   PCB$W_APTCNT     00000034            

CTL$GL_THSUPR    ********   X   03   PCB$W_ASTCNT     0000003C            

DOREI            00000073 R     03   PCB$W_BIOCNT     0000003E            

EXE$C_CMSTKSZ    ********   X   03   PCB$W_BIOLM      00000040            

EXE$EXIT         00000000 RG    03   PCB$W_BYTCNT     00000042            

GBL...         = 00000000            PCB$W_BYTLM      00000068            

PCB$B_ASTACT     0000000C            PCB$W_DIOCNT     00000044            

PCB$B_ASTEN      0000000D            PCB$W_DIOLM      00000046            

PCB$B_PRI        0000000B            PCB$W_FILCNT     00000048            

PCB$B_PRIB       00000033            PCB$W_GPGCNT     00000038            

PCB$B_TYPE       0000000A            PCB$W_GRP        00000022            

PCB$B_WEFC       00000032            PCB$W_MEM        00000020            

PCB$C_LENGTH     0000007C            PCB$W_MTXCNT     0000000E            

PCB$K_LENGTH     0000007C            PCB$W_PPGCNT     0000003A            

PCB$L_ASTQBL     00000014            PCB$W_PRCCNT     0000006A            

PCB$L_ASTQFL     00000010            PCB$W_SIZE       00000008            

PCB$L_EFC2P      00000058            PCB$W_STATE      00000030            

PCB$L_EFC3P      0000005C            PCB$W_TMBU       00000036            

PCB$L_EFCS       00000050            PCB$W_TQCNT      0000004A            

PCB$L_EFCU       00000054            PSL$C_EXEC     = 00000001            

PCB$L_EFWM       0000004C            PSL$C_KERNEL   = 00000000            

PCB$L_OWNER      0000001C            PSL$C_SUPER    = 00000002            

PCB$L_PHD        00000064            PSL$C_USER     = 00000003            

PCB$L_PHYPCB     00000018            PSL$M_CM       = 80000000            

PCB$L_PID        00000060            PSL$M_CURMOD   = 03000000            

PCB$L_PQB        0000004C            PSL$M_DV       = 00000080            

PCB$L_SQBL       00000004            PSL$M_FPD      = 08000000            

PCB$L_SQFL       00000000            PSL$M_FU       = 00000040            

PCB$L_STS        00000028            PSL$M_IPL      = 001F0000            

PCB$L_UIC        00000020            PSL$M_IS       = 04000000            

PCB$L_WSSWP      00000024            PSL$M_IV       = 00000020            

PCB$L_WTIME      0000002C            PSL$M_PRVMOD   = 00C00000            

PCB$T_LNAME      0000006C            PSL$M_SAFBITS  = 000037FF            

PCB$V_ASTPEN   = 00000011            PSL$M_TBIT     = 00000010            

PCB$V_BATCH    = 0000000E            PSL$M_TP       = 40000000            

PCB$V_DELPEN   = 00000001            PSL$S_CURMOD   = 00000002            

PCB$V_FORCPEN  = 00000002            PSL$S_IPL      = 00000005            

PCB$V_HIBER    = 00000013            PSL$S_PRVMOD   = 00000002            

PCB$V_INQUAN   = 00000003            PSL$V_CM       = 0000001F            

PCB$V_LOGIN    = 00000014            PSL$V_CURMOD   = 00000018            

PCB$V_NETWRK   = 00000015            PSL$V_DV       = 00000007            

PCB$V_NOACNT   = 0000000F            PSL$V_FPD      = 0000001B            

PCB$V_NODELET  = 00000017            PSL$V_FU       = 00000006            

PCB$V_PHDRES   = 00000012            PSL$V_IPL      = 00000010            

PCB$V_PSWAPM   = 00000004            PSL$V_IS       = 0000001A            

PCB$V_PWRAST   = 00000016            PSL$V_IV       = 00000005            

PCB$V_RES      = 00000000            PSL$V_PRVMOD   = 00000016            

PCB$V_RESPEN   = 00000005            PSL$V_TBIT     = 00000004            

PCB$V_SSFEXC   = 00000006            PSL$V_TP       = 0000001E            

PCB$V_SSFEXCE  = 00000007            SYS$DELPRC       ********   X   03   

PCB$V_SSFEXCS  = 00000008            SYS$EXIT         ********   X   03   

PCB$V_SSFEXCU  = 00000009            

PCB$V_SSRWAIT  = 0000000A            

PCB$V_SUSPEN   = 0000000B            

PCB$V_SWPVBN   = 00000010            

SYSEXIT         IMAGE EXIT SYSTEM SERVICE                        21-AUG-1978 20:30:12   VAX-11 MACRO X0.3-11               Page   6

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

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





THERE WERE NO ERRORS OR WARNINGS.

22564. BYTES LEFT IN FREE MEMORY POOL.

1562. BYTES OF RECLAIMED MEMORY.

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

2 MLB DIR RDS - 251 GETS TO DEFINE 14 MACROS. 15 INTER. FILE WRITES. 

