

; Bliss-32 7.352	Saturday 22-AUG-1978 03:25:52	DBB3:[PATCH.SRC]PATECO.B32;6					Page 1

; Digital Equipment Corporation

;

;	0001	MODULE PATECO (%IF %VARIANT EQL 1

;     L 0002			%THEN

;	0003				ADDRESSING_MODE (EXTERNAL = LONG_RELATIVE,

;	0004						NONEXTERNAL = LONG_RELATIVE),

;	0005			%FI

;	0006			IDENT = 'X01.03'

;	0007			) =

;	0008	BEGIN

;	0009	

;	0010	!

;	0011	! COPYRIGHT (C) 1977,1978

;	0012	! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

;	0013	!

;	0014	! THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

;	0015	! COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

;	0016	! ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

;	0017	! MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

;	0018	! EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

;	0019	! TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

;	0020	! REMAIN IN DEC.

;	0021	!

;	0022	! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

;	0023	! AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

;	0024	! CORPORATION.

;	0025	!

;	0026	! DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

;	0027	! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

;	0028	

;	0029	!++

;	0030	! FACILITY:	PATCH

;	0031	!

;	0032	! ABSTRACT:	THIS MODULE CONTAINS ROUTINES TO HANDLE ECO COMMANDS.

;	0033	!

;	0034	! ENVIRONMENT:	PART OF THE IMAGE FILE PATCH UTILITY FOR VAX.

;	0035	!

;	0036	! AUTHOR:  K.D. MORSE	, CREATION DATE:	21-OCT-77

;	0037	!

;	0038	! MODIFIED BY:

;	0039	!

;	0040	! 	, : VERSION

;	0041	!

;	0042	! REVISION HISTORY:

;	0043	!

;	0044	!  NO	DATE		PROGRAMMER		PURPOSE

;	0045	!  --	----		----------		-------

;	0046	!

;	0047	!  01	06-MAR-78	K.D. MORSE		ADD CODE TO SET EXECTUE COMMAND

;	0048	!						INDICATOR, PAT$GB_EXEC_CMD.

;	0049	!  02	25-APR-78	K.D. MORSE		CONVERT TO NATIVE COMPILER.

;	0050	!  03	13-JUN-78	K.D. MORSE		ADD FAO COUNT TO SIGNALS.

;	0051	!

;	0052	!--



; Bliss-32 7.352	Saturday 22-AUG-1978 03:25:52	DBB3:[PATCH.SRC]PATECO.B32;6					Page 2

; Digital Equipment Corporation

;

;	0053	!

;	0054	! TABLE OF CONTENTS:

;	0055	!

;	0056	

;	0057	FORWARD ROUTINE

;	0058		PAT$ECO_CMDS : NOVALUE;					! Handles ECO commands

;	0059	

;	0060	!

;	0061	! INCLUDE FILES:

;	0062	!

;	0063	LIBRARY 'SYS$LIBRARY:LIB.L32';					! System structure definitions

;	0064	REQUIRE 'SRC$:PATPCT.REQ';					! Defines PSECTS

;	0080	REQUIRE 'SRC$:PATGEN.REQ';					! Defines context bits

;	0259	REQUIRE 'SRC$:PREFIX.REQ';					! Defines structure macros

;	0442	REQUIRE 'SRC$:PATPRE.REQ';					! Defines PATCH structures

;	0582	REQUIRE 'LIB$:PATMSG.REQ';					! Defines error message codes

;	0740	REQUIRE 'SRC$:BSTRUC.REQ';					! Defines basic structures

;	0791	REQUIRE 'SRC$:LISTEL.REQ';					! Defines list structures

;	0810	REQUIRE 'SRC$:VXSMAC.REQ';					! Defines TRUE and FALSE

;	0850	

;	0851	!

;	0852	! MACROS:

;	0853	!

;	0854	

;	0855	!

;	0856	! EQUATED SYMBOLS:

;	0857	!

;	0858	

;	0859	!

;	0860	! OWN STORAGE:

;	0861	!

;	0862	

;	0863	!

;	0864	! EXTERNAL REFERENCES:

;	0865	!

;	0866	EXTERNAL

;	0867		PAT$GL_FLAGS,						! CLI flags

;	0868		PAT$GL_ECO_UPD : BITVECTOR,				! /UPDATE qualifier ECO mask

;	0869		PAT$GB_EXEC_CMD : BYTE,					! Indicator whether or not to execute patch commands

;	0870		PAT$GB_ECOLVL : BYTE,					! ECO level for current patch

;	0871		PAT$GL_IHPPTR : REF BLOCK[,BYTE],			! Pointer to patch section of image header

;	0872		PAT$GL_IMGHDR : REF BLOCK[,BYTE],			! Pointer to image header

;	0873		PAT$GL_CONTEXT : BITVECTOR,				! Context bits

;	0874		PAT$GL_HEAD_LST,					! Listhead for command parameters

;	0875		PAT$GL_OLDNBK : BLOCK[,BYTE],				! Old image file name block

;	0876		PAT$GB_OLDNAME;						! Name of old image file

;	0877	



; Bliss-32 7.352	Saturday 22-AUG-1978 03:25:52	DBB3:[PATCH.SRC]PATECO.B32;6					Page 3

; Digital Equipment Corporation

;

;	0878	GLOBAL ROUTINE PAT$ECO_CMDS : NOVALUE =				! HANDLES ALL ECO COMMANDS

;	0879	

;	0880	!++

;	0881	! FUNCTIONAL DESCRIPTION:

;	0882	!

;	0883	! THIS ROUTINE HANDLES THE COMMANDS--CHECK ECO, CHECK NOT ECO, AND SET ECO.

;	0884	! THE ECO LEVEL NUMBERS HAVE ALREADY BEEN SCANNED AND INSERTED IN LIST ENTRIES.

;	0885	! ONE ENTRY CONSISTS OF THREE LONG WORDS:

;	0886	!

;	0887	!	1.) THE FORWARD LINK

;	0888	!	2.) THE ECO LEVEL (OR THE START OF THE ECO RANGE)

;	0889	!	3.) ZERO (OR THE END OF THE ECO RANGE)

;	0890	!

;	0891	! NOTE THAT THE SECOND AND THIRD LONGWORDS DESCRIBE A SINGLE ECO LEVEL OR

;	0892	! A RANGE OF LEVELS, WITH THE SECOND LONGWORD BEING THE MINIMUM AND THE THIRD

;	0893	! BEING THE MAXIMUM.  IF THERE IS ONLY A SINGLE ECO LEVEL THEN THE THIRD

;	0894	! LONGWORD IS A ZERO.

;	0895	!

;	0896	! THIS ROUTINE SETS UP THE POINTERS TO ACCESS THE ECO BITS IN THE IMAGE HEADER

;	0897	! AND THE ECO LEVELS FROM THE COMMAND.  THE CONTEXT BITS, SET_ECO AND 

;	0898	! SET_NOT_ECO, SPECIFY WHETHER THE COMMAND WAS "SET ECO" OR "CHECK NOT ECO",

;	0899	! RESPECTIVELY.  IF NEITHER BIT IS SET, THEN THE COMMAND MUST HAVE BEEN "CHECK ECO".

;	0900	!

;	0901	! IF THE APPROPRIATE ECO BITS ARE ALREADY SET, OR NOT SET, THEN AN ERROR

;	0902	! MESSAGE IS PRODUCED.  THE "SET ECO" COMMAND CHECKS THAT THE ECO LEVEL WAS

;	0903	! NOT ALREADY SET.  IF THE BIT IS NOT SET, THEN ANOTHER CHECK IS MADE TO SEE IF

;	0904	! A PREVIOUS "SET ECO" WAS SPECIFIED BEFORE AN "UPDATE" COMMAND.  THIS IS DONE

;	0905	! BY CHECKING PAT$GB_ECOLVL.  THIS INDICATOR IS SET BY THE "SET ECO" COMMAND

;	0906	! AND CLEARED BY THE "UPDATE" COMMAND.  IF IT CONTAINS A NON-ZERO VALUE WHEN

;	0907	! THIS ROUTINE EXECUTES, THEN TWO "SET ECO" COMMANDS WERE SPECIFIED FOR ONE

;	0908	! PATCH.

;	0909	!

;	0910	! FORMAL PARAMETERS:

;	0911	!

;	0912	!	NONE

;	0913	!

;	0914	! IMPLICIT INPUTS:

;	0915	!

;	0916	!	THE CONTEXT BITS ARE SET AND THE COMMAND PARAMETERS ARE PARSED.

;	0917	!	THE IMAGE HEADER HAS BEEN READ AND EXPANDED TO INCLUDE A PATCH SECTION,

;	0918	!		IF NECESSARY.

;	0919	!

;	0920	! IMPLICIT OUTPUTS:

;	0921	!

;	0922	!	THE APPROPRIATE ECO BITS ARE SET OR CHECKED IN THE IMAGE HEADER.

;	0923	!

;	0924	! ROUTINE VALUE:

;	0925	!

;	0926	!	NONE

;	0927	!

;	0928	! COMPLETION CODES:

;	0929	!

;	0930	!	NONE

;	0931	!

;	0932	! SIDE EFFECTS:



; Bliss-32 7.352	Saturday 22-AUG-1978 03:25:52	DBB3:[PATCH.SRC]PATECO.B32;6					Page 3-1

; Digital Equipment Corporation

;

;	0933	!

;	0934	!	AN ERROR MESSAGE AND EXIT OCCUR IF THE APPROPRIATE ECO BITS ARE NOT SET.

;	0935	!

;	0936	!--

;	0937	

;	0938	BEGIN

;	0939	LOCAL

;	0940		LOOP_CNT,						! LOOP COUNTER (MIN ECO LEVEL)

;	0941		LOOP_MAX,						! LOOP MAX (MAX ECO LEVEL)

;	0942		LIST_PTR,						! POINTER TO LIST ELEMENTS

;	0943		ECO_PTR : REF BITVECTOR;				! POINTER TO HEADER ECO WORDS

;	0944	

;	0945	!++

;	0946	! INITIALIZE POINTERS TO THE ECO BITS IN THE IMAGE HEADER AND TO THE FIRST

;	0947	! COMMAND PARAMETER, AN ECO LEVEL OR RANGE.

;	0948	!--

;	0949	ECO_PTR = CH$PTR(PAT$GL_IHPPTR[IHP$L_ECO1], 0);			! POINT TO FIRST ECO LONGWORD

;	0950	LIST_PTR = CH$PTR(.PAT$GL_HEAD_LST, 0);				! POINT TO FIRST ECO LEVEL PARAMETER

;	0951	

;	0952	!++

;	0953	! LOOP TO HANDLE ALL ECO LEVELS AND RANGES FOR THIS COMMAND.

;	0954	!--

;	0955	WHILE .LIST_PTR NEQA 0

;	0956	DO

;	0957		BEGIN

;	0958		!++

;	0959		! SET UP A LOOP TO HANDLE A SINGLE ECO LEVEL OR RANGE OF ECO LEVELS.

;	0960		!--

;	0961		LOOP_CNT = .LIST_ELEM_EXP1(.LIST_PTR) - 1;		! INITIALIZE LOOP COUNT

;	0962		IF .LIST_ELEM_EXP2(.LIST_PTR) EQL 0			!CHECK IF MAXIMUM RANGE

;	0963		THEN							! EXISTS,

;	0964			LOOP_MAX = .LOOP_CNT				! IF NOT, SET MAX TO MIN AS SINGLE ECO LEVEL

;	0965		ELSE

;	0966			LOOP_MAX = .LIST_ELEM_EXP2(.LIST_PTR) - 1;	! IF SO, SET LOOP MAXIMUM (MAX ECO RANGE)

;	0967	

;	0968		!++

;	0969		! CHECK FOR ERRORS IN RANGE OF ECO LEVELS.

;	0970		!--

;	0971		IF .LOOP_MAX LSS .LOOP_CNT				! CHECK FOR REVERSED RANGE

;	0972		THEN

;	0973			SIGNAL(PAT$_EXARANGE);				! REPORT ERROR

;	0974		IF .LOOP_MAX GTR (PAT$K_MAX_ECO - 1)				! CHECK FOR ILLEGAL ECO LEVEL

;	0975		THEN							! IF > MAX, REPORT ERROR

;	0976			SIGNAL(PAT$_BADECO, 3, .LOOP_MAX+1, .PAT$GL_OLDNBK[NAM$B_RSL],

;	0977				PAT$GB_OLDNAME);

;	0978		IF .LOOP_CNT LSS (PAT$K_MIN_ECO - 1)				! CHECK FOR ILLEGAL ECO LEVEL

;	0979		THEN							! IF < MIN, REPORT ERROR

;	0980			SIGNAL(PAT$_BADECO, 3, .LOOP_CNT+1, .PAT$GL_OLDNBK[NAM$B_RSL],

;	0981				PAT$GB_OLDNAME);

;	0982	

;	0983		WHILE .LOOP_CNT LEQ .LOOP_MAX				! LOOP FOR ONE RANGE

;	0984		DO

;	0985			BEGIN

;	0986	

;	0987			!++



; Bliss-32 7.352	Saturday 22-AUG-1978 03:25:52	DBB3:[PATCH.SRC]PATECO.B32;6					Page 3-2

; Digital Equipment Corporation

;

;	0988			! NOW HANDLE THE "SET ECO" COMMANDS, BY TESTING FOR THE

;	0989			! SET_ECO CONTEXT BIT.  THEN TEST IF ANOTHER ECO LEVEL IS SET.

;	0990			!--

;	0991			IF .PAT$GL_CONTEXT[SET_ECO]

;	0992			THEN

;	0993				BEGIN

;	0994				IF .ECO_PTR[.LOOP_CNT]			! CHECK ECO BIT NOT ALREADY SET

;	0995				THEN

;	0996					SIGNAL(PAT$_ECOSET, 3, .LOOP_CNT+1, .PAT$GL_OLDNBK[NAM$B_RSL],

;	0997						PAT$GB_OLDNAME);	! REPORT ERROR

;	0998				IF .PAT$GB_ECOLVL NEQ 0

;	0999				THEN

;	1000					SIGNAL(PAT$_MULTECO, 2, .PAT$GB_ECOLVL, .LOOP_CNT+1);

;	1001				PAT$GB_ECOLVL = .LOOP_CNT+1;		! REMEMBER ECO LEVEL FOR "UPDATE" COMMAND

;	1002				IF (.PAT$GL_FLAGS AND PAT$M_UPDATE) NEQ 0

;	1003				THEN

;	1004					BEGIN

;	1005					IF .PAT$GL_ECO_UPD<.LOOP_CNT, 1> ! IF /UPDATE

;	1006					THEN				! THEN RESET THE INDICATOR

;	1007						PAT$GB_EXEC_CMD = TRUE	! TO EXECUTE COMMANDS

;	1008					ELSE

;	1009						BEGIN

;	1010						PAT$GB_ECOLVL = 0;

;	1011						PAT$GB_EXEC_CMD = FALSE; ! OR NOT

;	1012						SIGNAL(PAT$_UPDATE, 1, .LOOP_CNT+1);

;	1013						END;

;	1014					END;

;	1015				END

;	1016			ELSE

;	1017				!++

;	1018				! COMMAND WAS NOT "SET ECO", THEREFOR IT MUST BE EITHER

;	1019				! "CHECK NOT ECO" OR "CHECK ECO".  THE SET_NOT_ECO CONTEXT

;	1020				! BIT WILL TELL WHICH COMMAND IT WAS.

;	1021				!--

;	1022				IF .PAT$GL_CONTEXT[SET_NOT_ECO]		! "CHECK NOT ECO" COMMAND?

;	1023				THEN					! IF SET THEN YES

;	1024					BEGIN

;	1025					IF .ECO_PTR[.LOOP_CNT]		! CHECK ECO LEVEL BIT NOT SET

;	1026					THEN				! IF IT IS, REPORT ERROR

;	1027						SIGNAL(PAT$_ECOSET, 3, .LOOP_CNT+1,

;	1028							.PAT$GL_OLDNBK[NAM$B_RSL], PAT$GB_OLDNAME);

;	1029					END

;	1030				ELSE

;	1031					IF NOT .ECO_PTR[.LOOP_CNT]	! COMMAND WAS "CHECK ECO"

;	1032					THEN				! REPORT ERROR IF NOT SET

;	1033						SIGNAL(PAT$_ECONOTSET, 3, .LOOP_CNT+1,

;	1034							.PAT$GL_OLDNBK[NAM$B_RSL], PAT$GB_OLDNAME);

;	1035			LOOP_CNT = .LOOP_CNT + 1;

;	1036			END;

;	1037		LIST_PTR = CH$PTR( .LIST_ELEM_FLINK(.LIST_PTR), 0);

;	1038		END;

;	1039	RETURN

;	1040	END;								! END OF PAT$ECO_CMDS







; Bliss-32 7.352	Saturday 22-AUG-1978 03:25:52	DBB3:[PATCH.SRC]PATECO.B32;6					Page 3-3

; Digital Equipment Corporation

;

							    .TITLE  PATECO

							    .IDENT  \X01.03\



						    ISE$C_SIZE==	20

						    TXT$C_SIZE==	4

						    PAL$C_SIZE==	16

						    ASD$C_SIZE==	9

						    FWR$C_SIZE==	24

							    .GLOBL  PAT$GL_FLAGS, PAT$GL_ECO_UPD, PAT$GB_EXEC_CMD

							    .GLOBL  PAT$GB_ECOLVL, PAT$GL_IHPPTR, PAT$GL_IMGHDR, PAT$GL_CONTEXT

							    .GLOBL  PAT$GL_HEAD_LST, PAT$GL_OLDNBK, PAT$GB_OLDNAME

							    .WEAK   ACCESS_CHECK



							    .PSECT  _PAT$CODE,NOWRT,2



					 0FBC 00000 	    .ENTRY  PAT$ECO_CMDS, Save R2,R3,R4,R5,R7,R8,R9,R10,R11	      ; 0878

		         57 00000000G  EF  9E 00002 	    MOVAB   PAT$GB_EXEC_CMD, R7					      ;

		         58 00000000G  EF  9E 00009 	    MOVAB   PAT$GB_ECOLVL, R8					      ;

		         59 00000000G  EF  9E 00010 	    MOVAB   PAT$GL_OLDNBK+3, R9					      ;

		         5A 00000000G  EF  9E 00017 	    MOVAB   PAT$GB_OLDNAME, R10					      ;

		         5B 00000000G  00  9E 0001E 	    MOVAB   LIB$SIGNAL, R11					      ;

		         55 00000000G  EF  D0 00025 	    MOVL    PAT$GL_IHPPTR, ECO_PTR				      ; 0949

		         53 00000000G  EF  D0 0002C 	    MOVL    PAT$GL_HEAD_LST, LIST_PTR				      ; 0950

				       53  D5 00033 1$:     TSTL    LIST_PTR						      ; 0955

				       01  12 00035 	    BNEQ    2$							      ;

					   04 00037 	    RET     							      ;

	   52	    04   A3	       01  C3 00038 2$:     SUBL3   #1, 4(LIST_PTR), LOOP_CNT				      ; 0961

				  08   A3  D5 0003D 	    TSTL    8(LIST_PTR)						      ; 0962

				       05  12 00040 	    BNEQ    3$							      ;

		         54	       52  D0 00042 	    MOVL    LOOP_CNT, LOOP_MAX					      ; 0964

				       05  11 00045 	    BRB     4$							      ; 0962

	   54	    08   A3	       01  C3 00047 3$:     SUBL3   #1, 8(LIST_PTR), LOOP_MAX				      ; 0966

		         52	       54  D1 0004C 4$:     CMPL    LOOP_MAX, LOOP_CNT					      ; 0971

				       09  18 0004F 	    BGEQ    5$							      ;

			    006D8092   8F  DD 00051 	    PUSHL   #7176338						      ; 0973

		         6B	       01  FB 00057 	    CALLS   #1, LIB$SIGNAL					      ;

	      0000007F   8F	       54  D1 0005A 5$:     CMPL    LOOP_MAX, #127					      ; 0974

				       13  15 00061 	    BLEQ    6$							      ;

				       5A  DD 00063 	    PUSHL   R10							      ; 0976

		         7E	       69  9A 00065 	    MOVZBL  PAT$GL_OLDNBK+3, -(SP)				      ;

				  01   A4  9F 00068 	    PUSHAB  1(LOOP_MAX)						      ;

				       03  DD 0006B 	    PUSHL   #3							      ;

			    006D807A   8F  DD 0006D 	    PUSHL   #7176314						      ;

		         6B	       05  FB 00073 	    CALLS   #5, LIB$SIGNAL					      ;

				       52  D5 00076 6$:     TSTL    LOOP_CNT						      ; 0978

				       13  18 00078 	    BGEQ    7$							      ;

				       5A  DD 0007A 	    PUSHL   R10							      ; 0980

		         7E	       69  9A 0007C 	    MOVZBL  PAT$GL_OLDNBK+3, -(SP)				      ;

				  01   A2  9F 0007F 	    PUSHAB  1(LOOP_CNT)						      ;

				       03  DD 00082 	    PUSHL   #3							      ;

			    006D807A   8F  DD 00084 	    PUSHL   #7176314						      ;

		         6B	       05  FB 0008A 	    CALLS   #5, LIB$SIGNAL					      ;

		         54	       52  D1 0008D 7$:     CMPL    LOOP_CNT, LOOP_MAX					      ; 0983

				       03  15 00090 	    BLEQ    8$							      ;

				     009D  31 00092 	    BRW     16$							      ;



; Bliss-32 7.352	Saturday 22-AUG-1978 03:25:52	DBB3:[PATCH.SRC]PATECO.B32;6					Page 3-4

; Digital Equipment Corporation

;

	   5B 00000000G  EF	       02  E1 00095 8$:     BBC     #2, PAT$GL_CONTEXT+2, 12$				      ; 0991

	   13	         65	       52  E1 0009D 	    BBC     LOOP_CNT, (ECO_PTR), 9$				      ; 0994

				       5A  DD 000A1 	    PUSHL   R10							      ; 0996

		         7E	       69  9A 000A3 	    MOVZBL  PAT$GL_OLDNBK+3, -(SP)				      ;

				  01   A2  9F 000A6 	    PUSHAB  1(LOOP_CNT)						      ;

				       03  DD 000A9 	    PUSHL   #3							      ;

			    006D808A   8F  DD 000AB 	    PUSHL   #7176330						      ;

		         6B	       05  FB 000B1 	    CALLS   #5, LIB$SIGNAL					      ;

				       68  95 000B4 9$:     TSTB    PAT$GB_ECOLVL					      ; 0998

				       11  13 000B6 	    BEQL    10$							      ;

				  01   A2  9F 000B8 	    PUSHAB  1(LOOP_CNT)						      ; 1000

		         7E	       68  9A 000BB 	    MOVZBL  PAT$GB_ECOLVL, -(SP)				      ;

				       02  DD 000BE 	    PUSHL   #2							      ;

			    006D80DA   8F  DD 000C0 	    PUSHL   #7176410						      ;

		         6B	       04  FB 000C6 	    CALLS   #4, LIB$SIGNAL					      ;

	   50	         52	       01  C1 000C9 10$:    ADDL3   #1, LOOP_CNT, R0					      ; 1001

		         68	       50  90 000CD 	    MOVB    R0, PAT$GB_ECOLVL					      ;

	   55 00000000G  EF	       04  E1 000D0 	    BBC     #4, PAT$GL_FLAGS, 15$				      ; 1002

	   05 00000000G  EF	       52  E1 000D8 	    BBC     LOOP_CNT, PAT$GL_ECO_UPD, 11$			      ; 1005

		         67	       01  90 000E0 	    MOVB    #1, PAT$GB_EXEC_CMD					      ; 1007

				       48  11 000E3 	    BRB     15$							      ; 1005

				       68  94 000E5 11$:    CLRB    PAT$GB_ECOLVL					      ; 1010

				       67  94 000E7 	    CLRB    PAT$GB_EXEC_CMD					      ; 1011

				       50  DD 000E9 	    PUSHL   R0							      ; 1012

				       01  DD 000EB 	    PUSHL   #1							      ;

			    006D803B   8F  DD 000ED 	    PUSHL   #7176251						      ;

		         6B	       03  FB 000F3 	    CALLS   #3, LIB$SIGNAL					      ;

				       35  11 000F6 	    BRB     15$							      ; 1002

	   16 00000000G  EF	       01  E1 000F8 12$:    BBC     #1, PAT$GL_CONTEXT, 13$				      ; 1022

	   29	         65	       52  E1 00100 	    BBC     LOOP_CNT, (ECO_PTR), 15$				      ; 1025

				       5A  DD 00104 	    PUSHL   R10							      ; 1027

		         7E	       69  9A 00106 	    MOVZBL  PAT$GL_OLDNBK+3, -(SP)				      ;

				  01   A2  9F 00109 	    PUSHAB  1(LOOP_CNT)						      ;

				       03  DD 0010C 	    PUSHL   #3							      ;

			    006D808A   8F  DD 0010E 	    PUSHL   #7176330						      ;

				       14  11 00114 	    BRB     14$							      ;

	   13	         65	       52  E0 00116 13$:    BBS     LOOP_CNT, (ECO_PTR), 15$				      ; 1031

				       5A  DD 0011A 	    PUSHL   R10							      ; 1033

		         7E	       69  9A 0011C 	    MOVZBL  PAT$GL_OLDNBK+3, -(SP)				      ;

				  01   A2  9F 0011F 	    PUSHAB  1(LOOP_CNT)						      ;

				       03  DD 00122 	    PUSHL   #3							      ;

			    006D8082   8F  DD 00124 	    PUSHL   #7176322						      ;

		         6B	       05  FB 0012A 14$:    CALLS   #5, LIB$SIGNAL					      ;

				       52  D6 0012D 15$:    INCL    LOOP_CNT						      ; 1035

				     FF5B  31 0012F 	    BRW     7$							      ; 0983

		         53	       63  D0 00132 16$:    MOVL    (LIST_PTR), LIST_PTR				      ; 1037

				     FEFB  31 00135 	    BRW     1$							      ; 0955

					   04 00138 17$:    RET     							      ; 0878



; Routine Size:  313 bytes







; Bliss-32 7.352	Saturday 22-AUG-1978 03:25:52	DBB3:[PATCH.SRC]PATECO.B32;6					Page 4

; Digital Equipment Corporation

;

;	1041	END				!End of module

;	1042	ELUDOM









							    .GLOBL  LIB$SIGNAL



;				       PSECT SUMMARY

;

;	Name		 Bytes			       Attributes

;

;  _PAT$CODE      	   313  NOWRT,  RD ,  EXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)

;  $CODE$         	     0  NOWRT,  RD ,  EXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)









;				LIBRARY STATISTICS

;

;					     -------- Symbols --------    Blocks

;	File				     Total    Loaded   Percent      Read

;

;  DBA4:[SYSLIB]LIB.L32;1		      5582         5         0       224











; Size:		313 code + 0 data bytes

; Run Time:	00:21.5

; Elapsed Time:	00:41.2

; Memory Used:	366 pages

; Compilation Complete

