Google
 

Trailing-Edge - PDP-10 Archives - bb-d868c-bm_tops20_v4_2020_distr - 4-documentation/ovrlay.pco
There are 7 other files named ovrlay.pco in the archive. Click here to see a list.
Digital Equipment Corporation       28-AUG-79    Page   1
PCO Log Report



                   *********************
                   *PCO #:20-OVRLAY-002*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4(37)

[Date Entered]          20-SEP-78

[Programmer]            D. NEFF

[Routines]              CHKDDT

[Key Words]             NO SYM TBL

[Source Before Edit]    %4   (000037)

[Source After Edit]     %4A  (000040)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:20-NONE
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page   2
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
     When debugging an overlaid program with  symbols,  the  symbol
table can disappear after a link is brought in.
 

                        **********


[DIAGNOSIS]
 
     As links are deleted and brought in, the overlay handler  also
maintains  the  symbol  table  to  reflect  the  links currently in
memory.  This also involves maintaining  the  JOBDAT  symbol  table
pointer,  .JBSYM,  as  the symbol table moves around.  However, DDT
does not look at .JBSYM, but only believes its own internal  symbol
table pointer.  Therefore, even though the overlay handler properly
updates .JBSYM, DDT never notices it.
 

                        **********


[CURE]
 
     Until there is a standard for the location of the symbol table
pointer,  do what the EXEC does when it brings in DDT -- track down
DDT's internal symbol table pointer and change it  whenever  .JBSYM
is updated in the overlay handler.
 
Digital Equipment Corporation       28-AUG-79    Page   3
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[30,4507]  	created: 2101 04-Mar-1978
File 2)	LINK:OVRLAY.MAC[10,645063]	created: 2152 15-Sep-1978
 
1)2	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC	27-FEB-78
1)	CUSTVR==0		;CUSTOMER VERSION
1)	DECVER==4		;DEC VERSION
1)	DECMVR==0		;DEC MINOR VERSION
1)	DECEVR==37		;DEC EDIT VERSION
1)	ENTRY	.OVRLA,.OVRLU
****
2)2	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	15-Sep-78
2)	CUSTVR==0		;CUSTOMER VERSION
2)	DECVER==4		;DEC VERSION
2)	DECMVR==1		;DEC MINOR VERSION
2)	DECEVR==40		;DEC EDIT VERSION
2)	ENTRY	.OVRLA,.OVRLU
**************
1)3	IFN FTENEX,<SEARCH	MONSYM
1)		FTKI10==-1
****
2)3	IFN FTENEX,<SEARCH	MACSYM, MONSYM
2)		FTKI10==-1
**************
1)6	SUBTTL	DEFINITIONS
****
2)5	;START OF VERSION 4A
2)	;40	DZN	15-Sep-78
2)	;	On TOPS-20, if DDT exists, set its internal symbol table
	 pointer
2)	;	whenever we change .JBSYM.
2)6	SUBTTL	DEFINITIONS
**************
1)20	IFN FTRELOC,<
****
2)20	;**;[40] Insert after GTSYM+24L	DZN	15-Sep-78
2)	IFN FTENEX,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
2)	>
2)	IFN FTRELOC,<
**************
1)24	ADJSYM:	ADDM	T0,.JBSYM##		;
1)		MOVE	T1,FSTLNK	;MUST DO SAME FOR ALL LINKS IN C
	ORE
****
2)24	ADJSYM:	ADDM	T0,.JBSYM##	;
2)	;**;[40] Insert after ADJSYM	DZN	15-Sep-78
2)	IFN FTENEX,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
Digital Equipment Corporation       28-AUG-79    Page   4
PCO Log Report


2)	>
2)		MOVE	T1,FSTLNK	;MUST DO SAME FOR ALL LINKS IN C
	ORE
**************
1)27		MOVEI	L,1+[-5,,0		;ARG LIST
****
2)27	;**;[40] Insert after GBSYM+8L	DZN	15-Sep-78
2)	IFN FTENEX,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
2)	>
2)		MOVEI	L,1+[-5,,0		;ARG LIST
**************
1)43		SKIPN	T1,PS.RDX	;GET POINTER
****
 
 
2)43	;**;[40] Insert after OVINI3+1P2L	DZN	15-Sep-78
2)	IFN FTENEX,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
2)	>
2)		SKIPN	T1,PS.RDX	;GET POINTER
**************
1)43		SUBI	T0,1		;IOWD IS 1 LESS
****
2)43	;**;[40] Insert after OVINI4+15L	DZN	15-Sep-78
2)	IFN FTENEX,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
2)	>
2)		SUBI	T0,1		;IOWD IS 1 LESS
**************
1)44	SUBTTL	INIT & LOOKUP
****
2)44	;**;[40] Insert after POPL+2L	DZN	15-Sep-78
2)	;ROUTINE TO STUFF C(.JBSYM) INTO DDT IF DDT IS IN MEMORY (TOPS-2
	0 ONLY).
2)	;THIS IS BECAUSE DDT DOESN'T LOOK FOR SYMBOL TABLES IN JOBDAT, B
	UT MUST
2)	;BE FORCE-FED. SAVES ALL ACS.
2)	IFN FTENEX,<
2)	CHKDDT:	PUSH	P,T1		;[40] SAVE SOME TEMPS
2)		PUSH	P,T2		;[40]   ..
2)		MOVX	T1,<.FHSLF,,770>;[40] SEE IF PAGE 770 EXISTS
2)		RPACS			;[40]   ..
2)		TXNN	T2,PA%EX	;[40]   ..
2)		JRST	CHKEND		;[40] NO--CAN'T BE STANDARD DDT
2)		MOVE	T1,770000	;[40] SEE IF IT'S DDT THAT'S THE
	RE
2)		CAME	T1,[JRST 770002];[40] CROCK, BUT THIS IS WHAT EX
Digital Equipment Corporation       28-AUG-79    Page   5
PCO Log Report


	EC DOES
2)		JRST	CHKEND		;[40] NOT DDT
2)		MOVE	T1,.JBSYM##	;[40] IT'S DDT--STORE S.T. POINT
	ER
2)		MOVEM	T1,@770001	;[40]   IN STANDARD PLACE
2)	CHKEND:	POP	P,T2		;[40] RESTORE TEMPS
2)		POP	P,T1		;[40]   ..
2)		POPJ	P,		;[40] DONE
2)	>
2)45	SUBTTL	INIT & LOOKUP
**************

[End PCO Write-up]
Digital Equipment Corporation       28-AUG-79    Page   6
PCO Log Report



                   *********************
                   *PCO #:20-OVRLAY-003*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4(37) TESTED IN 4A(40)

[Date Entered]          01-NOV-78

[Programmer]            D. NEFF

[Routines]              ALL!

[Key Words]             JSYS NAMES

[Source Before Edit]    %4A  (000040)

[Source After Edit]     %4A  (000041)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:20-11873
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page   7
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
Multiply defined  globals  or  run-time  errors  result  with  LINK
overlays when FORLIB routines with the same names as JSYS names are
called.
 

                        **********


[DIAGNOSIS]
 
This error results because the JSYS names are defined in MONSYM  as
global  symbols,  and  are not defined with the usual . or % in the
name to avoid such conflicts.  Subsequent use of these  JSYS  names
by the overlay handler cause the conflicts with the similarly named
FORLIB subroutines.
 

                        **********


[CURE]
 
Make JSYS names be of the  form  NAME%,  then  change  the  overlay
handler to use the new names.  The JSYS name change is addressed in
a separate patch to  MONSYM.MAC,  which  is  attached.   The  patch
directly  below  then  changes  the  overlay handler to use the new
names.  Note that sites wishing to save themselves a  lot  of  work
may  simply  change  over the names of just those JSYSes that cause
the conflicts.
 
Digital Equipment Corporation       28-AUG-79    Page   8
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[30,4507]  	created: 2152 15-Sep-1978
File 2)	LINK:OVRLAY.MAC[10,645063]	created: 1612 01-Nov-1978
 
1)2	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	15-Sep-78
1)	CUSTVR==0		;CUSTOMER VERSION
****
2)2	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	5-Oct-78
2)	CUSTVR==0		;CUSTOMER VERSION
**************
1)2	DECEVR==40		;DEC EDIT VERSION
1)	ENTRY	.OVRLA,.OVRLU
****
2)2	DECEVR==41		;DEC EDIT VERSION
2)	ENTRY	.OVRLA,.OVRLU
**************
1)6	SUBTTL	DEFINITIONS
****
2)5	;41	DZN	5-Oct-78
2)	;	Use new NAME% form of JSYS names to avoid conflicts with
	 user-defined
2)	;	globals.
2)6	SUBTTL	DEFINITIONS
**************
1)8		PSOUT
1)	>>
****
2)8	;;**;[41] Replace in TYPE macro	DZN	5-Oct-78
2)		PSOUT%			;;[41]
2)	>>
**************
1)8		PBOUT
1)	>>
****
2)8	;;**;[41] Replace in TYPEC macro	DZN	5-Oct-78
2)		PBOUT%			;;[41]
2)	>>
**************
1)8		HALTF
1)		JRST	.-1;;		;;HALTF IS CONTINUABLE
1)			>
****
2)8	;;**;[41] Replace in STOP macro	DZN	5-Oct-78
2)		HALTF%			;;[41]
2)		JRST	.-1;;		;;[41] HALTF% IS CONTINUABLE
2)			>
**************
1)40		RPACS			;READ ACCESSABILITY
1)		  ERJMP	.ERRPA
****
2)40	;**;[41] Replace @OVINI+1P19L	DZN	5-Oct-78
Digital Equipment Corporation       28-AUG-79    Page   9
PCO Log Report


2)		RPACS%			;[41] READ ACCESSABILITY
2)		  ERJMP	.ERRPA
**************
1)40		RMAP			;JFN FROM WHENCE WE CAME
1)		  ERJMP	.ERRMP
****
2)40	;**;[41] Replace @OVINI+1P23L	DZN	5-Oct-78
2)		RMAP%			;[41] JFN FROM WHENCE WE CAME
2)		  ERJMP	.ERRMP
**************
 
 
1)40		MOVEM	1,STRPTR	;FOR GTJFN
1)		MOVE	3,[1B2+1B5+1B8+1B35]	;DEVICE:<DIRECTORY>NAME
1)		JFNS
1)	>;END IFN FTENEX
****
2)40	;**;[41] Change @OVINI+1P27L	DZN	5-Oct-78
2)		MOVEM	1,STRPTR	;[41] FOR GTJFN%
2)		MOVE	3,[1B2+1B5+1B8+1B35]	;DEVICE:<DIRECTORY>NAME
2)		JFNS%			;[41]
2)	>;END IFN FTENEX
**************
1)41		GTJFN
1)		  JRST	.ERGJF
****
2)41	;**;[41] Replace @OVINI+2P17L	DZN	5-Oct-78
2)		GTJFN%			;[41]
2)		  JRST	.ERGJF
**************
1)41		OPENF
1)		  JRST	.EROPF
****
2)41	;**;[41] Replace @OVINI+2P21L	DZN	5-Oct-78
2)		OPENF%			;[41]
2)		  JRST	.EROPF
**************
1)44		RPACS			;[40]   ..
1)		TXNN	T2,PA%EX	;[40]   ..
****
2)44	;**;[41] Replace @CHKDDT+3L	DZN	5-Oct-78
2)		RPACS%			;[41]   ..
2)		TXNN	T2,PA%EX	;[40]   ..
**************
1)47		SFPTR			;SET INPUT PTR
1)		  JRST	.ERSFP
****
2)47	;**;[41] Replace @%USETI%4L	DZN	5-Oct-78
2)		SFPTR%			;[41] SET INPUT PTR
2)		  JRST	.ERSFP
**************
Digital Equipment Corporation       28-AUG-79    Page  10
PCO Log Report


1)47		SIN
1)		  ERJMP	.ERIST
****
2)47	;**;[41] Replace @%INZ+5L	DZN	5-Oct-78
2)		SIN%			;[41]
2)		  ERJMP	.ERIST
**************
1)65		TYPE	(<SFP	SFPTR JSYS failed>)
1)		PUSHJ	P,JSYSER
****
2)65	;**;[41] Replace @.ERSFP+1L	DZN	5-Oct-78
2)		TYPE	(<SFP	SFPTR% JSYS failed>)
2)		PUSHJ	P,JSYSER
**************
1)65		TYPE	(<RPA	RPACS JSYS failed>)
1)		PUSHJ	P,JSYSER
****
 
 
2)65	;**;[41] Replace @.ERRPA+1L	DZN	5-Oct-78
2)		TYPE	(<RPA	RPACS% JSYS failed>)
2)		PUSHJ	P,JSYSER
**************
1)65		TYPE	(<RMP	RMAP JSYS failed>)
1)		PUSHJ	P,JSYSER
****
2)65	;**;[41] Replace @.ERRMP+1L	DZN	5-Oct-78
2)		TYPE	(<RMP	RMAP% JSYS failed>)
2)		PUSHJ	P,JSYSER
**************
1)65		TYPE	(<GJF	GTJFN JSYS failed>)
1)		PUSHJ	P,JSYSER
****
2)65	;**;[41] Replace @.ERGJF+1L	DZN	5-Oct-78
2)		TYPE	(<GJF	GTJFN% JSYS failed>)
2)		PUSHJ	P,JSYSER
**************
1)65		TYPE	(<OPF	OPENF JSYS failed>)
1)		PUSHJ	P,JSYSER
****
2)65	;**;[41] Replace @.EROPF+1L	DZN	5-Oct-78
2)		TYPE	(<OPF	OPENF% JSYS failed>)
2)		PUSHJ	P,JSYSER
**************
1)66		PBOUT
1)		POP	P,T1
****
2)66	;**;[41] Replace @PRNT0+11L	DZN	5-Oct-78
2)		PBOUT%			;[41]
2)		POP	P,T1
**************
Digital Equipment Corporation       28-AUG-79    Page  11
PCO Log Report


1)67		PSOUT
1)		HRROI	1,INBFR		;WHERE TO STORE STRING
****
2)67	;**;[41] Replace @JSYSER+2L	DZN	5-Oct-78
2)		PSOUT%			;[41]
2)		HRROI	1,INBFR		;WHERE TO STORE STRING
**************
1)67		ERSTR
1)		  POPJ	P,		;TOO BAD
****
2)67	;**;[41] Replace @JSYSER+6L	DZN	5-Oct-78
2)		ERSTR%			;[41]
2)		  POPJ	P,		;TOO BAD
**************
1)67		PSOUT			;GIVE IT TO THE USER
1)		POPJ	P,
****
2)67	;**;[41] Replace @JSYSER+10L	DZN	5-Oct-78
2)		PSOUT%			;[41] GIVE IT TO THE USER
2)		POPJ	P,
**************
1)71		GTJFN
1)		  JRST	.ERGJF
****
 
 
2)71	;**;[41] Replace @$ENTER+18L	DZN	5-Oct-78
2)		GTJFN%			;[41]
2)		  JRST	.ERGJF
**************
1)71		OPENF
1)		  JRST	.EROPF
****
2)71	;**;[41] Replace @$ENTER+22L	DZN	5-Oct-78
2)		OPENF%			;[41]
2)		  JRST	.EROPF
**************
1)72		CLOSF
1)		  JFCL
****
2)72	;**;[41] Replace @$CLOSE+24L	DZN	5-Oct-78
2)		CLOSF%			;[41]
2)		  JFCL
**************
1)74		PSOUT			;OUTPUT IT
1)	>
****
2)74	;**;[41] Replace @LOGTST+8L	DZN	5-Oct-78
2)		PSOUT%			;[41] OUTPUT IT
2)	>
**************
Digital Equipment Corporation       28-AUG-79    Page  12
PCO Log Report


1)75		SOUT
1)		  ERJMP	.EROEL
****
2)75	;**;[41] Replace @LOGIT+5L	DZN	5-Oct-78
2)		SOUT%			;[41]
2)		  ERJMP	.EROEL
**************
1)75		BOUT
1)		  ERJMP	.EROEL
****
2)75	;**;[41] Replace @LOGCHR+3L	DZN	5-Oct-78
2)		BOUT%			;[41]
2)		  ERJMP	.EROEL
**************
1)76		RUNTM
1)		MOVE	T0,1
****
2)76	;**;[41] Replace @TIME+7L	DZN	5-Oct-78
2)		RUNTM%			;[41]
2)		MOVE	T0,1
**************
1)77		GCVEC			;SO WON'T DRAG IT IN IF NOT
1)		MOVE	T1,.JBSA##	;RESTORE AC 1 FOR DISPATCH
1)		SKIPE	2		;GCVEC RETURNS 2=0 IF PAT NOT AR
	OUND
1)	>;END IFN FTENEX
****
2)77	;**;[41] Replace @RESTART+18L	DZN	5-Oct-78
2)		GCVEC%			;[41] SO WON'T DRAG IT IN IF NOT
2)		MOVE	T1,.JBSA##	;RESTORE AC 1 FOR DISPATCH
2)		SKIPE	2		;[41] GCVEC% RETURNS 2=0 IF PAT
	NOT AROUND
2)	>;END IFN FTENEX
 
 
**************
1)78	GJF	GTJFN JSYS failed
1)	IAT	Illegal argument type on call to [subroutine]
****
2)78	GJF	GTJFN% JSYS failed
2)	IAT	Illegal argument type on call to [subroutine]
**************
1)78	OPF	OPENF JSYS failed
1)	OPP	Overlay handler in private page
****
2)78	OPF	OPENF% JSYS failed
2)	OPP	Overlay handler in private page
**************
1)78	RMP	RMAP JSYS failed
1)	RPA	RPACS JSYS failed
1)	SFP	SFPTR JSYS failed
Digital Equipment Corporation       28-AUG-79    Page  13
PCO Log Report


1)	STS	OTS reserved space too small
****
2)78	RMP	RMAP% JSYS failed
2)	RPA	RPACS% JSYS failed
2)	SFP	SFPTR% JSYS failed
2)	STS	OTS reserved space too small
**************

[End PCO Write-up]
Digital Equipment Corporation       28-AUG-79    Page  14
PCO Log Report



                   *********************
                   *PCO #:20-OVRLAY-004*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4(37) TESTED IN 4A(41)

[Date Entered]          02-NOV-78

[Programmer]            D. NEFF

[Routines]              ALL!

[Key Words]             FTENEX CND

[Source Before Edit]    %4A  (000041)

[Source After Edit]     %4A  (000042)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:20-NONE
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page  15
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
The overlay handler does not have the same conditional names as the
rest   of   LINK.    In  particular,  OVRLAY.MAC  uses  the  FTENEX
conditional name rather than TOPS20 which the rest  of  LINK  uses.
Also,   the  overlay  handler  does  not  use  mnemonics  for  JSYS
arguments, making the code harder to read.
 

                        **********


[DIAGNOSIS]
 
OVRLAY.MAC was missed when the FTENEX conditional name was  changed
to TOPS20 in the rest of LINK.
 

                        **********


[CURE]
 
Use TOPS20 as the conditional name rather than FTENEX, and use  the
proper mnemonics for JSYS arguments.
 
Digital Equipment Corporation       28-AUG-79    Page  16
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[30,4507]  	created: 1612 01-Nov-1978
File 2)	LINK:OVRLAY.MAC[10,645063]	created: 1758 01-Nov-1978
 
1)2	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	5-Oct-78
1)	CUSTVR==0		;CUSTOMER VERSION
****
2)2	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	13-Oct-78
2)	CUSTVR==0		;CUSTOMER VERSION
**************
1)2	DECEVR==41		;DEC EDIT VERSION
1)	ENTRY	.OVRLA,.OVRLU
****
2)2	DECEVR==42		;DEC EDIT VERSION
2)	ENTRY	.OVRLA,.OVRLU
**************
1)3	FTENEX==0			;-1 = TENEX VERSION
1)	FT2SEG==-1			;-1 = TWO SEGMENT VERSION
****
2)3	TOPS20==0			;-1 = TOPS-20 VERSION
2)	FT2SEG==-1			;-1 = TWO SEGMENT VERSION
**************
1)3	IFNDEF	FTENEX,<FTENEX==0>
1)	IFNDEF	FT2SEG,<FT2SEG==-1>
****
2)3	IFNDEF	TOPS20,<TOPS20==0>
2)	IFNDEF	FT2SEG,<FT2SEG==-1>
**************
1)3	IFE FTENEX,<SEARCH	UUOSYM		;GET STANDARD DEFINITION
	S
1)	>
1)	IFN FTENEX,<SEARCH	MACSYM, MONSYM
1)		FTKI10==-1
****
2)3	IFE TOPS20,<SEARCH	MACTEN, UUOSYM	;GET STANDARD DEFINITION
	S
2)	>
2)	IFN TOPS20,<SEARCH	MACSYM, MONSYM	;GET STANDARD DEFINITION
	S
2)		FTKI10==-1
**************
1)6	SUBTTL	DEFINITIONS
1)	;ACCUMULATORS
1)	T0=0
1)	T1=1
****
2)6	;42	DZN	5-Oct-78
2)	;	Change FTENEX conditional to TOPS20 to be consistent wit
	h the rest
2)	;	of LINK. Use proper mnemonics for JSYS arguments. Some c
	ode cleanup.
Digital Equipment Corporation       28-AUG-79    Page  17
PCO Log Report


2)7	SUBTTL	DEFINITIONS
2)	;ACCUMULATORS
2)	;**;[42] Change @T0	DZN	5-Oct-78
2)	T0=0				;[42] T0-T5 MUST BE 0-5 FOR JSYS
	 ARGS
2)	T1=1
**************
1)8	 IFE FTENEX,<
1)		OUTSTR	[ASCIZ \MESSAGE\]
1)	 >
1)	 IFN FTENEX,<
1)		HRROI	1,[ASCIZ \MESSAGE\]
1)	;;**;[41] Replace in TYPE macro	DZN	5-Oct-78
1)		PSOUT%			;;[41]
****
 
 
2)9	;;**;[42] Change in TYPE macro	DZN	5-Oct-78
2)	 IFE TOPS20,<
2)		OUTSTR	[ASCIZ \MESSAGE\]
2)	 >
2)	 IFN TOPS20,<
2)		HRROI	T1,[ASCIZ \MESSAGE\]
2)		PSOUT%			;;[41]
**************
1)8	 IFE FTENEX,<
1)		MOVEI	T1,CHAR
****
2)9	;;**;[42] Change in TYPEC macro	DZN	5-Oct-78
2)	 IFE TOPS20,<
2)		MOVEI	T1,CHAR
**************
1)8	 IFN FTENEX,<
1)		HRROI	1,CHAR
1)	;;**;[41] Replace in TYPEC macro	DZN	5-Oct-78
1)		PBOUT%			;;[41]
****
2)9	 IFN TOPS20,<
2)		MOVEI	T1,CHAR		;;[42]
2)		PBOUT%			;;[41]
**************
1)8	IFE FTENEX,<
1)	 OPDEF	STOP	[EXIT]
1)		>
1)	IFN FTENEX,<
1)	 DEFINE	STOP<
1)	;;**;[41] Replace in STOP macro	DZN	5-Oct-78
1)		HALTF%			;;[41]
1)		JRST	.-1;;		;;[41] HALTF% IS CONTINUABLE
1)			>
1)		>
Digital Equipment Corporation       28-AUG-79    Page  18
PCO Log Report


1)	OPDEF	PJRST	[JRST]
****
2)9	;**;[42] Replace before STOP OPDEF	DZN	5-Oct-78
2)	IFE TOPS20,<
2)	  OPDEF	STOP	[EXIT]
2)	>
2)	IFN TOPS20,<
2)	  DEFINE	STOP<
2)		HALTF%			;;[41]
2)		JRST	.-1;;		;;[41] HALTF% IS CONTINUABLE
2)	  >
2)	>
2)	OPDEF	PJRST	[JRST]
**************
1)18	IFE FTENEX,<
1)	;HERE WITH ALL LINKS AND SYMBOLS IN CORE.
****
2)19	;**;[42] Replace @CP5A+1P0L	DZN	5-Oct-78
2)	IFE TOPS20,<
2)	;HERE WITH ALL LINKS AND SYMBOLS IN CORE.
**************
1)19	>;END IFE FTENEX
 
 
1)	IFN FTENEX,<
1)	CP6:>
****
2)20	;**;[42] Replace @CP6+6L	DZN	5-Oct-78
2)	>;END IFE TOPS20
2)	IFN TOPS20,<
2)	CP6:>
**************
1)20	;**;[40] Insert after GTSYM+24L	DZN	15-Sep-78
1)	IFN FTENEX,<
1)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
****
2)21	;**;[42] Replace @GTSYM+24L	DZN	5-Oct-78
2)	IFN TOPS20,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
**************
1)24	;**;[40] Insert after ADJSYM	DZN	15-Sep-78
1)	IFN FTENEX,<
1)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
****
2)25	;**;[42] Replace @ADJSYM	DZN	5-Oct-78
2)	IFN TOPS20,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
Digital Equipment Corporation       28-AUG-79    Page  19
PCO Log Report


**************
1)27	;**;[40] Insert after GBSYM+8L	DZN	15-Sep-78
1)	IFN FTENEX,<
1)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
****
2)28	;**;[42] Replace @GBSYM+8L	DZN	5-Oct-78
2)	IFN TOPS20,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
**************
1)39	IFE FTENEX,<
1)		MOVE	T0,[115,,11]	;GET PAGESIZE
1)		GETTAB	T0,		;FROM MONITOR
****
2)40	;**;[42] Replace @OVINI+3L	DZN	5-Oct-78
2)	IFE TOPS20,<
2)		MOVX	T0,%CNPGS	;[42] GET PAGE SIZE
2)		GETTAB	T0,		;FROM MONITOR
**************
1)39	IFN FTENEX,<
1)		DMOVEM	2,TEMP2		;SAVE THE ACCS
1)		MOVEI	T0,1000		;WE KNOW ITS PAGES
****
2)40	;**;[42] Replace @OVINI+8L	DZN	5-Oct-78
2)	IFN TOPS20,<
2)		DMOVEM	T2,TEMP2	;[42] SAVE THE ACCS
2)		MOVEI	T0,1000		;WE KNOW ITS PAGES
**************
1)39	IFE FTENEX,<
1)		MOVEI	L,1+[-4,,0		;ARG LIST FOR GET CHAN F
	NCT
****
2)40	;**;[42] Replace @OVINI+22L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		MOVEI	L,1+[-4,,0		;ARG LIST FOR GET CHAN F
	NCT
 
 
**************
1)40	>;END IFE FTENEX
1)	IFN FTENEX,<
1)		SKIPE	STRPTR		;STRING SETUP?
1)		JRST	OVINI1		;YES
1)		MOVEI	1,OVRL1+1000	;A PURE PAGE
1)		LSH	1,-9		;IN THE MIDDLE OF OVRLAY
1)		HRLI	1,400000	;THIS FORK
1)	;**;[41] Replace @OVINI+1P19L	DZN	5-Oct-78
1)		RPACS%			;[41] READ ACCESSABILITY
1)		  ERJMP	.ERRPA
1)		TLNE	2,(1B10)	;PRIVATE?
Digital Equipment Corporation       28-AUG-79    Page  20
PCO Log Report


1)		JRST	.EROPP		;TOO BAD
****
2)41	;**;[42] Replace @OVINI+1P12L	DZN	12-Oct-78
2)	>;END IFE TOPS20
2)	IFN TOPS20,<
2)		SKIPE	STRPTR		;STRING SETUP?
2)		JRST	OVINI1		;YES
2)		MOVEI	T1,OVRL1+1000	;[42] SEE IF A PURE PAGE IN THE
2)		LSH	T1,-9		;[42]   MIDDLE OF OVRLAY IS
2)		HRLI	T1,.FHSLF	;[42]   SHARABLE
2)		RPACS%			;[41] READ ACCESSABILITY
2)		  ERJMP	.ERRPA
2)		TXNE	T2,PA%PRV	;[42] PRIVATE?
2)		JRST	.EROPP		;TOO BAD
**************
1)40		HLRZ	2,1		;JFN
1)		MOVE	1,[POINT 7,INBFR]	;WHERE TO STORE IT
1)	;**;[41] Change @OVINI+1P27L	DZN	5-Oct-78
1)		MOVEM	1,STRPTR	;[41] FOR GTJFN%
1)		MOVE	3,[1B2+1B5+1B8+1B35]	;DEVICE:<DIRECTORY>NAME
1)		JFNS%			;[41]
1)	>;END IFN FTENEX
1)41	OVINI1:	MOVSI	T1,(MOVE T0,JT.FLG(T1))
1)		MOVEM	T1,.OVRLA	;REPLACE INST
****
2)41	;**;[42] Replace @OVINI+1P27L	DZN	12-Oct-78
2)		HLRZ	T2,T1		;[42] JFN
2)		HRROI	T1,INBFR	;[42] WHERE TO STORE IT
2)		MOVEM	T1,STRPTR	;[42] FOR GTJFN%
2)		MOVX	T3,<<FLD .JSAOF,JS%DEV>!<FLD .JSAOF,JS%DIR>!^_
2)			    <FLD .JSAOF,JS%NAM>!JS%PAF> ;[42] DEV:<DIR>N
	AME
2)		JFNS%			;[41]
2)	>;END IFN TOPS20
2)42	OVINI1:	MOVX	T1,<MOVE T0,JT.FLG(T1)> ;[42]
2)		MOVEM	T1,.OVRLA	;REPLACE INST
**************
1)41	IFE FTENEX,<
1)		PUSHJ	P,%INIT		;DO INIT & LOOKUP
1)	>
1)	IFN FTENEX,<
1)		MOVEI	T1,[ASCIZ /OVL/]
****
2)42	;**;[42] Replace @OVINI1+7L	DZN	12-Oct-78
2)	IFE TOPS20,<
 
 
2)		PUSHJ	P,%INIT		;DO INIT & LOOKUP
2)	>
2)	IFN TOPS20,<
2)		MOVEI	T1,[ASCIZ /OVL/]
Digital Equipment Corporation       28-AUG-79    Page  21
PCO Log Report


**************
1)41		MOVEI	1,DEFTBL
1)		MOVE	2,STRPTR
1)	;**;[41] Replace @OVINI+2P17L	DZN	5-Oct-78
1)		GTJFN%			;[41]
1)		  JRST	.ERGJF
1)		HRRZM	1,JFN		;SAVE THE JFN
1)		MOVE	2,[44B5+1B19]	;36 BITS INPUT
1)	;**;[41] Replace @OVINI+2P21L	DZN	5-Oct-78
1)		OPENF%			;[41]
****
2)42	;**;[42] Replace @IVINI1+15L	DZN	12-Oct-78
2)		MOVEI	T1,DEFTBL	;[42]
2)		MOVE	T2,STRPTR	;[42]
2)		GTJFN%			;[41]
2)		  JRST	.ERGJF
2)		HRRZM	T1,JFN		;[42] SAVE THE JFN
2)		MOVX	T2,<<FLD ^D36,OF%BSZ>!OF%RD> ;[42] 36 BITS, FOR
	INPUT
2)		OPENF%			;[41]
**************
1)42	IFN FTENEX,<
1)		DMOVE	2,TEMP2		;RESTORE THE ACCS
1)	>
****
2)43	;**;[42] Replace @ININI3+7L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)		DMOVE	T2,TEMP2	;[42] RESTORE THE ACCS
2)	>
**************
1)43	;**;[40] Insert after OVINI3+1P2L	DZN	15-Sep-78
1)	IFN FTENEX,<
1)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
****
2)44	;**;[42] Insert after OVINI3+1P3L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
**************
1)43	;**;[40] Insert after OVINI4+15L	DZN	15-Sep-78
1)	IFN FTENEX,<
1)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
****
2)44	;**;[42] Replace @OVINI4+16L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)		PUSHJ	P,CHKDDT	;[40] STORE S.T. PTR IN DDT IF I
	T'S THERE
**************
1)44	IFN FTENEX,<
Digital Equipment Corporation       28-AUG-79    Page  22
PCO Log Report


1)	CHKDDT:	PUSH	P,T1		;[40] SAVE SOME TEMPS
****
2)45	;**;[42] Replace @CHKDDT-1	DZN	12-Oct-78
2)	IFN TOPS20,<
2)	CHKDDT:	PUSH	P,T1		;[40] SAVE SOME TEMPS
**************
 
 
1)45	IFE FTENEX,<
1)		SEGMENT	LOW
****
2)46	;**;[42] Replace @%INIT-2L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		SEGMENT	LOW
**************
1)46	>;END IFE FTENEX
1)47	SUBTTL	JSYS CODE
1)	IFN FTENEX,<
1)	%USETU:	HRRZM	T1,UBLOCK	;STORE INCORE BLOCK TO BE
1)	%USETI:	DMOVEM	1,TEMP2
1)		MOVEI	2,-1(1)		;GET BLOCK -1
1)		LSH	2,7		;WORDS
1)		MOVE	1,JFN
1)	;**;[41] Replace @%USETI%4L	DZN	5-Oct-78
1)		SFPTR%			;[41] SET INPUT PTR
1)		  JRST	.ERSFP
1)		DMOVE	1,TEMP2
1)		POPJ	P,
1)	%INB:	MOVE	T0,[IOWD 200,INBFR]
1)	%INZ:	DMOVEM	2,TEMP2
1)		MOVE	1,JFN
1)		AOS	2,T0		;ADDRESS
1)		HRLI	2,(POINT 36,)	;BYTE PTR
1)		HLRO	3,T0		;- WORD COUNT
1)	;**;[41] Replace @%INZ+5L	DZN	5-Oct-78
1)		SIN%			;[41]
1)		  ERJMP	.ERIST
1)		DMOVE	2,TEMP2
1)		POPJ	P,
1)		SEGMENT	LOW
1)	DEFTBL:	1B2
1)		377777,,377777
1)		POINT 7,[ASCIZ /DSK/]
****
2)47	;**;[42] Replace @%OUTPT+7L	DZN	12-Oct-78
2)	>;END IFE TOPS20
2)48	SUBTTL	JSYS CODE
2)	IFN TOPS20,<
2)	%USETU:	HRRZM	T1,UBLOCK	;STORE INCORE BLOCK TO BE
2)	%USETI:	DMOVEM	T1,TEMP2	;[42] SAVE JSYS ACS
2)		MOVEI	T2,-1(T1)	;[42] GET BLOCK -1
Digital Equipment Corporation       28-AUG-79    Page  23
PCO Log Report


2)		LSH	T2,7		;[42] WORDS
2)		MOVE	T1,JFN		;[42]
2)		SFPTR%			;[41] SET INPUT PTR
2)		  JRST	.ERSFP
2)		DMOVE	T1,TEMP2	;[42] RESTORE JSYS ACS
2)		POPJ	P,
2)	%INB:	MOVE	T0,[IOWD 200,INBFR]
2)	%INZ:	DMOVEM	T2,TEMP2	;[42] SAVE JSYS ACS
2)		MOVE	T1,JFN		;[42]
2)		AOS	T2,T0		;[42] ADDRESS
2)		HRLI	T2,(POINT 36,)	;[42] BYTE PTR
2)		HLRO	T3,T0		;[42] - WORD COUNT
2)		SIN%			;[41]
 
 
2)		  ERJMP	.ERIST
2)		DMOVE	T2,TEMP2	;[42] RESTORE JSYS ACS
2)		POPJ	P,
2)		SEGMENT	LOW
2)	DEFTBL:	GJ%OLD			;[42] FILE MUST EXIST
2)		.NULIO,,.NULIO		;[42] DON'T READ FROM ANYWHERE
2)		POINT 7,[ASCIZ /DSK/]
**************
1)48	IFE FTENEX,<
1)		SKIPN	-1(L)		;[31] ANY ARGUMENTS?
****
2)49	;**;[42] Replace @INIOV.+1L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		SKIPN	-1(L)		;[31] ANY ARGUMENTS?
**************
1)48	IFN FTENEX,<
1)		SKIPN	-1(L)		;[31] ANY ARGUMENTS?
1)		PJRST	OVINI		;[31] NO, JUST INITIALIZE
1)		MOVE	T1,@L		;GET ADDRESS OF ARG STRING
1)		HRLI	T1,(POINT 7,)
1)		MOVEM	T1,STRPTR	;SETUP PTR
****
2)49	;**;[42] Replace @INIOV.+14L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)		SKIPN	-1(L)		;[31] ANY ARGUMENTS?
2)		PJRST	OVINI		;[31] NO, JUST INITIALIZE
2)		HRROI	T1,@(L)		;[42] GET POINTER TO ARG STRING
2)		MOVEM	T1,STRPTR	;SETUP PTR
**************
1)50	IFE FTENEX,<
1)		MOVEI	L,1+[-3,,0		;ARG LIST
****
2)51	;**;[42] Replace @REMOV2+1L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		MOVEI	L,1+[-3,,0		;ARG LIST
**************
Digital Equipment Corporation       28-AUG-79    Page  24
PCO Log Report


1)57	IFE FTENEX,<
1)	;ENTER WITH
****
2)58	;**;[42] Replace @TY.PTR+1P1L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)	;ENTER WITH
**************
1)58	>;END IFE FTENEX
1)59	;GETSBX - ROUTINE TO CONVERT ARG INTO SIXBIT
****
2)59	;**;[42] Replace @POP2L+2L	DZN	12-Oct-78
2)	>;END IFE TOPS20
2)60	;GETSBX - ROUTINE TO CONVERT ARG INTO SIXBIT
**************
1)60	IFE FTENEX,<
1)		MOVE	T2,[-2,,.GTUPM]	;NEED TO FIND HI-SEG ORIGIN
****
2)61	;**;[42] Replace @GTCUR2+7L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		MOVE	T2,[-2,,.GTUPM]	;NEED TO FIND HI-SEG ORIGIN
 
 
**************
1)63	IFE FTENEX,<
1)	.ERDOE:	PUSHJ	P,FATAL
****
2)64	;**;[42] Replace @.ERDOE-1L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)	.ERDOE:	PUSHJ	P,FATAL
**************
1)63	>;END IFE FTENEX
1)64	.ERAOC:	PUSHJ	P,FATAL
****
2)64	;**;[42] Replace @.ERCNA+3L	DZN	12-Oct-78
2)	>;END IFE TOPS20
2)65	.ERAOC:	PUSHJ	P,FATAL
**************
1)64	IFE FTENEX,<
1)		PUSHJ	P,%STS
1)	>
1)	IFN FTENEX,<
1)		PUSHJ	P,JSYSER
****
2)65	;**;[42] Replace @.ERIST+2L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		PUSHJ	P,%STS
2)	>
2)	IFN TOPS20,<
2)		PUSHJ	P,JSYSER
**************
1)65	IFN FTENEX,<
Digital Equipment Corporation       28-AUG-79    Page  25
PCO Log Report


1)	.EROPP:	PUSHJ	P,FATAL
****
2)66	;**;[42] Replace @.EROPP-1L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)	.EROPP:	PUSHJ	P,FATAL
**************
1)66	IFE FTENEX,<
1)		SEGMENT	LOW
****
2)67	;**;[42] Replace @%STS-2L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		SEGMENT	LOW
**************
1)66	IFE FTENEX,<
1)		OUTCHR	T0
1)	>
1)	IFN FTENEX,<
1)		PUSH	P,T1
1)		HRRO	T1,T0
1)	;**;[41] Replace @PRNT0+11L	DZN	5-Oct-78
1)		PBOUT%			;[41]
****
2)67	;**;[42] Replace @PRNT0+5L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		OUTCHR	T0
2)	>
2)	IFN TOPS20,<
 
 
2)		PUSH	P,T1
2)		MOVE	T1,T0		;[42]
2)		PBOUT%			;[41]
**************
1)67	IFN FTENEX,<
1)	JSYSER:	HRROI	1,[ASCIZ	/
1)		/]
1)	;**;[41] Replace @JSYSER+2L	DZN	5-Oct-78
1)		PSOUT%			;[41]
1)		HRROI	1,INBFR		;WHERE TO STORE STRING
1)		HRLOI	2,400000	;THIS FORK, LAST ERROR
1)		SETZ	3,		;ANY LENGTH
1)	;**;[41] Replace @JSYSER+6L	DZN	5-Oct-78
1)		ERSTR%			;[41]
****
2)68	;**;[42] Replace @PRNFRS+4L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)	JSYSER:	HRROI	T1,[ASCIZ	/
2)		/]			;[42]
2)		PSOUT%			;[41]
2)		HRROI	T1,INBFR	;[42] WHERE TO STORE STRING
2)		HRLOI	T2,.FHSLF	;[42] THIS FORK, LAST ERROR
Digital Equipment Corporation       28-AUG-79    Page  26
PCO Log Report


2)		SETZ	T3,		;[42] ANY LENGTH
2)		ERSTR%			;[41]
**************
1)67		HRROI	1,INBFR
1)	;**;[41] Replace @JSYSER+10L	DZN	5-Oct-78
1)		PSOUT%			;[41] GIVE IT TO THE USER
****
2)68	;**;[42] Replace @JSYSER+9L	DZN	13-Oct-78
2)		HRROI	T1,INBFR	;[42]
2)		PSOUT%			;[41] GIVE IT TO THE USER
**************
1)68	IFE FTENEX,<
1)	PRNPPN:	MOVEI	T1,"["
****
2)69	;**;[42] Replace @PRNPPN-1L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)	PRNPPN:	MOVEI	T1,"["
**************
1)68	> ;END IFE FTENEX
1)	FATAL:	TYPE	(<
****
2)69	;**;[42] Replace @PRNPT2+4L	DZN	12-Oct-78
2)	> ;END IFE TOPS20
2)	FATAL:	TYPE	(<
**************
1)69	IFE FTENEX,<
1)		MOVSI	T1,'LOG'	;SET DEFAULT EXT
****
2)70	;**;[42] Replace @LOGOV.+3L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		MOVSI	T1,'LOG'	;SET DEFAULT EXT
**************
1)70	>;END IFE FTENEX
1)71	IFN FTENEX,<
 
 
1)		DMOVEM	2,TEMP2
1)		MOVEI	T1,[ASCIZ /LOG/]
1)		HRRM	T1,DEFTBL+5	;SET DEFAULT
1)		MOVSI	T1,(1B0)	;OUTPUT USE
1)		MOVEM	T1,DEFTBL
1)		MOVE	2,@L		;GET ADDRESS
1)		MOVE	T1,(2)		;GET FIRST WORD
1)		ANDCMI	T1,377		;CLEAR JUNK
****
2)71	;**;[42] Replace @$ENTER+4L	DZN	12-Oct-78
2)	>;END IFE TOPS20
2)72	IFN TOPS20,<
2)		DMOVEM	T2,TEMP2	;[42] SAVE JSYS ACS
2)		HRROI	T1,[ASCIZ /LOG/];[42]
2)		MOVEM	T1,DEFTBL+5	;[42] SET DEFAULT
Digital Equipment Corporation       28-AUG-79    Page  27
PCO Log Report


2)		MOVX	T1,OF%WR	;[42] OUTPUT USE
2)		MOVEM	T1,DEFTBL
2)		HRROI	T2,@(L)		;[42] GET ADDRESS
2)		MOVE	T1,(T2)		;[42] GET FIRST WORD
2)		ANDCMI	T1,377		;CLEAR JUNK
**************
1)71		HRLI	2,(POINT 7,)
1)		MOVEI	1,DEFTBL
1)	;**;[41] Replace @$ENTER+18L	DZN	5-Oct-78
1)		GTJFN%			;[41]
1)		  JRST	.ERGJF
1)		HRRZM	1,LOGJFN	;SAVE JFN
1)		MOVE	2,[7B5+1B20]	;ASCII MODE
1)	;**;[41] Replace @$ENTER+22L	DZN	5-Oct-78
1)		OPENF%			;[41]
1)		  JRST	.EROPF
1)		DMOVE	2,TEMP2
1)		PJRST	POPL		;RESTORE L AND RETURN
1)	>;END IFN FTENEX
1)	LOGTTY:	SETOM	.OVRLOG		;INDICATE WE WANT LOG FILE ON TT
	Y
****
2)72	;**;[42] Replace @$ENTER+19L	DZN	13-Oct-78
2)		MOVEI	T1,DEFTBL	;[42]
2)		GTJFN%			;[41]
2)		  JRST	.ERGJF
2)		HRRZM	T1,LOGJFN	;[42] SAVE JFN
2)		MOVX	T2,<<FLD 7,OF%BSZ>!OF%WR> ;[42] 7-BIT BYTES FOR
	WRITE
2)		OPENF%			;[41]
2)		  JRST	.EROPF
2)		DMOVE	T2,TEMP2	;[42]
2)		PJRST	POPL		;RESTORE L AND RETURN
2)	>;END IFN TOPS20
2)	LOGTTY:	SETOM	.OVRLOG		;INDICATE WE WANT LOG FILE ON TT
	Y
**************
1)72	IFE FTENEX,<
1)		SEGMENT	LOW
****
2)73	;**;[42] Replace @CLSLOG+2L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		SEGMENT	LOW
**************
 
 
1)72	>;END IFE FTENEX
1)	IFN FTENEX,<
1)		MOVE	1,LOGJFN
1)	;**;[41] Replace @$CLOSE+24L	DZN	5-Oct-78
1)		CLOSF%			;[41]
Digital Equipment Corporation       28-AUG-79    Page  28
PCO Log Report


****
2)73	;**;[42] Replace @$CLOSE+21L	DZN	12-Oct-78
2)	>;END IFE TOPS20
2)	IFN TOPS20,<
2)		MOVE	T1,LOGJFN	;[42]
2)		CLOSF%			;[41]
**************
1)72	IFE FTENEX,<
1)	OBLOCK:	EXP	1		;MODE
****
2)73	;**;[42] Replace @OBLOCK-1L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)	OBLOCK:	EXP	1		;MODE
**************
1)72	IFN FTENEX,<
1)	LOGJFN:	0			;HOLD JFN OF LOG FILE
****
2)73	;**;[42] Replace @OBUF+2L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)	LOGJFN:	0			;HOLD JFN OF LOG FILE
**************
1)74	IFE FTENEX,<
1)		HRRZ	T1,@(P)		;GET ADDRESS OF MESSAGE
****
2)75	;**;[42] Replace @LOGTST+2L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		HRRZ	T1,@(P)		;GET ADDRESS OF MESSAGE
**************
1)74	IFN FTENEX,<
1)		HRRO	1,@(P)		;GET ADDRESS OF MESSAGE
1)	;**;[41] Replace @LOGTST+8L	DZN	5-Oct-78
1)		PSOUT%			;[41] OUTPUT IT
****
2)75	;**;[42] Replace @LOGTST+6L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)		HRRO	T1,@(P)		;[42] GET ADDRESS OF MESSAGE
2)		PSOUT%			;[41] OUTPUT IT
**************
1)74	IFE FTENEX,<
1)	LOGIT:	MOVE	T1,@0(P)	;ADDRESS OF MESSAGE
****
2)75	;**;[42] Replace @LOGTST+13L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)	LOGIT:	MOVE	T1,@0(P)	;ADDRESS OF MESSAGE
**************
1)74	>;END IFE FTENEX
1)75	IFN FTENEX,<
1)	LOGIT:	DMOVEM	2,TEMP2
1)		MOVE	1,LOGJFN
1)		MOVE	2,@0(P)		;ADDRESS OF MESSAGE
1)		HRLI	2,(POINT 7,)
Digital Equipment Corporation       28-AUG-79    Page  29
PCO Log Report


 
 
1)		SETZ	3,		;TERMINATE ON ZERO BYTE
1)	;**;[41] Replace @LOGIT+5L	DZN	5-Oct-78
1)		SOUT%			;[41]
1)		  ERJMP	.EROEL
1)		DMOVE	2,TEMP2
1)		POPJ	P,
1)	LOGCHR:	DMOVEM	2,TEMP2
1)		MOVE	1,LOGJFN
1)		MOVE	2,T0		;GET CHAR
1)	;**;[41] Replace @LOGCHR+3L	DZN	5-Oct-78
1)		BOUT%			;[41]
1)		  ERJMP	.EROEL
1)		DMOVE	2,TEMP2
1)		POPJ	P,
****
2)75	;**;[42] Replace @$STS+4L	DZN	12-Oct-78
2)	>;END IFE TOPS20
2)76	IFN TOPS20,<
2)	LOGIT:	DMOVEM	T2,TEMP2	;[42] SAVE JSYS ACS
2)		MOVE	T1,LOGJFN	;[42]
2)		HRRO	T2,@0(P)	;[42] ADDRESS OF MESSAGE
2)		SETZ	T3,		;[42] TERMINATE ON ZERO BYTE
2)		SOUT%			;[41]
2)		  ERJMP	.EROEL
2)		DMOVE	T2,TEMP2	;[42] RESTORE JSYS ACS
2)		POPJ	P,
2)	LOGCHR:	DMOVEM	T2,TEMP2	;[42] SAVE JSYS ACS
2)		MOVE	T1,LOGJFN	;[42]
2)		MOVE	T2,T0		;[42] GET CHAR
2)		BOUT%			;[41]
2)		  ERJMP	.EROEL
2)		DMOVE	T2,TEMP2	;[42] RESTORE JSYS ACS
2)		POPJ	P,
**************
1)76	IFE FTENEX,<
1)		SETZ	T0,		;THIS JOB
****
2)77	;**;[42] Replace @TIME+1L	DZN	12-Oct-78
2)	IFE TOPS20,<
2)		SETZ	T0,		;THIS JOB
**************
1)76	IFN FTENEX,<
1)		MOVNI	1,5		;WHOLE JOB
1)	;**;[41] Replace @TIME+7L	DZN	5-Oct-78
1)		RUNTM%			;[41]
1)		MOVE	T0,1
1)		IMULI	T0,^D1000	;* MILISECS
1)		IDIVI	T0,(2)		;AFTER SECONDS DIVIDER IS APPLIE
	D
Digital Equipment Corporation       28-AUG-79    Page  30
PCO Log Report


1)	>
****
2)77	;**;[42] Replace @TIME+5L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)		MOVX	T1,.FHJOB	;[42] WHOLE JOB
2)		RUNTM%			;[41]
2)		MOVE	T0,T1		;[42]
2)		IMULI	T0,^D1000	;* MILISECS
 
 
2)		IDIVI	T0,(T2)		;[42] AFTER SECONDS DIVIDER IS A
	PPLIED
2)	>
**************
1)77		MOVEM	T0,.JBREL##	;RESET .JBREL FOR TENEX
1)		MOVEM	T1,.JBSA##	;BACK AS IT WAS
1)	IFN FTENEX,<
1)		MOVEI	1,.FHSLF	;ONLY DO CORE UUO IF PAT IS AROU
	ND
1)	;**;[41] Replace @RESTART+18L	DZN	5-Oct-78
1)		GCVEC%			;[41] SO WON'T DRAG IT IN IF NOT
1)		MOVE	T1,.JBSA##	;RESTORE AC 1 FOR DISPATCH
1)		SKIPE	2		;[41] GCVEC% RETURNS 2=0 IF PAT
	NOT AROUND
1)	>;END IFN FTENEX
1)		CORE	T0,		;RESET OTHERWISE FREE CORE NOT A
	VAILABLE
****
2)78	;**;[42] Replace @RESTART+14L	DZN	12-Oct-78
2)		MOVEM	T0,.JBREL##	;[42] RESET .JBREL FOR TOPS20
2)		MOVEM	T1,.JBSA##	;BACK AS IT WAS
2)	IFN TOPS20,<
2)		MOVX	T1,.FHSLF	;[42] ONLY DO CORE UUO IF PAT IS
	 AROUND
2)		GCVEC%			;[41] SO WON'T DRAG IT IN IF NOT
2)		MOVE	T1,.JBSA##	;RESTORE AC 1 FOR DISPATCH
2)		SKIPE	T2		;[42] GCVEC% RETURNS T2=0 IF PAT
	 NOT AROUND
2)	>;END IFN TOPS20
2)		CORE	T0,		;RESET OTHERWISE FREE CORE NOT A
	VAILABLE
**************
1)80	IFN FTENEX,<
1)	JFN:	BLOCK	1		;JFN OF THE OVERLAY FILE
****
2)81	;**;[42] Replace @WPTR+2L	DZN	12-Oct-78
2)	IFN TOPS20,<
2)	JFN:	BLOCK	1		;JFN OF THE OVERLAY FILE
**************

[End PCO Write-up]
Digital Equipment Corporation       28-AUG-79    Page  31
PCO Log Report



                   *********************
                   *PCO #:20-OVRLAY-005*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4(37) TESTED IN 4A(42)

[Date Entered]          02-NOV-78

[Programmer]            D. NEFF

[Routines]              REMOV.    RUNOV.    CP2A      DELPTH

[Key Words]             NO ?OVLARC

[Source Before Edit]    %4A  (000042)

[Source After Edit]     %4A  (000043)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:20-NONE
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page  32
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
Various errors can occur when attempting to delete  a  link  in  an
overlaid program.  In particular, the following cases fail:
 
     1.  Calling REMOVL with a superior link name causes that  link
         to  be  deleted without an error message.  Deleting a link
         implies deleting all of its inferior links (including  the
         caller of REMOVL in this case), which is a user error, but
         which REMOVL does not do.
 
     2.  Calling RUNOVL with the name of a link that would  overlay
         the  calling  link  should succeed (since no return to the
         caller is ever made), but does not.  This is  contrary  to
         the LINK documentation.
 
 

                        **********


[DIAGNOSIS]
 
 
     1.  There are two reasons for  the  REMOVL  problems.   First,
         REMOVL  is  not  deleting  all of a link's inferior links,
         along with the requested link itself.  Second, REMOVL only
         gives  the  OVLARC  message  if  the  caller is explicitly
         requesting to delete itself.
 
     2.  The same (incomplete) checks are  made  in  RUNOVL  as  in
         REMOVL.   This  is  incorrect,  since  RUNOVL should allow
         overlaying of the calling link.
 
 

                        **********


[CURE]
 
To solve the above problems, several changes were made  that  could
Digital Equipment Corporation       28-AUG-79    Page  33
PCO Log Report


potentially  affect  user  programs.   First, REMOVL was changed to
take exactly a single argument (as documented) rather than  a  list
of arguments.  The specified link and all of its inferiors are then
removed.  If this results in the calling link being  removed,  then
the  OVLARC  message  is printed.  Note that since REMOVL deletes a
link and all of its inferiors, it is not necessary to have it  take
multiple  arguments  (simply  specify  the  most superior link), so
exactly one argument is now required.
 
Second, RUNOVL has been made to allow deletion of the calling link,
and  in  fact  superior  links (back to the level of the link to be
run), since the link to be run is not allowed to return.
 
Digital Equipment Corporation       28-AUG-79    Page  34
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[30,4507]  	created: 1758 01-Nov-1978
File 2)	LINK:OVRLAY.MAC[10,645063]	created: 1951 01-Nov-1978
 
1)2	DECEVR==42		;DEC EDIT VERSION
1)	ENTRY	.OVRLA,.OVRLU
****
2)2	DECEVR==43		;DEC EDIT VERSION
2)	ENTRY	.OVRLA,.OVRLU
**************
1)7	SUBTTL	DEFINITIONS
****
2)6	;43	DZN	13-Oct-78
2)	;	Fix link deletion problems. Make REMOV. take only a sing
	le argument,
2)	;	and delete that link and all of its inferiors (otherwise
	 lost links
2)	;	result). Allow RUNOV. to delete the calling link as docu
	mented. Also
2)	;	remove OVLAOC message (use OVLARC instead).
2)7	SUBTTL	DEFINITIONS
**************
1)17	CP2A:	MOVEM	P1,THSLNK	;SAVE FOR LATER
1)		CAMN	P1,CURLNK	;SUICIDE NOT LEGAL
1)		JRST	.ERAOC		;ATTEMPT TO OVERLAY CALLER
1)		HRRZ	P1,CS.FPT(P1)	;GET NEXT (ALWAYS LINKED TO LAST
	)
1)		PUSHJ	P,GBLNK		;GIVE IT BACK TO OTS
1)		JUMPN	P1,CP2A		;GET RID OF IT
1)		POP	P,P1
****
2)17	;**;[43] Replace @CP2A	DZN	13-Oct-78
2)		PUSHJ	P,DELPTH	;[43] DELETE ALL OLD LINKS
2)		POP	P,P1
**************
1)18	;HERE TO CHECK FOR OTHER RELOCATION
****
2)17	;**;[43] Insert after CP3+19L (bottom of page)	DZN	13-Oct-7
	8
2)	;ROUTINE TO DELETE A LINK. THIS IMPLIES DELETING ALL OF ITS INFE
	RIORS (THE
2)	;PATH) TOO. IF WE TRY TO DELETE THE CURRENT LINK (THE ONE THAT C
	ALLED US),
2)	;GIVE ?OVLARC.
2)	;
2)	;CALL:
2)	;	P1/	CONTROL BLOCK ADDR OF LINK TO START AT
2)	;DESTROYS P1.
2)	DELPTH:	MOVEM	P1,THSLNK	;[43] SET UP LINK FOR GBLNK
2)		SKIPN	OKOVLC		;[43] OK TO DELETE THE CALLER'S
	LINK
Digital Equipment Corporation       28-AUG-79    Page  35
PCO Log Report


2)		CAME	P1,CURLNK	;[43]   OR NOT THE CALLER'S LINK
	?
2)		SKIPA			;[43] YES--DELETE THIS LINK
2)		JRST	.ERARC		;[43] NO--ATTEMPT TO REMOVE CALL
	ER
2)		HRRZ	P1,CS.FPT(P1)	;[43] ADVANCE TO NEXT WHILE WE C
	AN
2)		PUSHJ	P,GBLNK		;[43] GIVE BACK THE LINK
2)		JUMPN	P1,DELPTH	;[43] FREE MORE IF ANY
2)		POPJ	P,		;[43] ALL DONE
2)18	;HERE TO CHECK FOR OTHER RELOCATION
**************
1)51		ENTRY	REMOV.
1)	;CALLED BY
1)	;	MOVEI	16,1+[-N,,0
1)	;		[LINK NAME]
1)	;		...
1)	;		[LINK NAME]]
1)	;	PUSHJ	P,REMOVL
1)		'REMOVL'
 
 
1)	REMOV.:	SKIPN	-1(L)		;CHECK FOR NO ARGS
1)		POPJ	P,		;JUST IGNORE
1)		PUSH	P,L		;SAVE L
1)		HLL	L,-1(L)		;FORM AOBJN WORD
1)	REMOV1:	PUSHJ	P,GETCUR	;GET CURRENT LINK SETUP
1)		PUSHJ	P,GETNUM	;GET LINK # TO REMOVE
1)		JFCL	REMOV.-1	;INCASE OF ILL ARG TYPE
1)		CAMN	T1,CURNUM	;DON'T ALLOW SUICIDE
1)		PUSHJ	P,.ERARC
1)		PUSHJ	P,INCORE	;GET ADDRESS
1)		  JRST	REMOV2		;NOT INCORE
1)		MOVEM	T1,THSLNK	;STORE POINTER TO IT
1)		PUSHJ	P,GBLNK		;RETURN IT
1)	REMOV2:	AOBJN	L,REMOV1	;LOOP FOR ALL ARGS
1)	;**;[42] Replace @REMOV2+1L	DZN	12-Oct-78
1)	IFE TOPS20,<
1)		MOVEI	L,1+[-3,,0		;ARG LIST
****
2)51	;**;[43] Revamp REMOV. subroutine	DZN	13-Oct-78
2)	SUBTTL	MANUAL CALL SUBROUTINES -- REMOV.
2)	;REMOV. DELETES THE REQUESTED LINK AND ALL OF ITS INFERIORS, THE
	N ATTEMPTS
2)	;TO SHRINK MEMORY.
2)	;
2)	;CALL:
2)	;	MOVEI	16,1+[1,,0
2)	;		      Z TYPE,[LINK]
2)	;	PUSHJ	17,REMOV.
2)	;
Digital Equipment Corporation       28-AUG-79    Page  36
PCO Log Report


2)	;DEPENDING ON TYPE (SEE GETNUM) LINK CAN BE A LINK NUMBER OR ASC
	II NAME.
2)		ENTRY	REMOV.
2)		'REMOVL'
2)	REMOV.:	PUSH	P,L		;[43] SAVE L
2)		PUSHJ	P,GETCUR	;[43] GET CURRENT LINK SETUP
2)		PUSHJ	P,GETNUM	;GET LINK # TO REMOVE
2)		JFCL	REMOV.-1	;IN CASE OF ILL ARG TYPE
2)		PUSHJ	P,INCORE	;GET ADDRESS
2)		  JRST	REMOV1		;[43] NOT IN CORE--NOTHING TO DO
2)		MOVEI	P1,(T1)		;[43] GO DO THE WORK
2)		PUSHJ	P,DELPTH	;[43]   ..
2)		MOVEI	L,1+[-3,,0		;ARG LIST
**************
1)51	>
1)		PJRST	POPL		;RESTORE AND RETURN
1)52	;RUNOVL - GETS LINK INTO CORE AND JUMPS TO ITS START ADDRESS
1)		ENTRY	RUNOV.
****
2)51	REMOV1:	PJRST	POPL		;[43] RESTORE AND RETURN
2)52	;RUNOV. - GETS LINK INTO CORE AND JUMPS TO ITS START ADDRESS
2)		ENTRY	RUNOV.
**************
1)52			PUSHJ	P,CP0		;CHECK PATH
1)			POP	P,T0		;RESTORE LINK #
****
2)52	;**;[43] Insert after RUNOV.+7L	DZN	13-Oct-78
2)			SETOM	OKOVLC		;[43] ALLOW OVERLAY OF C
	ALLER
2)			PUSHJ	P,CP0		;CHECK PATH
 
 
2)			SETZM	OKOVLC		;[43] DISALLOW OVERLAY O
	F CALLER
2)			POP	P,T0		;RESTORE LINK #
**************
1)65	.ERAOC:	PUSHJ	P,FATAL
1)		TYPE	(<AOC	Attempt to overlay caller from>)
1)		PUSHJ	P,PRNLNK
1)		STOP
1)	.ERARC:	PUSHJ	P,FATAL
****
2)65	;**;[43] Delete @.ERAOC	DZN	13-Oct-78
2)	.ERARC:	PUSHJ	P,FATAL
**************
1)79	AOC	Attempt to overlay caller from link number [number]
1)	ARC	Attempt to remove caller from link number [number]
****
2)79	ARC	Attempt to remove caller from link number [number]
**************
1)81	IDXBFR:	BLOCK	200		;200 WORD WINDOW OF LINK POINTER
Digital Equipment Corporation       28-AUG-79    Page  37
PCO Log Report


	S
****
2)81	;**;[43] Insert after TEMP2+1L	DZN	13-Oct-78
2)	OKOVLC:	BLOCK	1		;[43] -1 = OK TO OVERLAY CALLER
	(RUNOV.)
2)	IDXBFR:	BLOCK	200		;200 WORD WINDOW OF LINK POINTER
	S
**************

[End PCO Write-up]
Digital Equipment Corporation       28-AUG-79    Page  38
PCO Log Report



                   *********************
                   *PCO #:20-OVRLAY-006*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4(37) TESTED IN 4A(43)

[Date Entered]          07-NOV-78

[Programmer]            D. NEFF

[Routines]              GETNUM    .ERIAT

[Key Words]             ARG  TYPES

[Source Before Edit]    %4A  (000043)

[Source After Edit]     %4A  (000044)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:20-NONE
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page  39
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
Various  problems  with  argument  checking  in  the  manual   call
subroutines (e.g., GETOV., REMOV.):
 
     1.  Not  all  of  the  defined  single  and  double  precision
         argument   types   are   accepted   by   the  manual  call
         subroutines.  One example of this is that CALL  GETOVL("1)
         fails in FORTRAN, since the argument is marked as octal by
         FORTRAN and octal types are not accepted  by  the  overlay
         handler.
 
     2.  The OVLIAT message (illegal argument type) prints junk for
         the routine called, and the wrong PC of the caller.
 
 

                        **********


[DIAGNOSIS]
 
 
     1.  The overlay handler was designed before  the  more  exotic
         types were added, and was never told about them.
 
     2.  Edit 10 was supposed to fix this problem, but the  reasons
         for  its failure are lost in history.  Currently, the code
         is using the wrong stack offset to find the  call  to  the
         manual  routine, causing it to look in the wrong place for
         the name and the calling PC.
 
 

                        **********


[CURE]
 
 
     1.  Allow all currently defined single  and  double  precision
         argument types to be valid for the overlay handler.
Digital Equipment Corporation       28-AUG-79    Page  40
PCO Log Report


 
     2.  Make the overlay handler's  type  checking  error  routine
         look  in  the right place for the routine name and calling
         PC.
 
 
Digital Equipment Corporation       28-AUG-79    Page  41
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[30,4507]  	created: 1951 01-Nov-1978
File 2)	LINK:OVRLAY.MAC[10,645063]	created: 1053 03-Nov-1978
 
1)2	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	13-Oct-78
1)	CUSTVR==0		;CUSTOMER VERSION
****
2)2	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	15-Oct-78
2)	CUSTVR==0		;CUSTOMER VERSION
**************
1)2	DECEVR==43		;DEC EDIT VERSION
1)	ENTRY	.OVRLA,.OVRLU
****
2)2	DECEVR==44		;DEC EDIT VERSION
2)	ENTRY	.OVRLA,.OVRLU
**************
1)7	SUBTTL	DEFINITIONS
****
2)6	;44	DZN	15-Oct-78
2)	;	Fix argument checking for calls to manual subroutines. T
	his involves
2)	;	allowing all double and single precision argument types
	to work,
2)	;	making the OVLIAT message fatal and not type junk, and g
	etting
2)	;	the correct user PC (see edit 10).
2)7	SUBTTL	DEFINITIONS
**************
1)49	INIOV.:
1)	;**;[42] Replace @INIOV.+1L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)49	;**;[44] Replace @INIOV.	DZN	15-Oct-78
2)	INIOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
2)		MOVEM	T1,USERPC	;[44]   ..
2)	IFE TOPS20,<
**************
1)49		PUSHJ	P,OVINI		;OPEN OVERLAY FILE
1)		POPJ	P,		;RETURN
1)	>
****
2)49	;**;[44] Delete @INIOV.+12L	DZN	15-Oct-78
2)	>
**************
1)49		PUSHJ	P,OVINI		;OPEN OVERLAY FILE
1)		POPJ	P,		;RETURN
1)	>
1)50		ENTRY	GETOV.
****
2)49	;**;[44] Move angle-bracket up to INIOV.+19L	DZN	15-Oct-7
	8
Digital Equipment Corporation       28-AUG-79    Page  42
PCO Log Report


2)	>
2)		PUSHJ	P,OVINI		;OPEN OVERLAY FILE
2)		POPJ	P,		;RETURN
2)50		ENTRY	GETOV.
**************
1)50	GETOV.:	SKIPN	-1(L)		;CHECK FOR NO ARGS
1)		POPJ	P,		;JUST IGNORE
****
2)50	;**;[44] Insert @GETOV.	DZN	15-Oct-78
2)	GETOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
2)		MOVEM	T1,USERPC	;[44]   ..
2)		SKIPN	-1(L)		;[44] CHECK FOR NO ARGS
2)		POPJ	P,		;JUST IGNORE
 
 
**************
1)51	REMOV.:	PUSH	P,L		;[43] SAVE L
1)		PUSHJ	P,GETCUR	;[43] GET CURRENT LINK SETUP
****
2)51	;**;[44] Insert @REMOV.	DZN	15-Oct-78
2)	REMOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
2)		MOVEM	T1,USERPC	;[44]   ..
2)		PUSH	P,L		;[44] SAVE L
2)		PUSHJ	P,GETCUR	;[43] GET CURRENT LINK SETUP
**************
1)52	RUNOV.:	PUSH	P,L		;SAVE L SO STACK IS CONSTANT
1)		PUSHJ	P,GETCUR	;POINT TO CALLER
1)		POP	P,L		;RESTORE STACK
1)		PUSHJ	P,GETNUM	;CONVERT ARG TO A LINK NUMBER
****
2)52	;**;[44] Replace @RUNOV.	DZN	15-Oct-78
2)	RUNOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
2)		MOVEM	T1,USERPC	;[44]   ..
2)		PUSHJ	P,GETCUR	;POINT TO CALLER
2)		PUSHJ	P,GETNUM	;CONVERT ARG TO A LINK NUMBER
**************
1)53	SAVOV.:
1)		PUSHJ	P,.ERNYA
1)		ENTRY	CLROV.
****
2)53	;**;[44] Insert @SAVOV.	DZN	15-Oct-78
2)	SAVOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
2)		MOVEM	T1,USERPC	;[44]   ..
2)		PUSHJ	P,.ERNYA	;[44]
2)		ENTRY	CLROV.
**************
1)53	CLROV.:
1)		PUSHJ	P,.ERNYA
1)	.ERNYA:	PUSHJ	P,WARNIN
****
2)53	;**;[44] Insert @CLROV.	DZN	15-Oct-78
Digital Equipment Corporation       28-AUG-79    Page  43
PCO Log Report


2)	CLROV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
2)		MOVEM	T1,USERPC	;[44]   ..
2)		PUSHJ	P,.ERNYA	;[44]
2)	.ERNYA:	PUSHJ	P,WARNIN
**************
1)54	TMPOV.:	PUSHJ	P,.ERNYA
1)		PUSH	P,L		;SAVE L
****
2)54	;**;[44] Insert @TMPOV.	DZN	15-Oct-78
2)	TMPOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
2)		MOVEM	T1,USERPC	;[44]   ..
2)		PUSHJ	P,.ERNYA	;[44]
2)		PUSH	P,L		;SAVE L
**************
1)55		A.SPR,TY.ILL
1)		    5,TY.ILL
1)		A.OCT,TY.ILL
1)		A.LBL,TY.ILL
****
2)55	;**;[44] Replace @TYPTBL+4L	DZN	15-Oct-78
 
 
2)		A.SPR,TY.SP		;[44]
2)		    5,TY.ILL
2)		A.OCT,TY.SP		;[44]
2)		A.LBL,TY.ILL
**************
1)55		A.DO ,TY.ILL
1)		   13,TY.ILL
****
2)55	;**;[44] Replace @TYPTBL+10L	DZN	15-Oct-78
2)		A.DO ,TY.DP		;[44]
2)		   13,TY.ILL
**************
1)55	TY.ILL:	PUSHJ	P,WARNIN
1)		  POPJ	P,
1)	.ERIAT:	TYPE	(<IAT	Illegal argument type on call to >)
1)		POP	P,T1		;RETURN PC
1)		MOVE	T1,(T1)		;GET NAME OF ROUTINE
1)		PUSHJ	P,PRNSBX	;PRINT IT
1)		TYPE	(< from >)
1)		MOVE	T1,(P)		;GET PC
1)		MOVEI	T0,-1(T1)	;BACKUP AND LEFT JUSTIFY
1)		PUSHJ	P,PRNOCT
1)		PJRST	CRLF
1)56	TY.DP0:	MOVE	T0,T1		;PUT LOW ORDER WORD INTO HIGH
****
2)55	;**;[44] Revamp @TY.ILL	DZN	15-Oct-78
2)	TY.ILL:	PUSHJ	P,FATAL	;[44]
2)	.ERIAT:	TYPE	(<IAT	Illegal argument type on call to >)
2)		MOVE	T1,(P)		;[44] GET ROUTINE NAME POINTED T
Digital Equipment Corporation       28-AUG-79    Page  44
PCO Log Report


	O
2)		MOVE	T1,@(T1)	;[44]   BY THE JFCL
2)		PUSHJ	P,PRNSBX	;PRINT IT
2)		TYPE	(< from >)
2)		MOVE	T0,USERPC	;[44] GET USER'S PC FOR MESSAGE
2)		SUBI	T0,1		;[44] MAKE IT PC OF CALL
2)		PUSHJ	P,PRNOCT
2)		PUSHJ	P,CRLF		;[44] END THE LINE
2)		STOP			;[44] DIE
2)56	TY.DP0:	MOVE	T0,T1		;PUT LOW ORDER WORD INTO HIGH
**************
1)61		HRRZ	T4,-4(P)	;GET PC OF ORIGINAL CALL
1)		SKIPN	T1,FSTLNK	;GET START OF OVERLAY LIST
****
2)61	;**;[44] Replace @GETCUR+1L	DZN	15-Oct-78
2)		MOVE	T4,USERPC	;[44] GET USER'S RETURN PC
2)		SKIPN	T1,FSTLNK	;GET START OF OVERLAY LIST
**************
1)81	;**;[43] Insert after TEMP2+1L	DZN	13-Oct-78
****
2)81	;**;[44] Insert after TEMP2+1L	DZN	15-Oct-78
2)	USERPC:	BLOCK	1		;[44] USER RETURN PC FOR MANUAL
	CALLS
2)	;**;[43] Insert after TEMP2+1L	DZN	13-Oct-78
**************

[End PCO Write-up]
Digital Equipment Corporation       28-AUG-79    Page  45
PCO Log Report



                   *********************
                   *PCO #:20-OVRLAY-007*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4(37) TESTED IN 4A(44)

[Date Entered]          07-NOV-78

[Programmer]            D. NEFF

[Routines]              RUNOV.

[Key Words]             RUNOV. PDL

[Source Before Edit]    %4A  (000044)

[Source After Edit]     %4A  (000045)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:20-NONE
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page  46
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
Push-down overflows  occur  when  running  (via  calls  to  RUNOV.)
overlays many times.
 

                        **********


[DIAGNOSIS]
 
Each time RUNOV. is called to run an overlay, it leaves a  word  on
the  stack.  This adds up and can result in a push-down overflow if
enough calls to RUNOV. are made.
 

                        **********


[CURE]
 
See that the overlay handler leaves nothing of its own on the stack
when  running  an  overlay.  This can be done because overlays that
are run with RUNOV. are not allowed to return.
 
Digital Equipment Corporation       28-AUG-79    Page  47
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[30,4507]  	created: 1053 03-Nov-1978
File 2)	LINK:OVRLAY.MAC[10,645063]	created: 1549 07-Nov-1978
 
1)2	DECEVR==44		;DEC EDIT VERSION
1)	ENTRY	.OVRLA,.OVRLU
****
2)2	DECEVR==45		;DEC EDIT VERSION
2)	ENTRY	.OVRLA,.OVRLU
**************
1)7	SUBTTL	DEFINITIONS
****
2)6	;45	DZN	15-Oct-78
2)	;	Fix PDL overflow if many calls to RUNOV. RUNOV. now unbi
	nds back
2)	;	through the return PC on the stack, allowing replacement
	 of links
2)	;	at the same level to succeed without the PDL overflow.
2)7	SUBTTL	DEFINITIONS
**************
1)52		JUMPN	T0,@T0		;GOTO IT
1)		MOVEM	T1,THSLNK	;SO WE CAN ADDRESS LINK
1)	.ERNSA:	PUSHJ	P,FATAL
****
2)52	;**;[45] Replace @RUNOV.+16L	DZN	15-Oct-78
2)		JUMPE	T0,RUNOV1	;[45] SEE IF THERE'S A START ADD
	RESS
2)		POP	P,(P)		;[45] LOSE USER'S RETURN PC
2)		JRST	@T0		;[45]   SINCE LINK WILL NEVER RE
	TURN
2)	RUNOV1:	MOVEM	T1,THSLNK	;[45] SO WE CAN ADDRESS LINK
2)	.ERNSA:	PUSHJ	P,FATAL
**************

[End PCO Write-up]
Digital Equipment Corporation       28-AUG-79    Page  48
PCO Log Report



                   *********************
                   *PCO #:10-OVRLAY-020*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4(37)

[Date Entered]          15-JUN-79

[Programmer]            GILBERT

[Routines]

[Key Words]             SFDS

[Source Before Edit]    %4A  (000045)

[Source After Edit]     %4A  (000046)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:10-NONE
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page  49
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
     The runtime overlay handler  cannot  find  the  overlay
file  when  the  overlaid  program has been run from an SFD.
This problem is worse under  7-series  monitors,  since  the
overlay  handler  can't  even find the overlay file when the
default path is set into an SFD.
 

                        **********


[DIAGNOSIS]
 
     Under monitors before 7-series, the information is  not
available.   However,  new  GETTABs in the 7-series monitors
make it possible to fully support SFDs in OVRLAY.
 

                        **********


[CURE]
 
     If the GETTABs are available, use what they  return  to
find the overlay file.  If not, use FUNCT. as in the past.
 
 
Digital Equipment Corporation       28-AUG-79    Page  50
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[30,4507]  	created: 1647 05-Apr-1979
File 2)	LINK:OVRLAY.MAC[30,3737,T]	created: 1514 15-Jun-1979
 
1)1	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	15-Oct-78
1)	
****
2)1	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	15-Jun-79
2)	
**************
1)1	;COPYRIGHT (C) 1974,  1978 BY
1)	;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1	;COPYRIGHT (C) 1974,  1978, 1979 BY
2)	;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1	DECEVR==45		;DEC EDIT VERSION
1)	
****
2)1	DECEVR==46		;DEC EDIT VERSION
2)	
**************
1)6	SUBTTL	DEFINITIONS
****
2)5	;46	JNG	15-Jun-79
2)	;	Use 7.01 GETTABs if available to find overlay file.
2)	
2)6	SUBTTL	DEFINITIONS
**************
1)40		MOVEI	L,1+[-6,,0		;ARG LIST FOR GET FILE S
	PEC FNCT
1)			A.SPI,[F.IFS]		;FUNCTION #11
****
2)40	;**;[46] Insert @ OVINI+1P4L	JNG	15-Jun-79
2)	
2)	
2)	;NOW TRY TO GET WHERE WE CAME FROM (INCLUDING SFD'S) VIA GETTAB.
2)	;IF UNAVAILABLE (OLD MONITOR), USE INFO FROM FUNCT.
2)	
2)		MOVSI	T1,-<.PTMAX-.PTSFD-1>	;[46] NUMBER OF SFD'S
2)		HRROI	T0,.GTRS0	;[46] GETTAB FOR RUN FROM SFD, T
	HIS JOB
2)	SFDLUP:	PUSH	P,T0		;[46] SAVE OVER GETTAB
2)		GETTAB	T0,		;[46] GET IT
2)		  JRST	NOSFD		;[46] GETTAB FAILED, SEE WHY
2)		MOVEM	T0,LPATH+.PTSFD(T1)	;[46] STORE THIS SFD
2)		POP	P,T0		;[46] RESTORE
2)		ADDI	T0,1		;[46] INCREMENT GETTAB ARG
2)		AOBJN	T1,SFDLUP	;[46] LOOP FOR ALL SFD'S
2)		JRST	GETUFD		;[46] GOT ALL SFDS, NOW FOR UFD
2)	
Digital Equipment Corporation       28-AUG-79    Page  51
PCO Log Report


2)	
2)	;HERE WHEN A GETTAB TO GET AN SFD FAILED.  SEE IF THE MONITOR IS
	 TOO OLD.
2)	
2)	NOSFD:	POP	P,T0		;[46] KEEP STACK IN PHASE
2)		TRNE	T1,-1		;[46] FAIL FIRST TIME?
2)		JRST	GETUFD		;[46] NO, GOT SOME SFDS, USE NEW
	 DATA
2)		JRST	NOT701		;[46] GO USE FUNCT.
2)	
2)41	;HERE IF THE 7.01 GETTABS WORK.  FILL IN THE REST OF THE DATA.
2)	
2)	GETUFD:	SETZM	LPATH+.PTSFD(T1)	;[46] FORCE A ZERO AFTER
	 THE LAST SFD
 
 
2)		HRROI	T1,.GTRDI	;[46] UFD OF PATH WE WERE RUN FR
	OM
2)		GETTAB	T1,		;[46] GET IT
2)		  JRST	NOT701		;[46] CAN'T
2)		SKIPN	T1		;[46] THERE?
2)		JRST	NOT701		;[46] NO, GIVE UP
2)		MOVEM	T1,LPATH+.PTPPN	;[46] STORE UFD TO FINISH PATH B
	LOCK
2)		HRROI	T1,.GTRDV	;[46] GET DEVICE WE WERE RUN FRO
	M
2)		GETTAB	T1,		;[46]  . . .
2)		  JRST	NOT701		;[46] NOT THERE FORGET IT
2)		SKIPN	T1		;[46] AVAILABLE?
2)		JRST	NOT701		;[46] NOPE, DON'T USE THIS INFO
2)		MOVEM	T1,IDEV		;[46] YES, STORE DEVICE
2)		HRROI	T1,.GTRFN	;[46] THE FILE NAME WE CAME FROM
2)		GETTAB	T1,		;[46] GET IT
2)		  JRST	NOT701		;[46] CAN'T, LEAVE WELL ENOUGH A
	LONE
2)		SKIPN	T1		;[46] RETURN ANYTHING?
2)		  JRST	NOT701		;[46] NO, IGNORE IT
2)		MOVEM	T1,LNAME	;[46] OK, STORE IT
2)		MOVEI	T1,LPATH	;[46] NOW POINT LOOKUP BLOCK TO
	PATH BLOCK
2)		MOVEM	T1,LPPN		;[46] STORE IN .RBPPN
2)		JRST	OVINI1		;[46] DONE, PROCEED
2)	
2)	
2)	;HERE IF THE GETTABS DON'T WORK.  USE FUNCT. TO ASK THE OTS THE
2)	;CONTENTS OF THE ACS AT STARTUP.
2)	
2)	NOT701:	MOVEI	L,1+[-6,,0		;[46] ARG LIST FOR GET F
	ILE SPEC FNCT
2)			A.SPI,[F.IFS]		;FUNCTION #11
**************
Digital Equipment Corporation       28-AUG-79    Page  52
PCO Log Report


1)40	IFN TOPS20,<
****
2)41	
2)42	IFN TOPS20,<
**************

[End PCO Write-up]
Digital Equipment Corporation       28-AUG-79    Page  53
PCO Log Report



                   *********************
                   *PCO #:10-OVRLAY-021*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4A(46)+ALL EDITS

[Date Entered]          27-AUG-79

[Programmer]            D. NEFF

[Routines]              ALL

[Key Words]             CLEAN-UP

[Source Before Edit]    %    (000000)

[Source After Edit]     %4A  (000047)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:10-NONE
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page  54
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
This being the last edit before the last field  test  tape,  it  is
time  to update copyright notices, and see that pages are broken at
readable places.
 

                        **********


[DIAGNOSIS]
 
Yes.
 

                        **********


[CURE]
 
Yes.
 
Digital Equipment Corporation       28-AUG-79    Page  55
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[12,4700,WEIGHT]	created: 1514 15-Jun-1979
File 2)	LINK:OVRLAY.MAC[30,4507]       	created: 1034 26-Jul-1979
 
1)1	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	15-Jun-79
1)	
1)	
1)	
1)	;COPYRIGHT (C) 1974,  1978, 1979 BY
1)	;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	25-Jul-79
2)	
2)	
2)	;COPYRIGHT (C) 1974, 1979 BY
2)	;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1	DECEVR==46		;DEC EDIT VERSION
1)	
****
2)1	DECEVR==47		;DEC EDIT VERSION
2)	
**************
1)2	COMMENT \	STANDARD DEC SETTING
****
2)2	
2)	COMMENT \	STANDARD DEC SETTING
**************
1)2	
1)3	SUBTTL	REVISION HISTORY
1)	
****
2)3	SUBTTL	REVISION HISTORY
2)	
2)	
**************
1)6	SUBTTL	DEFINITIONS
1)	
1)	;ACCUMULATORS
1)	;**;[42] Change @T0	DZN	5-Oct-78
1)	T0=0				;[42] T0-T5 MUST BE 0-5 FOR JSYS
	 ARGS
****
2)5	;47	DZN	25-Jul-79
2)	;	Clean up the listing for release.
2)	
2)6	SUBTTL	DEFINITIONS
2)	
2)	
2)	;ACCUMULATORS
2)	T0=0				;[42] T0-T5 MUST BE 0-5 FOR JSYS
Digital Equipment Corporation       28-AUG-79    Page  56
PCO Log Report


	 ARGS
**************
1)7	DEFINE	SEGMENT (N)<
****
2)7	
2)	DEFINE	SEGMENT (N)<
**************
1)7	
1)8	DEFINE	TYPE (MESSAGE)<
1)	;;**;[42] Change in TYPE macro	DZN	5-Oct-78
1)	 IFE TOPS20,<
 
 
****
2)8	DEFINE	TYPE (MESSAGE)<
2)	 IFE TOPS20,<
**************
1)8	;;**;[42] Change in TYPEC macro	DZN	5-Oct-78
1)	 IFE TOPS20,<
****
2)8	 IFE TOPS20,<
**************
1)8	;**;[42] Replace before STOP OPDEF	DZN	5-Oct-78
1)	IFE TOPS20,<
****
2)8	IFE TOPS20,<
**************
1)9	;CONTROL SECTION STUFF
****
2)9	
2)	;CONTROL SECTION STUFF
**************
1)11	COMMENT	\
****
2)11	
2)	COMMENT	\
**************
1)12	
1)13	;HERE IF NOT IN CORE, READ IN PREAMBLE
****
2)13	;HERE IF NOT IN CORE, READ IN PREAMBLE
**************
1)13	
1)14	;RP0 - READ IN PREAMBLE
****
2)14	;RP0 - READ IN PREAMBLE
**************
1)14	
1)15	SUBTTL	CHECK PATH
1)	
****
Digital Equipment Corporation       28-AUG-79    Page  57
PCO Log Report


2)15	SUBTTL	CHECK PATH
2)	
2)	
**************
1)15	
1)16	CP2:	PUSH	P,P1		;SAVE FIRST DIFF
1)		HRRZ	P1,P1		;CLEAR PREV
1)	;**;[43] Replace @CP2A	DZN	13-Oct-78
1)		PUSHJ	P,DELPTH	;[43] DELETE ALL OLD LINKS
****
2)16	CP2:	PUSH	P,P1		;SAVE FIRST DIFF
2)		HRRZ	P1,P1		;CLEAR PREV
2)		PUSHJ	P,DELPTH	;[43] DELETE ALL OLD LINKS
**************
1)16	;**;[43] Insert after CP3+19L (bottom of page)	DZN	13-Oct-7
	8
1)	;ROUTINE TO DELETE A LINK. THIS IMPLIES DELETING ALL OF ITS INFE
	RIORS (THE
****
2)16	;ROUTINE TO DELETE A LINK. THIS IMPLIES DELETING ALL OF ITS INFE
	RIORS (THE
 
 
**************
1)18	;**;[42] Replace @CP5A+1P0L	DZN	5-Oct-78
1)	IFE TOPS20,<
****
2)18	IFE TOPS20,<
**************
1)19	;**;[42] Replace @CP6+6L	DZN	5-Oct-78
1)	>;END IFE TOPS20
****
2)19	>;END IFE TOPS20
**************
1)19	
1)	
1)20	SUBTTL	READ IN DDT SYMBOLS
1)	
****
2)20	SUBTTL	READ IN DDT SYMBOLS
2)	
2)	
**************
1)20	;**;[42] Replace @GTSYM+24L	DZN	5-Oct-78
1)	IFN TOPS20,<
****
2)20	IFN TOPS20,<
**************
1)20	
1)	
1)21	IFN FTRELOC,<
Digital Equipment Corporation       28-AUG-79    Page  58
PCO Log Report


****
2)21	IFN FTRELOC,<
**************
1)23	MOVSYM:	HRRZ	T0,.JBSYM##	;GET BASE OF SYMBOL TABLE
****
2)23	
2)	MOVSYM:	HRRZ	T0,.JBSYM##	;GET BASE OF SYMBOL TABLE
**************
1)24	ADJSYM:	ADDM	T0,.JBSYM##	;
1)	;**;[42] Replace @ADJSYM	DZN	5-Oct-78
1)	IFN TOPS20,<
****
2)24	ADJSYM:	ADDM	T0,.JBSYM##
2)	IFN TOPS20,<
**************
1)25	GBLNK:	SKIPE	.JBSYM##	;[32] KEEPING SYMBOLS UP TO DATE
	?
****
2)25	
2)	GBLNK:	SKIPE	.JBSYM##	;[32] KEEPING SYMBOLS UP TO DATE
	?
**************
1)26	
1)27	SUBTTL	GIVE BACK SYMBOLS
1)	
****
2)27	SUBTTL	GIVE BACK SYMBOLS
2)	
2)	
**************
 
 
1)27	;**;[42] Replace @GBSYM+8L	DZN	5-Oct-78
1)	IFN TOPS20,<
****
2)27	IFN TOPS20,<
**************
1)28	GTLNK:	SKIPN	T1,.JBSYM##	;SYMBOLS MAY BE IN THE WAY
****
2)28	
2)	GTLNK:	SKIPN	T1,.JBSYM##	;SYMBOLS MAY BE IN THE WAY
**************
1)28		ADD	T0,PS.LEN	;
1)		CAIGE	T0,(T1)		;ARE THEY?
****
2)28		ADD	T0,PS.LEN
2)		CAIGE	T0,(T1)		;ARE THEY?
**************
1)32	MDL0:	PUSH	P,T3		;ACC FOR AOBJN WORD
****
2)32	
Digital Equipment Corporation       28-AUG-79    Page  59
PCO Log Report


2)	MDL0:	PUSH	P,T3		;ACC FOR AOBJN WORD
**************
1)34	IFN FTRELOC,<
****
2)34	
2)	IFN FTRELOC,<
**************
1)36	COMMENT	\
****
2)36	
2)	COMMENT	\
**************
1)38	SETINI:	PUSH	P,T1		;SAVE CALLER PC
****
2)38	
2)	SETINI:	PUSH	P,T1		;SAVE CALLER PC
**************
1)38	
1)39	;OVINI - ZEROES CORE AND GETS CHAN# FOR OVERLAY FILE
1)	OVINI:	MOVE	T0,[I.ZZ,,I.ZZ+1]
****
2)39	SUBTTL	OVINI - ZEROES CORE AND GETS CHAN# FOR OVERLAY FILE
2)	
2)	
2)	OVINI:	MOVE	T0,[I.ZZ,,I.ZZ+1]
**************
1)39	;**;[42] Replace @OVINI+3L	DZN	5-Oct-78
1)	IFE TOPS20,<
****
2)39	IFE TOPS20,<
**************
1)39	;**;[42] Replace @OVINI+8L	DZN	5-Oct-78
1)	IFN TOPS20,<
****
2)39	IFN TOPS20,<
**************
1)39	;**;[42] Replace @OVINI+22L	DZN	12-Oct-78
 
 
1)	IFE TOPS20,<
****
2)39	IFE TOPS20,<
**************
1)40	;**;[46] Insert @ OVINI+1P4L	JNG	15-Jun-79
1)	
****
2)40	
**************
1)41	;**;[42] Replace @OVINI+1P12L	DZN	12-Oct-78
1)	>;END IFE TOPS20
****
Digital Equipment Corporation       28-AUG-79    Page  60
PCO Log Report


2)41	>;END IFE TOPS20
**************
1)42	;**;[41] Replace @OVINI+1P23L	DZN	5-Oct-78
1)		RMAP%			;[41] JFN FROM WHENCE WE CAME
1)		  ERJMP	.ERRMP
1)	;**;[42] Replace @OVINI+1P27L	DZN	12-Oct-78
1)		HLRZ	T2,T1		;[42] JFN
****
2)42		RMAP%			;[41] JFN FROM WHENCE WE CAME
2)		  ERJMP	.ERRMP
2)		HLRZ	T2,T1		;[42] JFN
**************
1)43	;**;[42] Replace @OVINI1+7L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)43	IFE TOPS20,<
**************
1)43	;**;[42] Replace @IVINI1+15L	DZN	12-Oct-78
1)		MOVEI	T1,DEFTBL	;[42]
****
2)43		MOVEI	T1,DEFTBL	;[42]
**************
1)44	;**;[42] Replace @ININI3+7L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)44	IFN TOPS20,<
**************
1)45	;**;[42] Insert after OVINI3+1P3L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)45	IFN TOPS20,<
**************
1)45	;**;[42] Replace @OVINI4+16L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)45	IFN TOPS20,<
**************
1)46	;**;[40] Insert after POPL+2L	DZN	15-Sep-78
1)	;ROUTINE TO STUFF C(.JBSYM) INTO DDT IF DDT IS IN MEMORY (TOPS-2
	0 ONLY).
****
2)46	;ROUTINE TO STUFF C(.JBSYM) INTO DDT IF DDT IS IN MEMORY (TOPS-2
	0 ONLY).
**************
1)46	;**;[42] Replace @CHKDDT-1	DZN	12-Oct-78
1)	IFN TOPS20,<
 
 
****
2)46	IFN TOPS20,<
**************
Digital Equipment Corporation       28-AUG-79    Page  61
PCO Log Report


1)46	;**;[41] Replace @CHKDDT+3L	DZN	5-Oct-78
1)		RPACS%			;[41]   ..
****
2)46		RPACS%			;[41]   ..
**************
1)47	;**;[42] Replace @%INIT-2L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)47	
2)	IFE TOPS20,<
**************
1)48	IFN FTWRITE,<
****
2)48	
2)	IFN FTWRITE,<
**************
1)48	;**;[42] Replace @%OUTPT+7L	DZN	12-Oct-78
1)	>;END IFE TOPS20
****
2)48	>;END IFE TOPS20
**************
1)49	IFN TOPS20,<
****
2)49	
2)	IFN TOPS20,<
**************
1)50	IFN FTMANUAL,<
****
2)50	
2)	
2)	IFN FTMANUAL,<
**************
1)50	;**;[44] Replace @INIOV.	DZN	15-Oct-78
1)	INIOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
****
2)50	INIOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
**************
1)50		MOVSI	T1,'OVL'	;
1)		MOVEM	T1,LEXT
1)		PUSHJ	P,GETSPC	;GET THE FILE SPEC
1)	;**;[44] Delete @INIOV.+12L	DZN	15-Oct-78
1)	>
1)	;**;[42] Replace @INIOV.+14L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)50		MOVSI	T1,'OVL'
2)		MOVEM	T1,LEXT
2)		PUSHJ	P,GETSPC	;GET THE FILE SPEC
2)	>
2)	IFN TOPS20,<
**************
Digital Equipment Corporation       28-AUG-79    Page  62
PCO Log Report


1)50	;**;[44] Move angle-bracket up to INIOV.+19L	DZN	15-Oct-7
	8
1)	>
 
 
****
2)50	>
**************
1)51	;**;[44] Insert @GETOV.	DZN	15-Oct-78
1)	GETOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
****
2)51	GETOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
**************
1)51	
1)52	;**;[43] Revamp REMOV. subroutine	DZN	13-Oct-78
1)	SUBTTL	MANUAL CALL SUBROUTINES -- REMOV.
1)	
****
2)52	SUBTTL	MANUAL CALL SUBROUTINES -- REMOV.
2)	
2)	
**************
1)52	;**;[44] Insert @REMOV.	DZN	15-Oct-78
1)	REMOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
****
2)52	REMOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
**************
1)53	;RUNOV. - GETS LINK INTO CORE AND JUMPS TO ITS START ADDRESS
1)	
****
2)53	SUBTTL	RUNOV. - GETS LINK INTO CORE AND JUMPS TO ITS START ADDR
	ESS
2)	
2)	
**************
1)53	;**;[44] Replace @RUNOV.	DZN	15-Oct-78
1)	RUNOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
****
2)53	RUNOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
**************
1)53	;**;[43] Insert after RUNOV.+7L	DZN	13-Oct-78
1)			SETOM	OKOVLC		;[43] ALLOW OVERLAY OF C
	ALLER
****
2)53			SETOM	OKOVLC		;[43] ALLOW OVERLAY OF C
	ALLER
**************
1)53	;**;[45] Replace @RUNOV.+16L	DZN	15-Oct-78
1)		JUMPE	T0,RUNOV1	;[45] SEE IF THERE'S A START ADD
	RESS
****
Digital Equipment Corporation       28-AUG-79    Page  63
PCO Log Report


2)53		JUMPE	T0,RUNOV1	;[45] SEE IF THERE'S A START ADD
	RESS
**************
1)53	
1)54	IFN FTWRITE,<
****
2)54	IFN FTWRITE,<
**************
1)54	;**;[44] Insert @SAVOV.	DZN	15-Oct-78
1)	SAVOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
****
2)54	SAVOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
**************
1)54	;**;[44] Insert @CLROV.	DZN	15-Oct-78
1)	CLROV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
 
 
****
2)54	CLROV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
**************
1)54	
1)55		ENTRY	TMPOV.
****
2)55		ENTRY	TMPOV.
**************
1)55	;**;[44] Insert @TMPOV.	DZN	15-Oct-78
1)	TMPOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
****
2)55	TMPOV.:	HRRZ	T1,(P)		;[44] SAVE USER'S RETURN PC
**************
1)55	
1)56	SUBTTL	USEFUL SUBROUTINES
1)	
****
2)56	SUBTTL	USEFUL SUBROUTINES
2)	
2)	
**************
1)56	;**;[44] Replace @TYPTBL+4L	DZN	15-Oct-78
1)		A.SPR,TY.SP		;[44]
****
2)56		A.SPR,TY.SP		;[44]
**************
1)56	;**;[44] Replace @TYPTBL+10L	DZN	15-Oct-78
1)		A.DO ,TY.DP		;[44]
****
2)56		A.DO ,TY.DP		;[44]
**************
1)56	;**;[44] Revamp @TY.ILL	DZN	15-Oct-78
1)	TY.ILL:	PUSHJ	P,FATAL	;[44]
****
Digital Equipment Corporation       28-AUG-79    Page  64
PCO Log Report


2)56	TY.ILL:	PUSHJ	P,FATAL	;[44]
**************
1)56	
1)57	TY.DP0:	MOVE	T0,T1		;PUT LOW ORDER WORD INTO HIGH
****
2)57	TY.DP0:	MOVE	T0,T1		;PUT LOW ORDER WORD INTO HIGH
**************
1)57	
1)58	TY.DP:
****
2)58	TY.DP:
**************
1)58	
1)	
1)59	;GETSPC - ROUTINE TO CONVERT STRING IN FILE SPEC
1)	;**;[42] Replace @TY.PTR+1P1L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)59	;GETSPC - ROUTINE TO CONVERT STRING IN FILE SPEC
2)	IFE TOPS20,<
**************
1)60	;**;[42] Replace @POP2L+2L	DZN	12-Oct-78
 
 
1)	>;END IFE TOPS20
****
2)60	>;END IFE TOPS20
**************
1)61	
1)62	GETCUR:	SPUSH	<T2,T3,T4>	;NEED SOME ACCS
1)	;**;[44] Replace @GETCUR+1L	DZN	15-Oct-78
1)		MOVE	T4,USERPC	;[44] GET USER'S RETURN PC
****
2)62	GETCUR:	SPUSH	<T2,T3,T4>	;NEED SOME ACCS
2)		MOVE	T4,USERPC	;[44] GET USER'S RETURN PC
**************
1)62	T3POPJ:	SPOP	<T3,T2>		;
1)		POPJ	P,
****
2)62	T3POPJ:	SPOP	<T3,T2>
2)		POPJ	P,
**************
1)62	;**;[42] Replace @GTCUR2+7L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)62	IFE TOPS20,<
**************
1)63	
1)64	SUBTTL	ERROR HANDLING
1)	
****
Digital Equipment Corporation       28-AUG-79    Page  65
PCO Log Report


2)64	SUBTTL	ERROR HANDLING
2)	
2)	
**************
1)65	;**;[42] Replace @.ERDOE-1L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)65	IFE TOPS20,<
**************
1)65	;**;[42] Replace @.ERCNA+3L	DZN	12-Oct-78
1)	>;END IFE TOPS20
1)	
1)66	;**;[43] Delete @.ERAOC	DZN	13-Oct-78
1)	.ERARC:	PUSHJ	P,FATAL
****
2)65	>;END IFE TOPS20
2)	
2)66	.ERARC:	PUSHJ	P,FATAL
**************
1)66	;**;[42] Replace @.ERIST+2L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)66	IFE TOPS20,<
**************
1)67	;**;[42] Replace @.EROPP-1L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)67	IFN TOPS20,<
**************
 
 
1)67	;**;[41] Replace @.ERSFP+1L	DZN	5-Oct-78
1)		TYPE	(<SFP	SFPTR% JSYS failed>)
****
2)67		TYPE	(<SFP	SFPTR% JSYS failed>)
**************
1)67	;**;[41] Replace @.ERRPA+1L	DZN	5-Oct-78
1)		TYPE	(<RPA	RPACS% JSYS failed>)
****
2)67		TYPE	(<RPA	RPACS% JSYS failed>)
**************
1)67	;**;[41] Replace @.ERRMP+1L	DZN	5-Oct-78
1)		TYPE	(<RMP	RMAP% JSYS failed>)
****
2)67		TYPE	(<RMP	RMAP% JSYS failed>)
**************
1)67	;**;[41] Replace @.ERGJF+1L	DZN	5-Oct-78
1)		TYPE	(<GJF	GTJFN% JSYS failed>)
****
2)67		TYPE	(<GJF	GTJFN% JSYS failed>)
**************
Digital Equipment Corporation       28-AUG-79    Page  66
PCO Log Report


1)67	;**;[41] Replace @.EROPF+1L	DZN	5-Oct-78
1)		TYPE	(<OPF	OPENF% JSYS failed>)
****
2)67		TYPE	(<OPF	OPENF% JSYS failed>)
**************
1)68	;**;[42] Replace @%STS-2L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)68	IFE TOPS20,<
**************
1)68	;**;[42] Replace @PRNT0+5L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)68	IFE TOPS20,<
**************
1)69	;**;[42] Replace @PRNFRS+4L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)69	IFN TOPS20,<
**************
1)69	;**;[42] Replace @JSYSER+9L	DZN	13-Oct-78
1)		HRROI	T1,INBFR	;[42]
****
2)69		HRROI	T1,INBFR	;[42]
**************
1)70	;**;[42] Replace @PRNPPN-1L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)70	IFE TOPS20,<
**************
1)70	;**;[42] Replace @PRNPT2+4L	DZN	12-Oct-78
1)	> ;END IFE TOPS20
****
2)70	> ;END IFE TOPS20
**************
1)71	IFN FTLOG,<
 
 
****
2)71	
2)	
2)	IFN FTLOG,<
**************
1)71	;**;[42] Replace @LOGOV.+3L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)71	IFE TOPS20,<
**************
1)72	;**;[42] Replace @$ENTER+4L	DZN	12-Oct-78
1)	>;END IFE TOPS20
****
Digital Equipment Corporation       28-AUG-79    Page  67
PCO Log Report


2)72	>;END IFE TOPS20
**************
1)73	;**;[42] Replace @$ENTER+19L	DZN	13-Oct-78
1)		MOVEI	T1,DEFTBL	;[42]
****
2)73		MOVEI	T1,DEFTBL	;[42]
**************
1)74	;**;[42] Replace @CLSLOG+2L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)74	IFE TOPS20,<
**************
1)74	;**;[42] Replace @$CLOSE+21L	DZN	12-Oct-78
1)	>;END IFE TOPS20
****
2)74	>;END IFE TOPS20
**************
1)74	;**;[42] Replace @OBLOCK-1L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)74	IFE TOPS20,<
**************
1)74	;**;[42] Replace @OBUF+2L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)74	IFN TOPS20,<
**************
1)76	;**;[42] Replace @LOGTST+2L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)76	IFE TOPS20,<
**************
1)76	;**;[42] Replace @LOGTST+6L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)76	IFN TOPS20,<
**************
1)76	;**;[42] Replace @LOGTST+13L	DZN	12-Oct-78
1)	IFE TOPS20,<
****
2)76	IFE TOPS20,<
**************
1)76	;**;[42] Replace @$STS+4L	DZN	12-Oct-78
 
 
1)	>;END IFE TOPS20
****
2)76	>;END IFE TOPS20
**************
1)78	;**;[42] Replace @TIME+1L	DZN	12-Oct-78
1)	IFE TOPS20,<
Digital Equipment Corporation       28-AUG-79    Page  68
PCO Log Report


****
2)78	IFE TOPS20,<
**************
1)78	;**;[42] Replace @TIME+5L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)78	IFN TOPS20,<
**************
1)79	RESTART:
****
2)79	
2)	RESTART:
**************
1)79	;**;[42] Replace @RESTART+14L	DZN	12-Oct-78
1)		MOVEM	T0,.JBREL##	;[42] RESET .JBREL FOR TOPS20
****
2)79		MOVEM	T0,.JBREL##	;[42] RESET .JBREL FOR TOPS20
**************
1)80	COMMENT	\
****
2)80	
2)	COMMENT	\
**************
1)81		SEGMENT	LOW
****
2)81	
2)		SEGMENT	LOW
**************
1)82	INCIDX:	BLOCK	1		;LOWEST INDEX IN CORE
****
2)82	
2)	INCIDX:	BLOCK	1		;LOWEST INDEX IN CORE
**************
1)82	;**;[42] Replace @WPTR+2L	DZN	12-Oct-78
1)	IFN TOPS20,<
****
2)82	IFN TOPS20,<
**************
1)82	;**;[44] Insert after TEMP2+1L	DZN	15-Oct-78
1)	USERPC:	BLOCK	1		;[44] USER RETURN PC FOR MANUAL
	CALLS
1)	;**;[43] Insert after TEMP2+1L	DZN	13-Oct-78
1)	OKOVLC:	BLOCK	1		;[43] -1 = OK TO OVERLAY CALLER
	(RUNOV.)
****
2)82	USERPC:	BLOCK	1		;[44] USER RETURN PC FOR MANUAL
	CALLS
2)	OKOVLC:	BLOCK	1		;[43] -1 = OK TO OVERLAY CALLER
	(RUNOV.)
**************
1)82	END
Digital Equipment Corporation       28-AUG-79    Page  69
PCO Log Report


****
2)83	SUBTTL	THE END
2)	
 
 
2)	
2)		END
**************

[End PCO Write-up]
Digital Equipment Corporation       28-AUG-79    Page  70
PCO Log Report



                   *********************
                   *PCO #:10-OVRLAY-022*
                   *********************


[Program Data]          System:   LINK
                        Component:OVRLAY

[Validity]         4A(47) ONLY

[Date Entered]          27-AUG-79

[Programmer]            D. NEFF

[Routines]              ALL

[Key Words]             LAST EDIT

[Source Before Edit]    %    (000000)

[Source After Edit]     %4A  (000050)

[Test File Data]            :           [        ]

[Miscellaneous]         DOC changes:   N
                        SER/SPR Number:10-NONE
                        Critical:      N


************************************************************************

[Notes]
Digital Equipment Corporation       28-AUG-79    Page  71
PCO Log Report

[PCO Write-up]



                        **********


[SYMPTOM]
 
 
 
 
This being the last edit  before  the  release  of  version  4A  of
OVRLAY, the edit histories should reflect this fact.
 

                        **********


[DIAGNOSIS]
 
This must necessarily wait until the last minute.
 

                        **********


[CURE]
 
Update OVRLAY's edit history to reflect the released version.
 
Digital Equipment Corporation       28-AUG-79    Page  72
PCO Log Report


[FILCOM]
File 1)	LINK:OVRLAY.MAC[30,4507]  	created: 1034 26-Jul-1979
File 2)	LINK:OVRLAY.MAC[10,645063]	created: 1339 27-Aug-1979
 
1)1	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	25-Jul-79
1)	;COPYRIGHT (C) 1974, 1979 BY
****
2)1	SUBTTL	D.M.NIXON/DMN/JLd/JNG/MCHC/DZN	27-Aug-79
2)	;COPYRIGHT (C) 1974, 1979 BY
**************
1)1	DECEVR==47		;DEC EDIT VERSION
1)	ENTRY	.OVRLA,.OVRLU
****
2)1	DECEVR==50		;DEC EDIT VERSION
2)	ENTRY	.OVRLA,.OVRLU
**************
1)6	SUBTTL	DEFINITIONS
****
2)5	;50	DZN	27-Aug-79
2)	;	Release on both TOPS-10 and TOPS-20 as version 4A(50).
2)6	SUBTTL	DEFINITIONS
**************

[End PCO Write-up]