Trailing-Edge
-
PDP-10 Archives
-
BB-5255D-BM
-
4-documentation/link.pco
There are 8 other files named link.pco in the archive. Click here to see a list.
Digital Equipment Corporation 28-AUG-79 Page 1
PCO Log Report
*********************
*PCO #:10-LINK -224*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 25-APR-78
[Programmer] CHEN
[Routines] LNKLOD
[Key Words] KL RELS WRONG MSG
[Source Before Edit] %4 (000765)
[Source After Edit] %4A (000766)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 2
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When mixing KI10 and KL10 compiled code, LINK will
catch the conflict and give an error message, but the
message will complain about mixing KA10 and KI10 compiled
code.
**********
[DIAGNOSIS]
LINK doesn't understand REL files containing the KL10
flag.
**********
[CURE]
Until LINK is taught about KL10 REL files, just treat
them like KI10 REL files.
Digital Equipment Corporation 28-AUG-79 Page 3
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1904 01-Mar-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1932 25-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 27-FEB-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 17-Mar-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==766 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;START OF VERSION 4A
2) ;766 MCHC 17-MAR-78
2) ; Store correct KL code(offset calculated by JFFO) for inc
onsistancy
2) ; check of modules to come.
2) ; LNKLOD
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 4
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1329 08-Mar-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 1713 25-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC 17-Mar-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==766 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;START OF LINK 4A
2) ;766 Return cpu table offset in P2 from routine CPUTST.
2)5 SUBTTL LOAD CONTROL
**************
1)58 JRST @CPUTBL(T1) ;[752] DISPATCH TO RIGHT TEST
****
2)58 ;**;[766] Insert @ CPUTST+6L MCHC 17-Mar-78
2) MOVE P2,T1 ;[766] OFFSET NEEDED IN P2 AFTER
RETURNED
2) JRST @CPUTBL(T1) ;[752] DISPATCH TO RIGHT TEST
**************
1)58 CPUKA:: TXNN T4,KIBIT ;CANNOT HAVE BOTH KA10 AND KI10
1) POPJ P, ;OK
****
2)58 ;**;[766] Change @ CPUKA MCHC 17-Mar-78
2) CPUKA:: TXNN T4,KIBIT!KLBIT ;[766]CANNOT HAVE BOTH KA10 AND
KI10
2) POPJ P, ;OK
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 5
PCO Log Report
*********************
*PCO #:10-LINK -225*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 26-APR-78
[Programmer] CHEN
[Routines] LNKOLD
[Key Words] LOOPING T.1LOW BAD AREA N
[Source Before Edit] %4A (000766)
[Source After Edit] %4A (000767)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 6
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When loading a large program, or one containing PSECTs,
LINK can go into a loop. If /ERR:0 is set, a LNKMOV message
referring to a non-existent or junk area name will probably
be seen.
**********
[DIAGNOSIS]
If the first address LINK sees is above 400000, then it
starts loading relative to the first address seen in an
attempt to save disk overflow time for speed. If an address
below the first one is seen later, then LINK gives up and
overflows to disk.
Unfortunately, the disk overflow routine it calls is a
local routine in LINK's memory manager that is otherwise
only called when LINK is trying to expand and discovers that
it must write a new area to disk in order to do so. In
fact, the routine assumes that it was called under those
conditions, and makes other calls to finish the expansion
process that it thought was in progress before returning to
its caller.
That assumption is not valid in this case, so none of
the memory manager's registers etc. are set up. This causes
the other calls back into the memory manager to "finish" the
expansion to loop.
**********
[CURE]
Before calling the disk overflow routine, set the
memory manager's register containing the number of words to
expand to zero, thus causing it to return immediately,
Digital Equipment Corporation 28-AUG-79 Page 7
PCO Log Report
before it gets into trouble.
Digital Equipment Corporation 28-AUG-79 Page 8
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1932 25-Apr-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 2309 25-Apr-1978
1)1 DECEVR==766 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==767 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;767 MCHC 17-MAR-78
2) ; Clear AC P2(required size) when coing forced dump of LC
area,
2) ; which returns through LNKCOR and will cause looping if
2) ; garbage is in it.
2) ; LNKOLD
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 9
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1835 01-Mar-1978
File 2) LINK:LNKOLD.MAC[10,645063] created: 2133 25-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC 17-Mar-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==767
2) ;LOCAL ACC DEFINITIONS
**************
1)4 COMMENT \
****
2)4 ;START OF LINK V4A
2) ;767 Fix a bug to prevent LINK from looping when forced dump
of lc is done.
2) COMMENT \
**************
1)11 SETZ P3, ;[732]
1) PUSHJ P,LC.DMP## ;[742] FORCE CURRENT WINDOW TO D
ISK
****
2)11 ;**;[767] Change @ T.1LOW+11L MCHC 17-Mar-78
2) SETZ P2, ;[767][732] NO EXPANSION, PREVEN
T LOOPING
2) PUSHJ P,LC.DMP## ;[742] FORCE CURRENT WINDOW TO D
ISK
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 10
PCO Log Report
*********************
*PCO #:10-LINK -226*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 27-APR-78
[Programmer] CHEN
[Routines] LNKXIT
[Key Words] LNKCEF AFTER LNKS
[Source Before Edit] %4A (000767)
[Source After Edit] %4A (000770)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 11
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK may fail with the LNKCEF message at the end of
loading, just after the LNKSST message has been typed.
**********
[DIAGNOSIS]
If the area into which the undefined symbol table is to
be loaded is not paging to disk, and if the area cannot be
expanded enough to contain the first word of the undefined
symbol table without overflowing to disk, then LINK will
fail with the LNKCEF message. There is simply no code to
start the appropriate area paging at that point.
**********
[CURE]
Add code to consider the case.
Digital Equipment Corporation 28-AUG-79 Page 12
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 2309 25-Apr-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1449 27-Apr-1978
1)1 DECEVR==767 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==770 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;770 MCHC 17-MAR-78
2) ; Add code to allow paging for the first time in routine t
o
2) ; output undefined symbols(especially if undefined symbol
table
2) ; does not begin at end of a chunk of code.)
2) ; LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 13
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1503 03-Mar-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1445 27-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 17-Mar-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==770 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;START OF VERSION 4A
2) ;770 Add code to allow first-time paging in und-symbol table
routine.
2)5 SUBTTL ENTER HERE
**************
1)10 MOVE P4,PATSPC ;NEED TO LEAVE A HOLE FOR PATCHI
NG
****
2)10 ;**;[770] Insert @ UDF0A+1L MCHC 17-Mar-78
2) PUSHJ P,CHKPAG ;[770] INCASE PAGE FOR THE FIRST
TIME
2) MOVE P4,PATSPC ;NEED TO LEAVE A HOLE FOR PATCHI
NG
**************
1)10 ADD P2,TAB.LB(R) ;IN CORE
1) SUB P2,LW.S0(R) ;REMOVE WINDOW OFFSET
1) CAMG P2,TAB.AB(R) ;ENOUGH CORE?
****
2)10 ;**;[770] Exchange 2 lines @ UDF0A+6L MCHC 17-Mar-78
2) SUB P2,LW.S0(R) ;[770] REMOVE WINDOW OFFSET
2) ADD P2,TAB.LB(R) ;[770] IN CORE
2) CAMG P2,TAB.AB(R) ;ENOUGH CORE?
**************
1)10 PUSHJ P,LNKCOR## ;GET IT
1) PUSHJ P,NO.COR## ;TOTAL FAILURE
1) SKIPN TAB.PG(R) ;[570] PAGING?
****
2)10 ;**;[770] Replace @ UDF0A+12L MCHC 17-Mar-78
2) SETOM LS.PP ;[770] PREVENT OVERFLOW OF LS AR
EA
2) PUSHJ P,LNKCOR## ;GET IT
2) JRST [MOVE P2,USYM ;[770] NO CORE, LOOP BAC
K AND PAGE
Digital Equipment Corporation 28-AUG-79 Page 14
PCO Log Report
2) JRST UDF0A] ;[770]
2) SKIPN TAB.PG(R) ;[570] PAGING?
**************
1)10 UDF0B: PUSHJ P,CHKPAG ;[570] JUST INCASE WE STARTED PA
GING
1) MOVE P2,P4 ;RELATIVE
1) ADD P2,TAB.LB(R) ;FIX IN CORE
1) SUB P2,LW.S0(R) ;REMOVE WINDOW OFFSET
1) UDF1: SKIPGE SYMSEG ;[715] PSECT NAME USED?
1) JRST .+3 ;[715] YES, JUMP
****
2)10 ;**;[770] Delete @ UDF0B MCHC 17-Mar-78
2) UDF0B: MOVE P2,P4 ;RELATIVE
2) ADD P2,TAB.LB(R) ;FIX IN CORE
2) SUB P2,LW.S0(R) ;REMOVE WINDOW OFFSET
2) ;**;[770] Insert @ UDF1 MCHC 17-Mar-78
2) UDF1: SETZM LS.PP ;[770] CLEAR IT
2) SKIPGE SYMSEG ;[715] PSECT NAME USED?
2) JRST .+3 ;[715] YES, JUMP
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 15
PCO Log Report
*********************
*PCO #:20-LINK -004*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 27-APR-78
[Programmer] CHEN
[Routines] LNKCOR
[Key Words] ILL INST POP LOOP MISSING PO
[Source Before Edit] %4A (000770)
[Source After Edit] %4A (000771)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:20-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 16
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Illegal Instruction when loading an extremely large
program. This will only happen when running a version of
LINK whose high segment starts above 400000, as it does on
TOPS-20.
**********
[DIAGNOSIS]
LINK's POP loop to move memory areas up can only handle
an area of 377777 words or less. If one of the areas grows
beyond this, then LINK will split the move up into multiple
moves. Unfortunately, the code to do this PUSHes a word
onto the stack that is never POPed back off.
**********
[CURE]
POP the extra word off at the end of the loop.
Digital Equipment Corporation 28-AUG-79 Page 17
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1449 27-Apr-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1708 27-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 17-Mar-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 23-Mar-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==770 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==771 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;771 MCHC 23-MAR-78
2) ; Fix bug in doing large( > 400000) pop loop in 2 chunks.
2) ; LNKCOR
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 18
PCO Log Report
[FILCOM]
File 1) LINK:LNKCOR.MAC[30,4507] created: 1959 01-Mar-1978
File 2) LINK:LNKCOR.MAC[10,645063] created: 1718 27-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG 23-Mar-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) SALL
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==771 ;DEC EDIT VERSION
2) SALL
**************
1)4 SUBTTL SIMPLE TESTS FIRST
****
2)3 ;771 Fix bug with shuffling large( >400000) core segment.
2)4 SUBTTL SIMPLE TESTS FIRST
**************
1)14 MOVE T4,TAB.AB(T2) ;TOP
****
2)14 ;**;[771] Insert @ MOVUP1+5L MCHC 23-Mar-78
2) PUSH P,T2 ;[771] SAVE WHO WE ARE
2) MOVE T4,TAB.AB(T2) ;TOP
**************
1)14 CAMN T2,[CHUNK1,,0] ;[720] DOING 2 STEPS?
****
2)14 ;**;[771] Insert @ POPLP+2L MCHC 23-Mar-78
2) POP P,T2 ;[771] RESTORE STACK
2) CAMN T2,[CHUNK1,,0] ;[720] DOING 2 STEPS?
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 19
PCO Log Report
*********************
*PCO #:10-LINK -227*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(770)
[Date Entered] 27-APR-78
[Programmer] CHEN
[Routines] LNKXIT
[Key Words] PAT.. AREA NOALLOC
[Source Before Edit] %4A (000771)
[Source After Edit] %4A (000772)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 20
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If a PSECT is created just to hold the symbol table,
then the PAT.. area will not be allocated.
**********
[DIAGNOSIS]
This case was never considered.
**********
[CURE]
Allocate the area. This edit requires edit 770 to have
been installed.
Digital Equipment Corporation 28-AUG-79 Page 21
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1708 27-Apr-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1833 27-Apr-1978
1)1 DECEVR==771 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==772 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;772 MCHC 23-MAR-78
2) ; Edit 770 did not adjust start of symbol table that came
after
2) ; the undefined symbol table.
2) ; If /SET:FOO:nnnnnn/SYMSEG:PSECT:FOO is used so that a PS
ECT
2) ; was created just for the symbol table, the following sho
uld
2) ; happen:
2) ; PAT..=nnnnnn
2) ; .JBUSY (117)/ -U,,PAT..+100
2) ; where U is the length of undefin
ed symbol table
2) ; .JBSYM (116)/ -L,,PAR..+100+U
2) ; where L is the length of the sym
bol table
2) ; LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 22
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1445 27-Apr-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1831 27-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 17-Mar-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 23-Mar-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==770 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==772 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;772 Adjust symbol table pointer to after undefined symbol ta
ble.
2)5 SUBTTL ENTER HERE
**************
1)10 ADDB P4,P2 ;SPACE WE NEED
1) ;**;[770] Exchange 2 lines @ UDF0A+6L MCHC 17-Mar-78
****
2)10 ;**;[772] Change @ UDF0A+5L MCHC 23-Mar-78
2) ADD P2,P4 ;[772] SPACE WE NEED IN P2
2) ;**;[770] Exchange 2 lines @ UDF0A+6L MCHC 17-Mar-78
**************
1)11 JRST GSDLT ;DELETE GLOBAL SYMBOL TABLE
****
2)11 ;**;[772] Insert @ UDFDN+10L MCHC 23-Mar-78
2) SUB P4,TAB.LB(R) ;[772] GET VIRTUAL ADDR OF UNDEF
TABLE
2) ADD P4,LW.S0(R) ;[722] NEED IT LATER FOR SYMBOL
TABLE
2) JRST GSDLT ;DELETE GLOBAL SYMBOL TABLE
**************
1)17 TDZA P4,P4 ;YES, DONE ALREADY
1) MOVE P4,PATSPC ;NEED TO LEAVE A HOLE FOR PATCHI
NG
****
2)17 ;**;[772] Replace @ LSREQ1+2L MCHC 23-Mar-78
2) JRST .+3 ;[772] YES, AT END OF UND-SYM TA
BLE
2) MOVE P4,PATSPC ;NEED TO LEAVE A HOLE FOR PATCHI
NG
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 23
PCO Log Report
*********************
*PCO #:10-LINK -228*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 30-APR-78
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] LNKPUF ILL MEM GS GONE
[Source Before Edit] %4A (000772)
[Source After Edit] %4A (000773)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 24
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Illegal memory reference or LNKPUF error in LNKXIT when
loading a program using overlays, after the LNKCSF message
has been typed. The LNKCSF message will only appear if
/ERR:0 is set.
**********
[DIAGNOSIS]
If the routine GSDLT is called with the GS area already
gone, then it can leave the UB pointer of the next lower
area pointing beyond .JBREL.
**********
[CURE]
Make GSDLT check to see if the GS area is already gone.
Digital Equipment Corporation 28-AUG-79 Page 25
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1833 27-Apr-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1803 30-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 23-Mar-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 30-Apr-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==772 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==773 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;773 JNG 30-Apr-78
2) ; Fix GSDLT in LNKXIT to not leave some area's UB
2) ; pointing beyond .JBREL if the GS area is already gone.
2) ; Routines: LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 26
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1831 27-Apr-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1803 30-Apr-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 23-Mar-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 30-Apr-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==772 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==773 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;773 Fix GSDLT in case the GS area is already gone.
2)5 SUBTTL ENTER HERE
**************
1)14 MOVEM T2,GS.AB ;RESET TABLE
****
2)14 ;**;[773] Insert @ GSDLT+14L JNG 30-Apr-78
2) SKIPN GS.LB ;[773] GS AREA ALREADY GONE?
2) JRST GSDLT1 ;[773] YES, DON'T RECREATE IT
2) MOVEM T2,GS.AB ;RESET TABLE
**************
1)14 MOVEM T2,TAB.UB(T1) ;RESET HIGHEST FREE LOC AGAIN
1) SETZM GS.LB ;SO XX.ZAP CAN WORK
****
2)14 ;**;[773] Add label @ GSDLT+18L JNG 30-Sep-78
2) GSDLT1: MOVEM T2,TAB.UB(T1) ;[773] RESET HIGHEST FREE LOC AG
AIN
2) SETZM GS.LB ;SO XX.ZAP CAN WORK
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 27
PCO Log Report
*********************
*PCO #:10-LINK -229*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 30-APR-78
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] ADDR CHECK ADDI 1
[Source Before Edit] %4A (000773)
[Source After Edit] %4A (000774)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-25711
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 28
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can get an address check error from the monitor
when writing an EXE file. This will only happen if LINK is
paging to disk.
**********
[DIAGNOSIS]
LINK's calculation of the new upper window bound when
advancing to the next window is incorrect, causing a later
OUT UUO to get an address check.
**********
[CURE]
Correct the calculation to not add one to a number
which is already correct.
Digital Equipment Corporation 28-AUG-79 Page 29
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1803 30-Apr-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1841 30-Apr-1978
1)1 DECEVR==773 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==774 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;774 JNG 30-Apr-78 SPR 10-25711
2) ; Fix bad calculation of UW in EXE file writer.
2) ; Routines: LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 30
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1803 30-Apr-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1843 30-Apr-1978
1)1 DECEVR==773 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==774 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;774 Fix bad calculation of UW in EXE file writer.
2)5 SUBTTL ENTER HERE
**************
1)56 ADDI T3,1 ;
1) MOVEM P3,LW.S0(R) ;[713] RESET BASE TO PROCESS PAG
E
****
2)56 ;**;[774] Delete @ XCMPR4+10L JNG 30-Apr-78
2) MOVEM P3,LW.S0(R) ;[713] RESET BASE TO PROCESS PAG
E
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 31
PCO Log Report
*********************
*PCO #:20-LINK -005*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 02-MAY-78
[Programmer] D. NEFF
[Routines] LNKWLD
[Key Words] START FDDT
[Source Before Edit] %4A (000774)
[Source After Edit] %4A (000775)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:20-11396
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 32
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK does not ignore the starting address of the user's
FORTRAN program when /DEBUG:FORTRAN is specified. FORDDT always
wants control before the FORTRAN program.
**********
[DIAGNOSIS]
LINK correctly guarantees that FORDDT is loaded after the file
(if any) on which /DEBUG:FORTRAN is specified, thus causing
FORDDT's starting address to override that file's starting address.
But if any later modules with starting addresses are loaded, these
then override FORDDT.
**********
[CURE]
Force starting addresses from all subsequent modules to be
ignored.
Digital Equipment Corporation 28-AUG-79 Page 33
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1841 30-Apr-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1541 02-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 30-Apr-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-May-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==774 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==775 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;775 DZN 1-May-78 SPR 20-11396
2) ; Make sure /DEBUG:FORTRAN loads the starting address of
2) ; FORDDT and not the user's program (unless explicit /STAR
T).
2) ; Routines: LNKWLD
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 34
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1436 01-Mar-1978
File 2) LINK:LNKWLD.MAC[10,645063] created: 1756 02-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 1-May-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==775 ;DEC EDIT VERSION
2) ;CALLING SEQUENCE
**************
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)3 ;775 Make sure /DEBUG:FORTRAN loads the starting address of F
ORDDT.
2)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)19 CAME T1,['FORDDT'] ;SINCE IT NEED ITS SYMBOLS
1) PUSHJ P,%NOLOCAL ;BUT NOT FOR THIS FILE
****
2)19 ;**;[775] Replace @ DEBUG1+23L DZN 1-May-78
2) CAMN T1,['FORDDT'] ;[775] SINCE IT NEED ITS SYMBOLS
2) JRST [MOVSI T2,L.ISA ;[775] FORCE /NOSTART ON
NEW LINES
2) IORM T2,FLAGS ;[775] ..
2) PUSHJ P,.NOSTART ;[775] AND ON THIS LIN
E
2) TRZ FL,R.ISA ;[775] BUT USE FORDDT'
S START
2) JRST .+2] ;[775] LOAD FORDDT'S LOC
ALS
2) PUSHJ P,%NOLOCAL ;BUT NOT FOR THIS FILE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 35
PCO Log Report
*********************
*PCO #:10-LINK -230*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 04-MAY-78
[Programmer] D. NEFF
[Routines] LNKXIT
[Key Words] /SAV JBVER
[Source Before Edit] %4A (000775)
[Source After Edit] %4A (000776)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-23733
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 36
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK gets an address check if all of the following conditions
are met:
1. Loading a program small enough that LINK doesn't need to
page to disk
2. Loading no data into pages 0 or 1
3. Specifying /SAVE to get an EXE file
In this case, LINK is also not outputting the program version to
the EXE file.
**********
[DIAGNOSIS]
The special routine to handle EXE file writing when no data
exists in pages 0 or 1 does not get JOBDAT from the LC area if LINK
didn't have to page to disk. The resulting dump-mode IOWD to write
JOBDAT to the EXE file causes the address check.
Also, the length in the IOWD is set up to output one word too
little. Since .JBVER (the location in JOBDAT containing the
program version) is the last location in JOBDAT, it doesn't get
written.
**********
[CURE]
Check if not paging and if so, get JOBDAT from the LC area.
Also output all of JOBDAT so the program version gets written.
Note that this edit has been superseded by edit 1134, and should
not be installed.
Digital Equipment Corporation 28-AUG-79 Page 37
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1541 02-May-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 0938 04-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-May-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 4-May-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==775 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==776 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;776 DZN 4-May-78 SPR 10-23733
2) ; Fix address check and lost .JBVER when loading small pro
grams
2) ; with /SAVE and no data in core-image pages 0 or 1.
2) ; Routines: LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 38
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1843 30-Apr-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1007 04-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 30-Apr-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 4-May-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==774 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==776 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;776 Fix /SAVE of small program with no data in pages 0 or 1.
2)5 SUBTTL ENTER HERE
**************
1)55 XCMPRJ: HRR T1,JOBPTR ;[732] OUTPUT JOBDAT DIRECTLY
1) SUBI T1,1 ;[732]
1) HRLI T1,-.JBDA+1 ;[732]
1) OUT DC,T1 ;OUTPUT PAGE 0
****
2)55 XCMPRJ: SKIPE PAG.S1 ;[776] PAGING?
2) SKIPA T1,JOBPTR ;[776] YES--USE IN-MEMORY COPY O
F JOBDAT
2) MOVE T1,LC.LB ;[776] NO--USE LC AREA STRAIGHT
2) SUBI T1,1 ;[732]
2) HRLI T1,-.JBDA ;[776] DUMP OUT JUST JOBDAT
2) OUT DC,T1 ;OUTPUT PAGE 0
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 39
PCO Log Report
*********************
*PCO #:10-LINK -231*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 18-MAY-78
[Programmer] D. NEFF
[Routines] LNKOLD LNKLOD
[Key Words] BAD COM LN
[Source Before Edit] %4A (000776)
[Source After Edit] %4A (000777)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-24008
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 40
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If a COMMON block is referenced before it is defined (as in an
assembly program followed by a FORTRAN program), LINK allocates the
size of the COMMON incorrectly.
**********
[DIAGNOSIS]
After defining the COMMON block, LINK calls SY.RF to update
any now-definable symbols. It then allocates the memory for the
COMMON block from its symbol definition. Unfortunately, SY.RF
destroys the pointer to the COMMON block symbol, causing LINK to
get the wrong size.
**********
[CURE]
Save the symbol table pointer over the SY.RF call, and
document SY.RF as not saving P1-P4 to help prevent this kind of bug
in the future.
Digital Equipment Corporation 28-AUG-79 Page 41
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0909 18-May-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 0952 18-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 4-May-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 18-May-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==776 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==777 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;777 DZN 18-May-78 SPR 10-24008
2) ; Fix allocation of COMMON blocks when a COMMON block is f
irst
2) ; referenced but not defined, then later defined. Also doc
ument
2) ; SY.RF as destroying P1-P4.
2) ; Routines: LNKOLD, LNKLOD
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 42
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1441 26-Apr-1978
File 2) LINK:LNKOLD.MAC[10,645063] created: 0936 18-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC 17-Mar-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 18-May-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==767
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==777 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)4 COMMENT \
****
2)4 ;777 Fix allocation of COMMON when a block is referenced firs
t, defined later.
2)5 COMMENT \
**************
1)96 PUSH P,R ;SAVE R OVER SY.RF
****
2)97 ;**;[777] Insert before T20UN1+6L DZN 18-May-78
2) PUSH P,P2 ;[777] SAVE COMMON SYMBOL OVER S
Y.RF
2) PUSH P,R ;SAVE R OVER SY.RF
**************
1)96 JRST CPOPJ1 ;SKIP RETURN
****
2)97 ;**;[777] Insert before T20UN1+9 DZN 18-May-78
2) POP P,P2 ;[777] RESTORE COMMAND SYMBOL
2) HRRZ P1,@HT.PTR ;[777] AND RECOMPUTE IN CASE I
T'S MOVED
2) JRST CPOPJ1 ;SKIP RETURN
**************
Digital Equipment Corporation 28-AUG-79 Page 43
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1713 25-Apr-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 0948 18-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC 17-Mar-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 18-May-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==766 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==777 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;777 Comment SY.RF as destroying P1-P4.
2)5 SUBTTL LOAD CONTROL
**************
1)27 SY.RF:: SOSGE USYM ;DECREMENT UNDEFINED GLOBAL COUN
T
****
2)27 ;P1-P4 ARE NOT SAVED BY THIS ROUTINE
2) SY.RF:: SOSGE USYM ;DECREMENT UNDEFINED GLOBAL COUN
T
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 44
PCO Log Report
*********************
*PCO #:10-LINK -258*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 01-FEB-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] BIG EXE ADDR CHECK
[Source Before Edit] %4A (001002)
[Source After Edit] %4A (001003)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 45
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can get an address check error on TOPS-10 or write
a bad EXE file that is excessively large on TOPS-20 if all
of the following conditions occur:
1. The program being loaded contains no low segment
code or PSECTs other than the job data area,
although it may contain high segment code.
2. The user has requested a runtime DDT symbol table
to be loaded into the low segment (this is the
default on TOPS-20).
3. LINK is writing an EXE file, either because the
program is too large to load into memory, or
because the user has requested it with /SAVE or
/SSAVE.
**********
[DIAGNOSIS]
In this case, LINK has set its lowest location loaded
(LOWLOC) to the base of the high segment if there, or a
random positive number if not. Unfortunately, it does not
update this quantity when it decides to place the symbol
table below anything yet loaded, and the EXE file generator
believes the incorrect value and blows up.
**********
[CURE]
When generating the runtime symbol table, check to see
if it is being placed below any code yet loaded, and update
LOWLOC if so.
Digital Equipment Corporation 28-AUG-79 Page 46
PCO Log Report
Note that this edit has been superseded by edit 1132,
and is only being distributed so that sites encountering
this particular problem can fix it without having to install
all of edit 1132. This edit will not be present in any
future release of LINK, since edit 1132 will be present
instead.
Digital Equipment Corporation 28-AUG-79 Page 47
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507,4] created: 1904 01-Mar-1978
File 2) LINK:LNKHST.MAC[30,3737] created: 1127 01-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 27-FEB-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 1-Feb-79
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==765 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1003 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1003 MCHC/JNG 1-Feb-79 SPR 20-12546
2) ; Update LOWLOC in GETSST in case symbol table is lowest t
hing loaded.
2) ; Routine: LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 48
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507,4] created: 1503 03-Mar-1978
File 2) LINK:LNKXIT.MAC[30,3737] created: 1120 01-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 1-Feb-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1003 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1003 Avoid address check or large EXE file if symbols only th
ing in low seg.
2)5 SUBTTL ENTER HERE
**************
1)15 POP P,T1 ;[727] RESTORE T1
1) POPJ P,] ;[715] RETURN FROM HERE
IF HIGH/LOW
1) SETZ R, ;[727] YES, HAVE PSECT NAME
****
2)15 ;**;[1003] Replace @ GETSST+7L JNG 1-Feb-79
2) JRST GETS5] ;[1003] GO UPDATE LOWLOC
AND RETURN
2) SETZ R, ;[727] YES, HAVE PSECT NAME
**************
1)15 GETS3: MOVE T1,P4 ;[764] GET START OF THE SYMBOL T
ABLE
1) TRZ T1,777 ;[764] ROUND DOWN TO PAGE BOUND
****
2)15 ;**;[1003] Insert @ GETS3 JNG 1-Feb-79
2) GETS3: MOVEI R,1 ;[1003] SET TO LOW SEGMENT
2) GETS5: MOVE T1,P4 ;[1003] GET START OF THE SYMBOL
TABLE
2) TRZ T1,777 ;[764] ROUND DOWN TO PAGE BOUND
**************
1)15 MOVEI R,1 ;[715] UPDATE SEGMENT#
1) POP P,T1 ;[715] RESTORE AC'S
****
2)15 ;**;[1003] Delete @ GETS3+4L JNG 1-Feb-79
2) POP P,T1 ;[715] RESTORE AC'S
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 49
PCO Log Report
*********************
*PCO #:10-LINK -232*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) TESTED IN 4(777)
[Date Entered] 29-MAY-78
[Programmer] D. NEFF
[Routines] LNKMAP
[Key Words] MAP IDX DY
[Source Before Edit] %4A (000777)
[Source After Edit] %4A (001100)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-24042
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 50
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK may die with various memory management errors (illegal
memory references, ?LNKRUC, etc.) any time after the map phase
(e.g., in the plotting phase), under the following conditions:
1. Loading an overlaid program
2. Giving names to some, but not all, links
3. Asking for a map
**********
[DIAGNOSIS]
When LINK is finished printing the map, it frees the memory it
used to sort the index of link names (module names in a
non-overlaid program). In freeing this memory, LINK tells its
memory manager to free enough words to sort all link (or module)
names. Unfortunately, the last index printed in the map of an
overlaid program is that of link names, which may be shorter than
the total number of links loaded if some were not given names. In
this case, LINK frees more words than it originally allocated,
leaving free memory messed up. Any later routine allocating memory
may thus die with memory management errors.
**********
[CURE]
Treat the overlay link indexes as special cases, and only free
the last index of module names at the end of the map.
Digital Equipment Corporation 28-AUG-79 Page 51
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0952 18-May-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1005 23-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 18-May-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 23-May-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==777 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1100 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1000 to 1077 Reserved for Development.
2) ;1100 DZN 23-May-78 SPR 10-24042
2) ; Fix LNKMAP to correctly free the index blocks it uses fo
r sorting,
2) ; to keep the integrity of the DY area.
2) ; Routines: LNKMAP
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 52
PCO Log Report
[FILCOM]
File 1) LINK:LNKMAP.MAC[30,4507] created: 1432 01-Mar-1978
File 2) LINK:LNKMAP.MAC[10,645063] created: 1201 23-May-1978
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG 27-FEG-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 23-May-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1100 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SKIPN T2,PRGNO ;NO. OF PROGRAMS
1) JRST OVMAP1 ;NONE
1) LSH T2,1 ;2 WORDS EACH
1) HRRZ T1,MDLIDX ;GIVE BACK TITLE BUFFER
1) PUSHJ P,DY.RET##
1) OVMAP1: MOVE P1,LNKNO.
****
2)5 ;**;[1100] Delete @ OVMAP0+6L DZN 23-May-78
2) OVMAP1: MOVE P1,LNKNO.
**************
1)49 MAPEND:
1) IFN FTOVERLAY,<
****
2)49 ;**;[1100] Insert before MAPEND DZN 23-May-78
2) MAPEND: SKIPN T2,PRGNO ;[1100] NOW DELETE INDEX BLOCK
2) JRST MAPND0 ;[1100] BUT NOT IF ZERO
2) LSH T2,1 ;[1100] TWO ENTRIES PER MODULE
2) HRRZ T1,MDLIDX ;[1100] GET ADDRESS OF BLOCK
2) JUMPE T1,MAPND0 ;[1100] UNLESS NO SYMBOLS
2) PUSHJ P,DY.RET## ;[1100] AND FREE IT
2) MAPND0:
2) IFN FTOVERLAY,<
**************
1)51 JRST MAPND1
****
2)51 ;**;[1100] Insert before OVXHDR+20L DZN 23-May-78
2) HRRZ T1,MDLIDX ;[1100] FREE INDEX BLOCK FOR LIN
K NAMES
2) HRRZ T2,LNMPTR ;[1100] LENGTH OF BLOCK
2) LSH T2,1 ;[1100] WITH TWO WORDS PER LIN
K NAME
2) PUSHJ P,DY.RET## ;[1100] DO THE WORK
2) JRST MAPND1
Digital Equipment Corporation 28-AUG-79 Page 53
PCO Log Report
**************
1)52 SKIPN T2,PRGNO ;NOW RESTORE INDEX BLOCK
1) JRST MAPRT0 ;BUT NOT IF ZERO
1) LSH T2,1 ;2 WORDS PER ENTRY
1) HRRZ T1,MDLIDX ;ADDRESS OF BLOCK
1) JUMPE T1,MAPRT0 ;WE HAD NO SYMBOLS
1) PUSHJ P,DY.RET##
1) MAPRT0: MOVE T1,LS.LB ;NOW TO MAKE SURE LS.PT IS CORRE
CT
1) ADD T1,LSYM ;BASE + LENGTH
****
2)52 ;**;[1100] Delete @MAPRET+2L DZN 23-May-78
2) MOVE T1,LS.LB ;NOW TO MAKE SURE LS.PT IS CORRE
CT
2) ADD T1,LSYM ;BASE + LENGTH
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 54
PCO Log Report
*********************
*PCO #:10-LINK -233*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 3A(560), 4(765)
[Date Entered] 30-MAY-78
[Programmer] GILBERT
[Routines] LNKOLD LNKLOD LNKWLD LNKLOW
[Key Words] INDEXED LI MAKLIB NO ENTRIES DECTAPE
[Source Before Edit] %4A (001100)
[Source After Edit] %4A (001101)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-23623
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 55
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When searching an indexed library created with MAKLIB, LINK
can get an LNKIRB (LNKILI in version 3A and earlier) error.
This is only possible if some module(s) in the indexed
library contain no entry points. This error will not occur
if such module(s) are removed, or if the index is created
with FUDGE2.
**********
[DIAGNOSIS]
When LINK is searching an indexed library, it assumes
that each module present in the library is also present in
the index. This was true with libraries created by FUDGE2,
but MAKLIB compresses modules that have no entry points out
of the index.
LINK makes this assumption in two ways. First, after
loading some module, if LINK wants to load the next module
in the index, it assumes that it can just continue reading
the REL file, without doing any positioning. Second, after
loading some module, if LINK decides NOT to load the next
module in the index, it remembers the address of the next
module anyway, on the assumption that its input stream
pointers now point there, having just finished with the
module before it.
Since this assumption is no longer true with MAKLIB,
LINK can get confused and start reading at the wrong place
in the library, thus getting LNKIRB errors.
**********
[CURE]
Remove all of the special checks that make this
Digital Equipment Corporation 28-AUG-79 Page 56
PCO Log Report
assumption. Instead, have the low level input routines keep
track of where LINK is in the current REL file, and make the
indexed library processor use this information.
Digital Equipment Corporation 28-AUG-79 Page 57
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1005 23-May-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 2200 29-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 23-May-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 29-May-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1100 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1101 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1101 JNG 29-May-78 SPR 10-23623
2) ; Fix LINK to correctly load indexed libraries that contai
n modules
2) ; which have no entry points and thus do not appear in the
index
2) ; when indexed with MAKLIB.
2) ; Routines: LNKOLD,LNKLOD,LNKWLD,LNKLOW
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 58
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 0936 18-May-1978
File 2) LINK:LNKOLD.MAC[10,645063] created: 1800 30-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 18-May-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 29-May-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==777 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1101 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)5 COMMENT \
****
2)4 ;1101 Fix searching indexed libraries that have some modules n
ot
2) ; represented in the index.
2)5 COMMENT \
**************
1)87 T.14I: POP P,LSTBLK ;SET UP LSTBLK FOR NEXT PROG
1) PUSHJ P,D.IN1## ;READ FIRST WORD
1) HLRZ T1,W1 ;BLOCK TYPE ONLY
****
2)87 ;**;[1101] Delete @ T.14I JNG 29-May-78
2) T.14I: PUSHJ P,D.IN1## ;READ FIRST WORD
2) HLRZ T1,W1 ;BLOCK TYPE ONLY
**************
1)88 T.14A: TRNE FL,R.INC ;INCLUDE BEING PROCESSED?
1) JRST T.14 ;PROCESS AS IF NO INDEX
****
2)88 ;**;[1101] Insert @ T.14A JNG 29-May-78
2) T.14A: SKIPN XBUF ;[1101] GIVE ERROR IF ALREADY BE
EN HERE
2) TRNE FL,R.INC ;INCLUDE BEING PROCESSED?
2) JRST T.14 ;PROCESS AS IF NO INDEX
**************
1)88 MOVEI T1,1 ;START ON BLOCK 1 (DSK)
1) HRROM T1,LSTBLK ;BUT INDICATE AN INDEX
1) MOVEI T1,DC ;INPUT CHAN #
1) DEVCHR T1,
1) TLNE T1,(DV.DTA) ;IS IT A DTA?
1) HRROS XBUF ;YES, SET SIGNAL
1) T.14J: HRRZ T1,XBUF ;AUX BUFFER
****
2)88 ;**;[1101] Delete @ T.14A+5L JNG 29-May-78
Digital Equipment Corporation 28-AUG-79 Page 59
PCO Log Report
2) T.14J: HRRZ T1,XBUF ;AUX BUFFER
**************
1)88 SETOM LSTLOD ;AND FAKE LAST PROG READ
1) T.14B:: ILDB W3,XBUF+1
****
2)88 ;**;[1101] Delete @ T.14J+6L JNG 29-May-78
2) T.14B:: ILDB W3,XBUF+1
**************
1)88 SKIPN LSTLOD ;WAS LAST PROG LOADED?
1) JRST T.14B ;NO
1) SETZM LSTLOD ;CLEAR FLAG
1) SKIPL XBUF ;ALWAYS SAVE IF DTA???
1) SKIPL LSTBLK ;SKIP IF LAST BLOCK WAS AN INDEX
1) MOVEM W3,LSTBLK ;SAVE POINTER FOR CALCULATIONS
1) JRST T.14B ;GET NEXT PROG
****
2)88 ;**;[1101] Delete @ T.14K+5L JNG 29-May-78
2) JRST T.14B ;GET NEXT PROG
**************
1)89 PUSH P,T1 ;SAVE THIS BLOCK
1) SKIPE LSTLOD ;DID WE LOAD LAST PROG?
1) JRST [SKIPGE LSTBLK ;WAS LAST BLOCK AN INDEX?
1) JRST NXTBLK ;YES, SO GET NEXT ONE
1) POP P,LSTBLK
1) JRST LOAD##] ;NEXT PROG IS ADJACENT
1) SETOM LSTLOD
1) HRRZ W3,LSTBLK ;GET LAST BLOCK NUMBER
****
2)89 ;**;[1101] Delete @ T.14E+10L JNG 29-May-78
2) HRRZ W3,LSTBLK ;GET LAST BLOCK NUMBER
**************
1)89 NXTNDX: SKIPGE XBUF ;DIFFERENT TEST FOR DTA
1) JRST NXTDTA ;CHECK IF NEXT BUFFER IN CORE
****
2)89 ;**;[1101] Change @ NXTNDX JNG 29-May-78
2) NXTNDX: SKIPGE DTAFLG ;[1101] DIFFERENT TEST FOR DTA
2) JRST NXTDTA ;CHECK IF NEXT BUFFER IN CORE
**************
1)90 JRST NEWBLK ;IT IS NOW
1) JRST D.ERR## ;EOF OR ERROR
1) NEWBLK: MOVE T1,(P) ;GET CURRENT BLOCK
1) JUMPL T1,T.14I ;JUST READ AN INDEX
1) HLRZ T1,T1 ;GET WORD COUNT
1) JRST T.14G ;WORD COUNT WILL BE CORRECT
1) THSBLK: SUB T1,LSTBLK ;GET WORD DIFFERENCE
1) MOVS T1,T1 ;INTO RIGHT HALF
1) T.14G: ADDM T1,DCBUF+1
1) MOVN T1,T1
1) ADDM T1,DCBUF+2
Digital Equipment Corporation 28-AUG-79 Page 60
PCO Log Report
1) T.14H: POP P,LSTBLK ;STORE THIS AS LAST BLOCK READ
1) JRST LOAD##
****
2)90 ;**;[1101] Revamp @ NXTBLK+1L JNG 29-May-78
2) JRST THSBLK ;[1101] IT IS NOW
2) JRST D.ERR## ;EOF OR ERROR
2) ;HERE WHEN THE DATA WE WANT IS IN THE CURRENT BUFFER.
2) ;IF WE WERE READING A NEW INDEX (T1.LT.0), THEN GO TO T.14I.
2) ;IF NOT, ADJUST THE BYTE COUNT & PTR TO POINT TO THE START OF
2) ;THE MODULE TO BE LOADED, THEN GO TO LOAD TO LOAD IT.
2) ;T1 CONTAINS MODULE POINTER (WORD,,BLOCK) FOR THIS MODULE.
2) THSBLK: HRRZM T1,LSTBLK ;[1101] WE KNOW WE'RE NOW ON THI
S BLOCK
2) JUMPL T1,T.14I ;[1101] JUMP IF BLOCK CONTAINS A
N INDEX
2) HLRZ T1,T1 ;[1101] NOT AN INDEX, GET WORD O
FFSET
2) HRRZ T2,DCBUF ;[1101] CONSTRUCT NEW BYTE POINT
ER
2) HLL T2,DCBUF+1 ;[1101] LH=LH(OLD BYTE PTR)
2) ADDI T2,1(T1) ;[1101] RH=RH(DCBUF)+OFFSET+1
2) EXCH T2,DCBUF+1 ;[1101] GET OLD PTR, STORE NEW O
NE
2) SUB T2,DCBUF+1 ;[1101] COMPUTE DIFFERENCE TO UP
DATE COUNT
2) ADDM T2,DCBUF+2 ;[1101] UPDATE BYTE COUNT
2) JRST LOAD##
**************
1)90 PUSH P,W3 ;STACK THIS BLOCK
1) HRRZ W3,LSTBLK ;GET LAST BLOCK
****
2)90 ;**;[1101] Replace @ T.14D+2L JNG 29-May-78
2) MOVE T1,W3 ;[1101] -1,,BLOCK # INTO T1 FOR
THSBLK
2) HRRZ W3,LSTBLK ;GET LAST BLOCK
**************
Digital Equipment Corporation 28-AUG-79 Page 61
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 0948 18-May-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 1554 30-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 18-May-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 29-May-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==777 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1101 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1101 Keep LSTBLK (last block read from current file) up to da
te.
2)5 SUBTTL LOAD CONTROL
**************
1)86 IN DC, ;INPUT NEXT BUFFER
1) JRST D.IN1 ;AND RETURN
****
2)86 ;**;[1101] Replace @ D.INP+2L JNG 29-May-78
2) PUSHJ P,D.CNT ;[1101] DO IN UUO AND COUNT BLOC
K
2) JRST D.IN1 ;AND RETURN
**************
1)86 IN DC, ;MORE DATA, PLEASE
1) JRST D.RED1 ;THAT WAS EASY
****
2)86 ;**;[1101] Replace @ D.READ+2L JNG 29-May-78
2) PUSHJ P,D.CNT ;[1101] DO IN UUO AND COUNT BLOC
K #
2) JRST D.RED1 ;THAT WAS EASY
**************
1)87 EOF:: TRZE FL,R.LOD ;ENS BLOCK SEEN?
****
2)87 ;**;[1101] Insert @ D.READ+7L JNG 29-May-78
2) ;THIS ROUTINE DOES AN IN UUO AND KEEPS TRACK OF THE CURRENT BLOC
K
2) ;NUMBER. BLOCK NUMBER IS RELATIVE (LIKE USETI) ON DISK, ABSOLUT
E
2) ;ON DTA.
2) ;RETURNS +1 IF IN UUO WORKED, +2 IF FAILED (LIKE IN UUO DOES).
2) ;DESTROYS W1 ONLY.
2) D.CNT: SKIPN DTAFLG ;[1101] READING FROM DECtape?
Digital Equipment Corporation 28-AUG-79 Page 62
PCO Log Report
2) JRST D.CNT2 ;[1101] NO, JUST AOS THE COUNT F
OR DISK
2) ;HERE ON DECtape
2) SKIPGE LSTBLK ;[1101] IS THIS THE FIRST IN FRO
M DTA?
2) JRST D.CNT1 ;[1101] YES, MUST GET THE BLOCK
DIFFERENTLY
2) MOVE W1,DCBUF ;[1101] NORMAL CASE, GET PTR TO
NEXT
2) LDB W1,[POINT 18,1(W1),17] ;[1101] OUT OF OLD BUFFE
R
2) MOVEM W1,LSTBLK ;[1101] STORE IN LSTBLK
2) JRST D.CNT3 ;[1101] SKIP DISK'S AOS, GO DO I
N UUO
2) ;HERE ON FIRST IN FROM DECtape. GET FIRST BLOCK NUMBER FROM LOO
KUP
2) D.CNT1: LDB W1,[POINT 10,FEXT,35] ;[1101] ON FIRST IN,
2) MOVEM W1,LSTBLK ;[1101] GET FROM LOOKUP BLOCK
2) JRST D.CNT3 ;[1101] GO DO IN UUO
2) ;HERE ON DISK
2) D.CNT2: AOS LSTBLK ;[1101] ON DISK, JUST AOS LSTBLK
2) D.CNT3: IN DC, ;[1101] DO THE IN UUO
2) POPJ P, ;[1101] SUCCESS, RETURN
2) JRST CPOPJ1 ;[1101] IN UUO SKIPPED, PROPOGAT
E IT
2)88 EOF:: TRZE FL,R.LOD ;ENS BLOCK SEEN?
**************
Digital Equipment Corporation 28-AUG-79 Page 63
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1756 02-May-1978
File 2) LINK:LNKWLD.MAC[10,645063] created: 2153 29-May-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 1-May-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 29-May-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==775 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECEVR==1101 ;DEC EDIT VERSION
2) ;CALLING SEQUENCE
**************
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)3 ;1101 Set LSTBLK and DTAFLG correctly on new input files.
2)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)7 JRST RETFSP ;RETURN SPACE
1)8 ;HERE TO MERGE NEW FILE SPEC WITH PREVIOUS ONE
****
2)7 ;**;[1101] Insert @ LDFS1+3L JNG 29-May-78
2) SETZM LSTBLK ;[1101] ASSUME BLOCK 0
2) SETZM DTAFLG ;[1101] AND ON DISK (NORMAL CASE
)
2) MOVE T1,IO.CHR ;[1101] GET DEV CHARACTERISTICS
2) TXNN T1,DV.DTA ;[1101] ON DECtape?
2) JRST RETFSP ;RETURN SPACE
2) SETOM DTAFLG ;[1101] ON DECtape, REMEMBER THA
T
2) SETOM LSTBLK ;[1101] FLAG FOR D.CNT IN LNKLOD
2) JRST RETFSP ;[1101] DONE, GO RETURN SPACE
2)8 ;HERE TO MERGE NEW FILE SPEC WITH PREVIOUS ONE
**************
Digital Equipment Corporation 28-AUG-79 Page 64
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOW.MAC[30,4507] created: 1950 01-Mar-1978
File 2) LINK:LNKLOW.MAC[10,645063] created: 2157 29-May-1978
1)1 UNIVERSAL LNKLOW - LOW SEGMENT DATA MODULE FOR LINK-10
1) SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 UNIVERSAL LNKLOW - LOW SEGMENT DATA MODULE FOR LINK
2) SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC 29-May-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) LOC 137
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1101 ;DEC EDIT VERSION
2) LOC 137
**************
1)3 SUBTTL STORAGE
****
2)2 ;START OF VERSION 4A
2) ;1101 Delete LSTLOD, add DTAFLG.
2)3 SUBTTL STORAGE
**************
1)13 LSTLOD::BLOCK 1 ;INDEX - LAST PROG WAS LOADED
1) LSTBLK::BLOCK 1 ;INDEX - POINTER TO LAST BLOCK L
OADED
****
2)13 ;**;[1101] Replace @ LSTLOD JNG 29-May-78
2) DTAFLG::BLOCK 1 ;[1101] INPUT DEVICE IS DECtape
2) LSTBLK::BLOCK 1 ;INDEX - POINTER TO LAST BLOCK L
OADED
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 65
PCO Log Report
*********************
*PCO #:20-LINK -006*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 19-JUN-78
[Programmer] D. NEFF
[Routines] LNKLOD
[Key Words] LC > 512P
[Source Before Edit] %4A (001101)
[Source After Edit] %4A (001102)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:20-11085
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 66
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Loading very large programs can cause ?LNKILC errors with
status 20016 (end of file) when a request to load a word early in
the program (such as initializing FORTRAN COMMON) is followed by a
request to load a word within a few pages of 512P.
**********
[DIAGNOSIS]
In the case above, LINK must move the window into the overflow
file from the beginning of the memory image to somewhere near 512P.
In this case, no check is made to keep the window in bounds. Since
all of LINK's subsequent code depends on memory images never
exceeding 512P, it reads in the new window from past the end of the
overflow file.
**********
[CURE]
If the window is about to cross the 512P boundary, slide it
back so the end of the window just fits inside 512P.
Digital Equipment Corporation 28-AUG-79 Page 67
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 2200 29-May-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1725 18-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 29-May-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 18-Jun-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1101 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1102 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1102 DZN 18-Jun-78 SPR 20-11085
2) ; Fix paging routines to detect moving a window past 512P.
In this
2) ; case, make the end of the window set right at 512P.
2) ; Routines: LNKLOD
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 68
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1554 30-May-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 1743 18-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 29-May-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 18-Jun-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1101 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1102 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1102 Keep window into overflow file in section 0.
2)5 SUBTTL LOAD CONTROL
**************
1)10 ;HERE TO MOVE WINDOW DOWN
1) ;FIRST OUTPUT THE WINDOW, THEN READ BACK WHAT WE NEED
1) ;READ BACK ONLY THE SMALLER OF LN.WD OR CURRENT SIZE
1) ;WE CAN ALWAYS EXPAND IF NEED BE
1) PG.SD: HRLZ T1,LW.S0(R) ;SETUP CONTROL WORD
****
2)10 ;HERE TO MOVE THE WINDOW EITHER UP OR DOWN, BUT WITH NO OVERLAPI
NG. FIRST,
2) ;OUTPUT CURRENT WINDOW, THEN READ BACK THE PORTION WE WILL NEED.
WINDOW
2) ;(POTENTIALLY) SHRINKS TO SMALLER OF LN.WD OR ITS CURRENT SIZE.
IF NEW WINDOW
2) ;ORIGIN PLUS LENGTH EXCEEDS 512P IN THE FILE'S ADDRESS SPACE, SL
IDE THE WINDOW
2) ;DOWN JUST ENOUGH SO IT ENDS AT 512P.
2) PG.SD: HRLZ T1,LW.S0(R) ;SETUP CONTROL WORD
**************
1)10 MOVEM T2,UW.S0(R) ;[717]
****
2)10 ;**;[1102] Insert before PG.SD+13L DZN 18-Jun-78
2) TLNE T2,-1 ;[1102] BUT IS WINDOW NOW PAST 5
12P?
2) JRST [SUBI T2,-1 ;[1102] YES--COMPUTE HOW
MUCH WE'RE OVER
2) SUB T2,LW.S0(R) ;[1102] MOVE WINDOW DOWN
BY THAT MUCH
2) MOVNM T2,LW.S0(R) ;[1102] ..
2) MOVEI T2,-1 ;[1102] TOP OF WINDOW IS
Digital Equipment Corporation 28-AUG-79 Page 69
PCO Log Report
NOW AT 512P
2) JRST .+1] ;[1102] CONTINUE WITH SA
ME WINDOW SIZE
2) MOVEM T2,UW.S0(R) ;[717]
**************
1)10
1)11 ;HERE TO MOVE WINDOW UP IN CORE
****
2)11 ;HERE TO MOVE WINDOW UP IN CORE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 70
PCO Log Report
*********************
*PCO #:10-LINK -234*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 3A, 4, TESTED IN 4(765)
[Date Entered] 20-JUN-78
[Programmer] D. NEFF
[Routines] LNKLOD
[Key Words] ZRO PRGPTR
[Source Before Edit] %4A (001102)
[Source After Edit] %4A (001103)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 71
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The observed symptom was LINK going into a loop after loading
the first link after the root in an overlaid COBOL version 12
program. However, a wide variety of errors are possible, all
related to LINK's dynamic area free list getting trashed. The
dependency on COBOL is caused by use of .REQUEST/.REQUIRE (REL
block types 16 and 17) which COBOL version 11 did not use.
**********
[DIAGNOSIS]
At the end of loading the root, LINK frees its list of
.REQUEST/.REQUIRE blocks, following their processing.
Unfortunately, the pointer to the now free list was not cleared,
causing LINK to free the same blocks again at the end of loading
the next link.
**********
[CURE]
Zero the pointer to the .REQUEST/.REQUIRE list after freeing
its contents.
Digital Equipment Corporation 28-AUG-79 Page 72
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1725 18-Jun-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1752 19-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 18-Jun-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 19-Jun-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1102 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1103 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1103 DZN 19-Jun-78
2) ; See that the list of .REQUEST/.REQUIRE blocks is not fre
ed twice,
2) ; to preserve the integrety of the DY area.
2) ; Routines: LNKLOD
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 73
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1743 18-Jun-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 1751 19-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 18-Jun-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 19-Jun-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1102 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1103 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1103 Zero the .REQUEST/.REQUIRE list pointer after freeing it
s contents.
2)5 SUBTTL LOAD CONTROL
**************
1)71 B16NOT: PJRST COR.FX ;FIXUP ALL CODE CHAINS
****
2)71 ;**;[1103] Insert before B16NOT DZN 19-Jun-78
2) SETZM PRGPTR ;[1103] REMEMBER THAT WE'RE DONE
2) B16NOT: PJRST COR.FX ;FIXUP ALL CODE CHAINS
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 74
PCO Log Report
*********************
*PCO #:10-LINK -235*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 20-JUN-78
[Programmer] GILBERT
[Routines] LNKCOR
[Key Words] ADDR CHECK EDIT 750
[Source Before Edit] %4A (001103)
[Source After Edit] %4A (001104)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-25712
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 75
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can get an address check error when loading an
extremely large program, or when loading in a restricted
amount of core on TOPS-10.
**********
[DIAGNOSIS]
When LINK decides to overflow the LC or HC areas to
disk, it tries to move about half of the area into the
overflow file. If half of the area is less than LINK's
default internal window size, then LINK tries to move at
least that much into the file. Unfortunately, if the entire
area is also smaller than LINK's internal window size, then
LINK tries to shrink the area by more pages than the area
contains. This results in an OUT UUO with a positive IOWD,
with the resulting address check.
**********
[CURE]
Remove the code that attempts to do this, since there
is no harm in the window being too small (it will grow as
required). It is necessary to output at least one page, but
this will never cause the above problem, since the area to
be output is always at least one page long.
This edit removes part of edit 750, and restores the
affected area of code to the way it looked in LINK version
3A and earlier.
Digital Equipment Corporation 28-AUG-79 Page 76
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1752 19-Jun-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1331 20-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 19-Jun-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 20-Jun-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1103 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1104 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1104 JNG 20-Jun-78
2) ; Fix address checks when dumping LC or HC area to disk.
Remove
2) ; edit 750 in LH.DMP, so we will never try to shrink the c
urrent
2) ; area by more pages than the area has.
2) ; Routines: LNKCOR
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 77
PCO Log Report
[FILCOM]
File 1) LINK:LNKCOR.MAC[30,4507] created: 1718 27-Apr-1978
File 2) LINK:LNKCOR.MAC[10,645063] created: 1337 20-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG 23-Mar-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG 20-Jun-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==771 ;DEC EDIT VERSION
1) SALL
****
2)1 DECEVR==1104 ;DEC EDIT VERSION
2) SALL
**************
1)4 SUBTTL SIMPLE TESTS FIRST
****
2)3 ;1104 Remove part of edit 750 from LH.DMP to fix address check
s.
2)4 SUBTTL SIMPLE TESTS FIRST
**************
1)61 CAIGE T2,.IWS ;[750] IN CASE ONLY RESERVE WIND
OW SIZE
1) MOVEI T2,.IWS ;[750]
1) SUBI T1,-1(T2) ;GET NEW BOTTOM WINDOW BOUND
****
2)61 ;**;[1104] Change @ LH.SET+1P8L JNG 20-Jun-78
2) CAIGE T2,.IPS ;[1104] IN CASE 1/2 IS .LT. 1 PA
GE,
2) MOVEI T2,.IPS ;[1104] DUMP ONE PAGE TO MARK
PAGING
2) SUBI T1,-1(T2) ;GET NEW BOTTOM WINDOW BOUND
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 78
PCO Log Report
*********************
*PCO #:10-LINK -236*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 20-JUN-78
[Programmer] GILBERT
[Routines] LNKFIO
[Key Words] SFDS
[Source Before Edit] %4A (001104)
[Source After Edit] %4A (001105)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 79
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK version 4 cannot find input files if they appear
in an SFD whose top-level directory is different than the
user's default path.
**********
[DIAGNOSIS]
Edit 740 destroyed an AC that contained the UFD. This
AC is later used to set up a path block if the path
specified includes SFDs.
**********
[CURE]
Move edit 740 up two lines, to before the AC has been
set up.
Digital Equipment Corporation 28-AUG-79 Page 80
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1331 20-Jun-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1534 20-Jun-1978
1)1 DECEVR==1104 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1105 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1105 JNG 20-Jun-78
2) ; Fix edit 740 to not destroy an AC that held the input fi
le's PPN.
2) ; This caused LINK to not be able to find a file when the
user gave
2) ; an explicit path including SFDs.
2) ; Routines: LNKFIO
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 81
PCO Log Report
[FILCOM]
File 1) LINK:LNKFIO.MAC[30,4507] created: 1500 03-Mar-1978
File 2) LINK:LNKFIO.MAC[10,645063] created: 1512 20-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH 20-Jun-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1105 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
****
2)2 ;START OF VERSION 4A
2) ;1105 Fix edit 740 to not destroy the path to the file if it i
ncludes SFDs.
2)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
**************
1)7 MOVE T2,F.DIR(P1) ;DIRECTORY
1) MOVEM T2,UFDPPN
1) MOVE T2,F.VER(P1) ;[740] VERSION NUMBER SPECIFIED
FOR INPUT FILE
1) CAME T2,[-1,,-1] ;[740] IF -1 MEANS SCAN SAW NOTH
ING
1) MOVEM T2,VERNUM ;[740] USED TO SET GLOBAL DEFAUL
T VERSION.
1) IFN LN.DRB,< ;IF ALLOWED FOR SFD'S
****
2)7 ;**;[1105] Move up from below @ DVINP.+9L JNG 20-Jun-7
8
2) MOVE T2,F.VER(P1) ;[1105] VERSION NUMBER SPECIFIED
FOR INPUT FILE
2) CAME T2,[-1] ;[1105] IF -1 MEANS SCAN SAW NOT
HING
2) MOVEM T2,VERNUM ;[1105] USED TO SET GLOBAL DEFAU
LT VERSION.
2) MOVE T2,F.DIR(P1) ;DIRECTORY
2) MOVEM T2,UFDPPN
2) IFN LN.DRB,< ;IF ALLOWED FOR SFD'S
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 82
PCO Log Report
*********************
*PCO #:10-LINK -237*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 27-JUN-78
[Programmer] GILBERT
[Routines] LNKLOD
[Key Words] PSECT EXE FILE TOO SHORT
[Source Before Edit] %4A (001105)
[Source After Edit] %4A (001106)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 83
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When LINK is asked to write an EXE file, the last few
pages of the low segment may not get written into the file.
This will only happen if the last thing in the low segment
is a PSECT that ends with a BLOCK statement. The words
represented by the BLOCK may be lost.
**********
[DIAGNOSIS]
LINK will only write the low segment as far as HL.S1,
the pointer to the last location in the low segment, tells
it to. Unfortunately, this location is incorrect if the
last thing in the low segment is a PSECT.
**********
[CURE]
Make sure that this word is at least as big as the end
of the highest PSECT loaded.
Digital Equipment Corporation 28-AUG-79 Page 84
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1534 20-Jun-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 0313 27-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 20-Jun-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 27-Jun-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1105 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1106 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1106 JNG 27-Jun-78 QAR RDH
2) ; Update HL.S1 from RC.CV of the highest PSECT loaded at t
he end of
2) ; loading. This causes the EXE file generator to allocate
all of
2) ; the pages that it should if the last PSECT ends with a B
LOCK statement.
2) ; Routines: LNKLOD
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 85
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1751 19-Jun-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 0317 27-Jun-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 19-Jun-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 27-Jun-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1103 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1106 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1106 Update HL.S1 from RC.CV of the highest PSECT loaded.
2)5 SUBTTL LOAD CONTROL
**************
1)69 CHKLL1: MOVE R2,RC.NO ;[760] USED IN CHKBND FOR LOOP C
ONTROL
1) ; JRST CHKBND ;[760]
****
2)69 ;FALL THROUGH TO NEXT PAGE
2)70 ;HERE TO UPDATE HL.S1 FROM PSECT INFO, IF NEEDED
2) ;**;[1106] Insert @ CHKLL1 JNG 27-Jun-78
2) CHKLL1: MOVE R,RC.NO ;[1106] POINT TO HIGHEST PSECT
2) CHKLL2: MOVE T1,@RC.TB ;[1106] GET POINTER TO THIS RC B
LOCK
2) MOVE T2,RC.SG(T1) ;[1106] GET SEGMENT NUMBER
2) CAIN T2,1 ;[1106] LOW SEG?
2) JRST CHKLL3 ;[1106] GOT HIGHEST PSECT, GO FI
X HL.S1
2) SOJGE R,CHKLL2 ;[1106] NO, LOOP OVER OTHER RELO
C. COUNTERS
2) JRST CHKLL4 ;[1106] NONE FOUND, DONE
2) ;HERE WHEN WE HAVE FOUND THE HIGHEST RC IN THE LOW SEG (A PSECT)
2) CHKLL3: SKIPN T2,RC.HL(T1) ;[1106] GET HL IF AVAILABLE
2) MOVE T2,RC.CV(T1) ;[1106] OR CV IF ITS NOT
2) CAMLE T2,HL.S1 ;[1106] POINT BEYOND CURRENT HL.
S1?
2) MOVEM T2,HL.S1 ;[1106] YES, UPDATE WITH NEW VAL
UE
2) CHKLL4: MOVE R2,RC.NO ;[1106] USED IN CHKBND FOR LOOP
CONTROL
2) ; JRST CHKBND ;[760]
**************
Digital Equipment Corporation 28-AUG-79 Page 86
PCO Log Report
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 87
PCO Log Report
*********************
*PCO #:10-LINK -239*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 04-AUG-78
[Programmer] CHEN
[Routines] LNKWLD
[Key Words] LNKPOV BAD NAME CORE MGMT
[Source Before Edit] %4A (001106)
[Source After Edit] %4A (001107)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 88
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Could be anything, including LNKRUC errors, illegal
memory references, etc. The observed symptom was a bad
PSECT name typed out as part of the LNKPOV message. This
will only happen when loading a program that contains more
than ten PSECTs.
**********
[DIAGNOSIS]
When LINK's PSECT table fills up, LINK deallocates it
and allocates a new larger one. Edit 706 (included in LINK
4) added a new PSECT table, thus requiring LINK to free up
and reallocate two tables. Unfortunately, the new code got
confused, thus freeing up the same block twice.
**********
[CURE]
Instead of doing two allocations followed by two
deallocations, do two allocation/deallocation sequences, and
fix the register usage to keep all the required information
around.
Digital Equipment Corporation 28-AUG-79 Page 89
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0313 27-Jun-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1619 03-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 27-Jun-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 3-Aug-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1106 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1107 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)5 ;1107 MCHC 3-Aug-78
2) ; Fix bug in .SETEX--routine to expand RC.TB and RC.NTB ta
bles
2) ; in DY area by obtaining bigger spaces, copying the data
from
2) ; the old tables, and freeing the old table spaces.
2) ; The bug was in address calculation in freeing one of the
tables.
2) ; The code is re-arranged to do a DY.GET followed by DY.RE
T
2) ; then another DY.GET and DY.RET
2) ; LNKWLD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 90
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 2153 29-May-1978
File 2) LINK:LNKWLD.MAC[10,645063] created: 1613 03-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 29-May-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 3-Aug-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1101 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECEVR==1107 ;DEC EDIT VERSION
2) ;CALLING SEQUENCE
**************
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)3 ;1107 Fix bug with .SETEX routine to expand RC.TB and RC.NTB t
ables
2)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)40 POP P,T2 ;[706]
****
2)40 ;**;[1107] Insert @ .SETEX+8L MCHC 3-Aug-78
2) SUBI T2,RC.INC(T1) ;[1107] GET OLD LENGTH
2) MOVE T3,RC.NTB ;[1107] CURRENT POSITION
2) HRRM T1,RC.NTB ;[1107] NEW
2) HRRZ T1,T3 ;[1107] OLD
2) PUSHJ P,DY.RET ;[1107] RETURN SPACE
2) POP P,T2 ;[706]
**************
1)40 PUSHJ P,DY.RET ;[706] RETURN SPACE
1) MOVE T3,RC.NTB ;[706] CURRENT
1) HRRM T1,RC.NTB ;[706] NEW
1) HRRZ T1,T3 ;[706] OLD
1) PJRST DY.RET## ;RETURN SPACE
****
2)40 ;**;[1107] Delete @ .SETEX+20L MCHC 3-Aug-78
2) PJRST DY.RET## ;RETURN SPACE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 91
PCO Log Report
*********************
*PCO #:10-LINK -238*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 27-JUN-78
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] BETTER MSG LNKPOV PSECT NAME
[Source Before Edit] %4A (001107)
[Source After Edit] %4A (001110)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 92
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The NPS message does not tell the user what PSECT it
was looking for.
**********
[DIAGNOSIS]
No code.
**********
[CURE]
Add the PSECT name to the end of the message.
Digital Equipment Corporation 28-AUG-79 Page 93
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1619 03-Aug-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1339 07-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 3-Aug-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 7-Aug-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1107 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1110 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1110 MCHC 7-Aug-78
2) ; Type out the PSECT name as part of the error message whe
n a
2) ; non-existent one is used with /SYMSEG in GETSST routine.
2) ; Don't clear the name from memory cell, loop back without
restoring the
2) ; stack and treat this case as a default case.
2) ; LNKXIT
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 94
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1007 04-May-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1348 07-Aug-1978
1)1 DECEVR==776 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1110 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1110 Output PSECT name as part of error message in GETSST.
2)5 SUBTTL ENTER HERE
**************
1)15 JRST [SKIPGE T1,SYMLIM ;[727] HAVE A DEFAULT LI
MIT?
1) HRRZM T1,SYMLIM ;[727] YES, MAKE IT THE
LIMIT
****
2)15 ;**;[1110] Add label @ GETSST+2L MCHC 7-Aug-78
2) GETS0: JRST [SKIPGE T1,SYMLIM ;[1110][727] HAVE A DEFA
ULT LIMIT?
2) HRRZM T1,SYMLIM ;[727] YES, MAKE IT THE
LIMIT
**************
1)15 .ERR. (MS,,V%M,L%W,S%W,NPS,<NON-EXISTENT PSECT SPECIFI
ED>)
1) SETZM SSGNAM ;[715]
1) MOVEI R,1 ;[715] SET TO LOW
1) MOVEM SYMSEG ;[715]
1) POP P,T1 ;[715] RESTORE AC'S
1) JRST GETSST+1 ;[715] AND LOOP BACK
1) GETS2: MOVE T2,RC.CV(T1) ;[715] GET HIGHEST LOCATION
****
2)15 ;**;[1110] Change @ GETS1+7L MCHC 7-Aug-78
2) .ERR. (MS,.EC,V%M,L%W,S%W,NPS,<NON-EXISTENT PSECT SPEC
IFIED -- >) ;[1110]
2) .ETC. (SBX,.EP,,,,SSGNAM) ;[1110] OUTPUT PSECT NAM
E
2) MOVEI R,1 ;[715] SET TO LOW
2) MOVEM SYMSEG ;[715]
2) JRST GETS0 ;[1110][715] AND LOOP BACK
2) GETS2: MOVE T2,RC.CV(T1) ;[715] GET HIGHEST LOCATION
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 95
PCO Log Report
*********************
*PCO #:10-LINK -240*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(772)
[Date Entered] 15-AUG-78
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] ADDR CHECK EDIT 772
[Source Before Edit] %4A (001110)
[Source After Edit] %4A (001111)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 96
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When edit 772 is installed, LINK can die with I/O to
unassigned channel errors when writing an EXE file.
**********
[DIAGNOSIS]
The left half of P2 and P4 are left set up with junk,
so address compares fail.
**********
[CURE]
Zero the left halves.
Digital Equipment Corporation 28-AUG-79 Page 97
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1339 07-Aug-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1625 07-Aug-1978
1)1 DECEVR==1110 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1111 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1111 MCHC 7-Aug-78
2) ; Fix LNKXIT core management bug introduced by edit 772.
2) ; LNKXIT
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 98
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1348 07-Aug-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1617 07-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 4-May-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 7-Aug-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1110 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1111 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1111 Fix core management bug introduced by edit 772.
2)5 SUBTTL ENTER HERE
**************
1)17 MOVE P2,P4 ;COPY INCASE NOT ENOUGH
****
2)17 ;**;[1111] Change @ LSREQ1+5L MCHC 7-Aug-78
2) HRRZS P2,P4 ;[1111] COPY RH IN CASE NOT ENOU
GH
2) MOVE P2,P4 ;COPY INCASE NOT ENOUGH
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 99
PCO Log Report
*********************
*PCO #:10-LINK -241*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 15-AUG-78
[Programmer] GILBERT
[Routines] LNKPAR LNKMAP
[Key Words] MAP FENCEPOST OFF BY 1
[Source Before Edit] %4A (001111)
[Source After Edit] %4A (001112)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-25902
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 100
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If a segment is exactly a multiple of 1000 words long,
then the LINK map will report that it is one P (or K on KA
systems) longer than it really is, and the number of words
free in the segment will be reported as 512 instead of zero.
**********
[DIAGNOSIS]
LINK rounds up to the next 1P boundary by oring in 777,
and then adding one. This gives incorrect results for a
number already on a page boundary.
**********
[CURE]
Round up by adding 777, then truncating to a 1P
boundary.
Digital Equipment Corporation 28-AUG-79 Page 101
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1625 07-Aug-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1427 15-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 7-Aug-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-Aug-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1111 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1112 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1112 JNG 15-Aug-78 SPR 10-25902
2) ; Fix one off bugs in map printing segment lengths in K/P
and
2) ; words free.
2) ; Routines: LNKPAR, LNKMAP
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 102
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 1434 01-Mar-1978
File 2) LINK:LNKPAR.MAC[10,645063] created: 1422 15-Aug-1978
1)1 UNIVERSAL LNKPAR - PARAMETERS FOR LINK-10
1) SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH 27-Feb-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 UNIVERSAL LNKPAR - PARAMETERS FOR LINK
2) SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH 15-Aug-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) LOC 137 ;KEEPS MACRO HAPPY
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1112 ;DEC EDIT VERSION
2) LOC 137 ;KEEPS MACRO HAPPY
**************
1)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
****
2)5 ;START OF VERSION 4A
2) ;1112 Insert the ADD. macro.
2)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
**************
1)22 OPDEF IOR. [IORI] ;IMMEDIATE MODE
****
2)22 ;**;[1112] Insert @ IOR. definition under IFN TOPS20 JNG
15-Aug-78
2) OPDEF ADD. [ADDI] ;[1112] IMMEDIATE MODE
2) OPDEF IOR. [IORI] ;IMMEDIATE MODE
**************
1)22 OPDEF IOR. [IOR] ;FROM MEMORY
****
2)22 ;**;[1112] Insert @ IOR. definition under IFE TOPS20 JNG
15-Aug-78
2) OPDEF ADD. [ADD] ;[1112] FROM MEMORY
2) OPDEF IOR. [IOR] ;FROM MEMORY
**************
Digital Equipment Corporation 28-AUG-79 Page 103
PCO Log Report
[FILCOM]
File 1) LINK:LNKMAP.MAC[30,4507] created: 1201 23-May-1978
File 2) LINK:LNKMAP.MAC[10,645063] created: 1408 15-Aug-1978
1)1 TITLE LNKMAP - MAP MODULE FOR LINK-10
1) SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 23-May-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 TITLE LNKMAP - MAP MODULE FOR LINK
2) SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 15-Aug-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1100 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1112 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL HEADER LINES
****
2)3 ;START OF VERSION 4A
2) ;1100 Don't free up a different size title buffer than we allo
cated.
2) ;1112 Get words free and segment lengths in K/P right in the m
ap.
2)4 SUBTTL HEADER LINES
**************
1)6 IFN TOPS20,<
1) JUMPE T1,.+3 ;LEAVE 0 ALONE
1) IORI T1,.PGSIZ ;ALWAYS PAGES
1) ADDI T1,1
1) >
1) IFE TOPS20,<
1) MOVE T2,.PGSIZ ;P OR K BOUND
1) JUMPE T1,.+3 ;LEAVE 0 ALONE
1) IOR T1,T2
1) ADDI T1,1
1) CAIE T2,777 ;PAGES?
****
2)7 ;**;[1112] Replace @ SGSTF0+24L JNG 15-Aug-78
2) ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT PAGE BO
UND
2) ANDCM. T1,.PGSIZ ;[1112] ..
2) IFE TOPS20,<
2) MOVE T2,.PGSIZ ;[1112] GET THIS SYSTEM'S PAGE S
IZE
2) CAIE T2,777 ;PAGES?
**************
1)9 IFN TOPS20,<
1) JUMPE T1,.+3 ;LEAVE 0 ALONE
1) IORI T1,.PGSIZ ;ALWAYS PAGES
Digital Equipment Corporation 28-AUG-79 Page 104
PCO Log Report
1) ADDI T1,1
1) >
1) IFE TOPS20,<
1) MOVE T2,.PGSIZ ;P OR K BOUND
1) JUMPE T1,.+3 ;LEAVE 0 ALONE
1) IOR T1,T2
1) ADDI T1,1
1) CAIE T2,777 ;PAGES?
****
2)10 ;**;[1112] Replace @ SEGSTF+21L JNG 15-Aug-78
2) ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT PAGE BO
UND
2) ANDCM. T1,.PGSIZ ;[1112] ..
2) IFE TOPS20,<
2) MOVE T2,.PGSIZ ;[1112] GET THIS SYSTEM'S PAGE S
IZE
2) CAIE T2,777 ;PAGES?
**************
1)11 IOR. T1,.PGSIZ ;ROUND UP TO NEXT P OR K
1) SUB T1,HL.S1 ;FIND WHATS LEFT
1) ADDI T1,1
1) PUSHJ P,.TDECW## ;PRINT IN DECIMAL
****
2)12 ;**;[1112] Replace @ SEGDN+2L JNG 15-Aug-78
2) ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT P OR K
2) ANDCM. T1,.PGSIZ ;[1112] ..
2) SUB T1,HL.S1 ;FIND WHATS LEFT
2) PUSHJ P,.TDECW## ;PRINT IN DECIMAL
**************
1)11 IOR. T1,.PGSIZ
1) SUB T1,HL.S2
1) ADDI T1,1
1) PUSHJ P,.TDECW##
****
2)12 ;**;[1112] Replace @ SEGDN+13L JNG 15-Aug-78
2) ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT P OR K
2) ANDCM. T1,.PGSIZ ;[1112] ..
2) SUB T1,HL.S2
2) PUSHJ P,.TDECW##
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 105
PCO Log Report
*********************
*PCO #:20-LINK -007*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 30-AUG-78
[Programmer] D. NEFF
[Routines] LNKPLT LNKCOR LNKXIT LNKERR
[Key Words] PLOT NO LC
[Source Before Edit] %4A (001112)
[Source After Edit] %4A (001113)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:20-12001
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 106
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When loading an overlaid program and asking for a plot of the
overlay tree, LINK dies with various errors, usually an illegal
memory reference. This error is more common when the overlay tree
is printed in line printer format, or if the tree is very large.
**********
[DIAGNOSIS]
LINK is trying to expand memory while plotting the tree, and
tries to move the LC area for more room. However, plotting is done
after everything else, so no LC area exists. On TOPS-20, this is
compounded by LINK's memory manager believing that it has expanded
as much as possible, even though the plotting code has shrunk back.
**********
[CURE]
Change LINK's memory manager to give LNKCEF if it has expanded
as much as it can, and there are no areas that can be moved or
paged out. On TOPS-20, see that LINK really does not shrink back
until final program placement, so that the memory manager's
assumptions are true. Finally, add a new message, LNKPOT, to
inform the user when LINK is plotting the overlay tree.
Digital Equipment Corporation 28-AUG-79 Page 107
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1427 15-Aug-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1533 25-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-Aug-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 25-Aug-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1112 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1113 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1113 DZN 25-Aug-78 SPR 20-12001
2) ; Fix memory management problems when plotting the overlay
2) ; tree. See that LINK never shrinks back on TOPS-20 until
final
2) ; placement of the loaded program. Add LNKPOT message to t
ell user
2) ; when LINK is plotting the overlay tree.
2) ; Routines: LNKCOR, LNKXIT, LNKPLT, LNKERR
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 108
PCO Log Report
[FILCOM]
File 1) LINK:LNKCOR.MAC[30,4507] created: 1337 20-Jun-1978
File 2) LINK:LNKCOR.MAC[10,645063] created: 1235 30-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG 20-Jun-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 25-Aug-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1104 ;DEC EDIT VERSION
1) SALL
****
2)1 DECEVR==1113 ;DEC EDIT VERSION
2) SALL
**************
1)4 SUBTTL SIMPLE TESTS FIRST
****
2)3 ;1113 Fix memory bugs when writing overlay tree.
2)4 SUBTTL SIMPLE TESTS FIRST
**************
1)41 LCOVF: MOVE T1,LC.AB ;[650] FIND SIZE
1) SUB T1,LC.LB ;[650]
****
2)41 ;**;[1113] Insert before LCOVF DZN 25-Aug-78
2) LCOVF: SKIPN LC.LB ;[1113] LAST CHANCE--IS THERE AN
LC AREA?
2) JRST NO.COR ;[1113] NO--JUST RAN OUT OF LUCK
2) MOVE T1,LC.AB ;[650] FIND SIZE
2) SUB T1,LC.LB ;[650]
**************
Digital Equipment Corporation 28-AUG-79 Page 109
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1428 01-Mar-1978
File 2) LINK:LNKERR.MAC[10,645063] created: 1235 30-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 25-Aug-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1113 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL FIND MESSAGE
****
2)2 ;1113 Add long message for LNKPOT.
2)3 SUBTTL FIND MESSAGE
**************
1)9 PSF 31 31 Polish symbol fixups not yet implemented
****
2)9 POT 1 1 Plotting overlay tree
2) PSF 31 31 Polish symbol fixups not yet implemented
**************
1)10 HASH PSF,0,<^_
****
2)10 ;**;[1113] Insert in long messages before LNKPSF message
DZN 25-Aug-78
2) HASH POT,0,<^_
2) LINK is creating your overlay tree file.>
2) HASH PSF,0,<^_
**************
Digital Equipment Corporation 28-AUG-79 Page 110
PCO Log Report
[FILCOM]
File 1) LINK:LNKPLT.MAC[30,4507] created: 1439 07-Mar-1978
File 2) LINK:LNKPLT.MAC[10,645063] created: 1727 25-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 25-Aug-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) SALL
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1113 ;DEC EDIT VERSION
2) SALL
**************
1)3 SUBTTL BLISS CONVENTIONS
****
2)2 ;1113 Don't shrink back on TOPS-20, and add LNKPOT message.
2)3 SUBTTL BLISS CONVENTIONS
**************
1)5 ZAPTMP ;CLEAR TEMP AREA
****
2)5 ;**;[1113] Insert after LNKPLT DZN 25-Aug-78
2) .ERR. (MS,0,V%L,L%I,S%I,POT,<Plotting overlay tree>)
2) ZAPTMP ;CLEAR TEMP AREA
**************
1)5 CORE T1, ;CUT BACK
1) JFCL ;TOO BAD
1) MOVE T1,DY.UB ;PREVIOUS UPPER BOUND
****
2)5 ;**;[1113] Insert after LNKPLT+4L DZN 25-Aug-78
2) IFN TOPS20,< ;[1113] SHRINK THEN EXPAND TO SA
ME SIZE ON TOPS-20
2) MOVE T2,.JBREL ;[1113] REMEMBER HOW BIG WE ARE
2) CORE T1, ;[1113] SHRINK TO KILL PAGES
2) JFCL ;[1113]
2) MOVE T1,T2 ;[1113] NOW GROW TO OLD SIZE WIT
H EMPTY PAGES
2) >
2) CORE T1, ;[1113] SHRINK ON TOPS-10, GROW
ON TOPS-20
2) JFCL ;TOO BAD
2) SETZM CORFUL ;[1113] ALLOW LNKCOR TO WORK HAR
D FOR US
2) MOVE T1,DY.UB ;PREVIOUS UPPER BOUND
**************
Digital Equipment Corporation 28-AUG-79 Page 111
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1617 07-Aug-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1709 25-Aug-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 7-Aug-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 25-Aug-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1111 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1113 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1113 See that LINK doesn't shrink on TOPS-20 until really nec
essary.
2)5 SUBTTL ENTER HERE
**************
1)14 GSDLT: SKIPN .JBDDT(T1) ;SEE IF WE NEED LOCAL SYMBOLS
1) SKIPE SYMSEG ;EITHER FOR /DEB OR /SYMSEG
****
2)14 ;**;[1113] Change @GSDLT DZN 25-Aug-78
2) GSDLT:
2) IFE TOPS20,< ;[1113] DON'T SHRINK BACK ON TOP
S-20
2) SKIPN .JBDDT(T1) ;SEE IF WE NEED LOCAL SYMBOLS
2) SKIPE SYMSEG ;EITHER FOR /DEB OR /SYMSEG
**************
1)14 GSNRED: PUSHJ P,GS.ZAP ;GET RID OF GS
****
2)14 ;**;[1113] Change @GSNRED DZN 25-Aug-78
2) > ;END OF IFE TOPS20
2) GSNRED: PUSHJ P,GS.ZAP ;GET RID OF GS
**************
1)84 CAMG T1,.JBREL ;DO WE HAVE ENOUGH ALREADY?
****
2)84 ;**;[1113] Insert after JBCC+19L DZN 25-Aug-78
2) IFE TOPS20,< ;[1113] SEE IF WE CAN EXPAND ON
TOPS-10
2) CAMG T1,.JBREL ;DO WE HAVE ENOUGH ALREADY?
**************
1)84 ;FALL INTO JBGC TO READ IN READ
IN REST OF TEMP FILE
****
2)84 ;**;[1113] Insert after JBCC+28L DZN 25-Aug-78
2) >
2) IFN TOPS20,< ;[1113] WE'RE AS BIG AS WE CAN G
Digital Equipment Corporation 28-AUG-79 Page 112
PCO Log Report
ET ON TOPS-20
2) CAMLE T1,.JBREL ;[1113] DO WE HAVE ENOUGH ALREAD
Y?
2) JRST JBNC ;[1113] NO--GO DO IT THE HARD WA
Y
2) >
2) ;FALL INTO JBGC TO READ IN READ
IN REST OF TEMP FILE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 113
PCO Log Report
*********************
*PCO #:20-LINK -008*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 01-SEP-78
[Programmer] D. NEFF
[Routines] LNKOLD LNKLOD
[Key Words] COBOL SYMS ALGOL OWNS
[Source Before Edit] %4A (001113)
[Source After Edit] %4A (001114)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:20-11999
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 114
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK allocates too much room for modules after any COBOL
module used with /LOCALS or ALGOL module, when all the modules are
in a single REL file that is not being loaded with /SEARCH or
/INCLUDE. This causes programs to load much larger than necessary.
**********
[DIAGNOSIS]
COBOL symbols and ALGOL OWNs are not counted in the segment
break in REL block 5 (END), so that LINK must count them separately
and add them in at the end of the module. Unfortunately, when the
conditions above are met, LINK neglects to zero them when it is
through. Thus, the lengths get added in to each subsequent module
in the REL file.
**********
[CURE]
See that the counts get zeroed immediately after use.
Digital Equipment Corporation 28-AUG-79 Page 115
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1533 25-Aug-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1643 01-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 25-Aug-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-Sep-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1113 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1114 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1114 DZN 1-Sep-78 SPR 20-11999
2) ; Zero count of COBOL symbol words and ALGOL OWNs loaded w
hen
2) ; done loading a module, so they don't get counted in subs
equent
2) ; modules in the same file.
2) ; Routines: LNKOLD, LNKLOD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 116
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1800 30-May-1978
File 2) LINK:LNKOLD.MAC[10,645063] created: 1647 01-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 29-May-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 1-Sep-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1101 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1114 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)5 COMMENT \
****
2)4 ;1114 Zero count of COBOL symbols and ALGOL OWNs in T.5A.
2)5 COMMENT \
**************
1)48 T.5F40:: ;ENTRY FROM LNKF40
****
2)47 ;**;[1114] Insert after T.5A+15L DZN 1-Sep-78
2) SETZM LOD37 ;[1114] DONE WITH COBOL SYMBOLS
2) SETZM OWNLNG ;[1114] AND ALGOL OWNS
2) ; SETZM VARLNG ;[1114] AND LVARS
2)48 T.5F40:: ;ENTRY FROM LNKF40
**************
Digital Equipment Corporation 28-AUG-79 Page 117
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 0317 27-Jun-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 1654 01-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 27-Jun-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 1-Sep-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1106 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1114 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1114 Don't clear COBOL symbols and ALGOL OWNs in LODTST (move
d to T.5A).
2)5 SUBTTL LOAD CONTROL
**************
1)5 SETZM OWNLNG ;CLEAR ALGOL OWN BLOCK LENGTH
1) SETZM LOD37 ;COBOL LOCAL SYMBOL SIZE
1) ; SETZM VARLNG ;BLOCK TYPE 13 LVARS
1) TRNN FL,R.LIB!R.INC ;IN LIBRARY SEARCH MODE OR /INC
MODE?
****
2)5 ;**;[1114] Delete @LODTST+2 DZN 1-Sep-78
2) TRNN FL,R.LIB!R.INC ;IN LIBRARY SEARCH MODE OR /INC
MODE?
**************
1)89 POPJ P,
****
2)89 ;**;[1114] Insert after EOFTS+14L DZN 1-Sep-78
2) SETZM LOD37 ;[1114] DONE WITH COBOL SYMBOLS
2) SETZM OWNLNG ;[1114] AND ALGOL OWNS
2) ; SETZM VARLNG ;[1114] AND LVARS
2) POPJ P,
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 118
PCO Log Report
*********************
*PCO #:20-LINK -009*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 04-SEP-78
[Programmer] D. NEFF
[Routines] LNKOLD LNKERR
[Key Words] OV HGH COD LNKHCL
[Source Before Edit] %4A (001114)
[Source After Edit] %4A (001115)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:20-11997
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 119
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
No complaints from LINK when loading high segment code in a
link other than the root in an overlaid program. This frequently
happens when a user attempts to build an overlaid program with
COBOL modules compiled with the /R COBOL switch.
**********
[DIAGNOSIS]
LINK's overlay facility depends completely on all code in
links other than the root residing in the low segment. However, no
load-time check is made to save users much grief and confusion
later.
**********
[CURE]
Add a check, and new message LNKHCL.
Digital Equipment Corporation 28-AUG-79 Page 120
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1643 01-Sep-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1838 02-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-Sep-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 2-Sep-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1114 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1115 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1115 DZN 2-Sep-78 SPR 20-11997
2) ; Add LNKHCL message to complain when loading high segment
code
2) ; into a link other than the root in an overlaid program.
2) ; Routines: LNKERR, LNKOLD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 121
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1235 30-Aug-1978
File 2) LINK:LNKERR.MAC[10,645063] created: 1840 02-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 25-Aug-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 2-Sep-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1113 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1115 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL FIND MESSAGE
****
2)2 ;1115 Add long message for LNKHCL.
2)3 SUBTTL FIND MESSAGE
**************
1)9 HSL 31 31 Attempt to set high segment origin too l
ow
****
2)9 HCL 31 31 High segment code not allowed in an over
lay link in module [module]
2) HSL 31 31 Attempt to set high segment origin too l
ow
**************
1)10 IFE TOPS20,<
****
2)10 ;**;[1115] Insert before LNKHSL long message DZN 2-Sep-78
2) HASH HCL,0,<^_
2) You have attempted to load high segment code into
an
2) overlay link other than the root. Any high segment code
in
2) an overlaid program must be in the root.>
2) IFE TOPS20,<
**************
Digital Equipment Corporation 28-AUG-79 Page 122
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1647 01-Sep-1978
File 2) LINK:LNKOLD.MAC[10,645063] created: 1944 02-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 1-Sep-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 2-Sep-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1114 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1115 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)5 COMMENT \
****
2)4 ;1115 Add LNKHCL message to complain about loading high seg in
non-root link.
2)5 COMMENT \
**************
1)36 T.3: HRRZ W2,W1 ;GET WORD COUNT
1) PUSHJ P,D.IN1## ;GET A WORD (RELOCATION BYTES)
****
2)36 ;**;[1115] Replace @T.3 DZN 2-Sep-78
2) T.3:
2) IFN FTOVERLAY,<
2) TRNN FL,R.FLS ;[1115] NOT FORCING INTO LOW SEG
?
2) SKIPGE LNKMAX ;[1115] AND NOT ROOT LINK?
2) JRST T.3C ;[1115] NO
2) .ERR. (MS,.EC,V%L,L%F,S%F,HCL,<High segment code not a
llowed in an overlay link in module >)
2) .ETC. (SBX,.EP,,,,PRGNAM)
2) T.3C:
2) > ;END OF IFN FTOVERLAY
2) HRRZ W2,W1 ;GET WORD COUNT
2) PUSHJ P,D.IN1## ;GET A WORD (RELOCATION BYTES)
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 123
PCO Log Report
*********************
*PCO #:20-LINK -010*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 07-SEP-78
[Programmer] GILBERT
[Routines] LNKLOD
[Key Words] LOST CODE EDIT 716 PSECTS
[Source Before Edit] %4A (001115)
[Source After Edit] %4A (001116)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:20-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 124
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Large areas of the program being loaded will be lost;
there will be zeros where there should be code and data.
This will only happen when loading a program that uses
PSECTs, or any large program that does not load some segment
monotonically (e.g., LOC or RELOC statements are used to
skip around in the address space being loaded). This will
only happen in LINK version 4 or later.
**********
[DIAGNOSIS]
Part of edit 716 removed code to read in data that had
already been loaded above the point where data was currently
being placed. Unfortunately, if the data is not read in, it
will be lost.
**********
[CURE]
Remove that portion of edit 716; replace the original
code.
Digital Equipment Corporation 28-AUG-79 Page 125
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1838 02-Sep-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 2135 07-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 2-Sep-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 7-Sep-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1115 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1116 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1116 JNG 7-Sep-78
2) ; Put back part of the code removed by edit 716. Performa
nce
2) ; improvements are only kosher as long as the code removed
is
2) ; unneeded.
2) ; Routines: LNKLOD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 126
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1654 01-Sep-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 2141 07-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 1-Sep-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 7-Sep-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1114 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1116 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1116 When expanding a window in PG.SX, read in any data alrea
dy in the
2) ; overflow file for the region being created. Broken by 7
16.
2)5 SUBTTL LOAD CONTROL
**************
1)12 ;[716] CAML T1,HB.S0(R) ;HOWEVER IF EVEN BIGGER HAS BEEN
SEEN?
1) JRST RPOPJ ;NO, RESTORE R AND RETURN
1) ;[716] HRLZI T1,1(T1) ;IT MUST BE ON THE DSK
1) ;[716] HRR T1,UW.S0(R) ;SO SETUP TRANSFER REQUEST
1) ;[716] PUSHJ P,@[EXP LC.IN##,HC.IN##]-1(R)
1) ;[716] PJRST FIXUP ;AND DO ANY FIXUPS
1)13 ;SIMILARLY FOR HIGH SEG
****
2)12 ;**;[1116] Remove edit 716 @ PG.SX+12L JNG 7-Sep-78
2) CAML T1,HB.S0(R) ;[1116] HOWEVER IF EVEN BIGGER H
AS BEEN SEEN?
2) JRST RPOPJ ;NO, RESTORE R AND RETURN
2) HRLZI T1,1(T1) ;[1116] IT MUST BE ON THE DSK
2) HRR T1,UW.S0(R) ;[1116] SO SETUP TRANSFER REQUES
T
2) PUSHJ P,@[EXP LC.IN##,HC.IN##]-1(R) ;[1116]
2) PJRST FIXUP ;[1116] AND DO ANY FIXUPS
2)13 ;SIMILARLY FOR HIGH SEG
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 127
PCO Log Report
*********************
*PCO #:10-LINK -242*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765), TESTED IN 4A(1116)
[Date Entered] 21-SEP-78
[Programmer] D. NEFF
[Routines] LNKPAR LNKWLD
[Key Words] /NOINCLUDE
[Source Before Edit] %4A (001116)
[Source After Edit] %4A (001117)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-26102
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 128
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The command string
/INCLUDE:A D.REL
does not load module A from D.REL.
**********
[DIAGNOSIS]
There are two operations performed by the /INCLUDE switch. First,
the switch's arguments (if any) are added to the list of modules to
be loaded when a file is in `include mode'. Second, /INCLUDE may
also set `include mode'.
In old versions of LINK, /INCLUDE did both operations all the time.
Thus,
/INCLUDE:(A,B,C) D,E,F
loaded only modules A, B and C from REL files D, E and F. The
problem was that if, say, a user wanted all modules in E.REL to be
loaded, there was no way to turn off the `include mode' action of
the sticky /INCLUDE.
Therefore, an edit was made to partially decouple the two actions
of /INCLUDE, so that specifying /INCLUDE with arguments only added
module names to the list of those to include, but did not set
`include mode'. A /INCLUDE switch without any arguments would then
set `include mode' for a file. Thus, in the above example, one
could type
/INCLUDE:(A,B,C) D/INCLUDE,E,F/INCLUDE
and get the desired results of looking for modules A, B and C in
REL files D and F, but loading all modules in E.
Unfortunately, this action is counter-intuitive, and required
Digital Equipment Corporation 28-AUG-79 Page 129
PCO Log Report
numerous and seemingly redundant specifications of /INCLUDE.
Another problem was that after the edit, /INCLUDE specified with
arguments for a specific file (such as D/INCLUDE:A) would also set
`include mode'. This made the action of /INCLUDE even more
difficult to understand. In particular, the obvious case mentioned
in the symptom above no longer worked.
**********
[CURE]
Put /INCLUDE back the way it was so that it always sets `include
mode' along with adding any specified module names to the list to
be checked. However, also add a new switch /NOINCLUDE which will
temporarily turn off `include mode' without affecting the list of
modules to include. To clarify the new setup, consider the
following examples:
/INCLUDE:A D
will load only module A from B.REL
/INCLUDE:(A,B,C) D,E,F
will load only modules A, B and C from REL files D, E and
F
/INCLUDE:(A,B,C) D,E/NOINCLUDE,F
will load only modules A, B and C from REL files D and F,
but will load all of E.REL.
/INCLUDE:(A,B,C) D,/NOINCLUDE E,F,/INCLUDE G
will load only modules A, B and C from REL files D and G,
but will load all of REL files E and F
Note that /NOINCLUDE takes no arguments; its only intended use is
to temporarily turn off `include mode' for certain files.
Also, since the switch table in LNKPAR is changed by this edit, it
is suggested that all of LINK's modules be recompiled, rather than
just those explicitly edited by the following FILCOM.
Digital Equipment Corporation 28-AUG-79 Page 130
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 2135 07-Sep-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1255 14-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 7-Sep-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Sep-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1116 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1117 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1117 DZN 14-Sep-78
2) ; Make /INCLUDE:args also set include mode, as it did long
ago.
2) ; But also add /NOINCLUDE to turn off include mode but not
2) ; delete the original args.
2) ; Routines: LNKPAR, LNKWLD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 131
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 1422 15-Aug-1978
File 2) LINK:LNKPAR.MAC[10,645063] created: 1259 14-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH 15-Aug-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 14-Sep-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1112 ;DEC EDIT VERSION
1) LOC 137 ;KEEPS MACRO HAPPY
****
2)1 DECEVR==1117 ;DEC EDIT VERSION
2) LOC 137 ;KEEPS MACRO HAPPY
**************
1)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
****
2)5 ;1117 Add /NOINCLUDE switch.
2)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
**************
1)33 SWMAC SS,NOINITIAL,,0,,3
****
2)33 ;;**;[1117] Insert before /NOINITIAL switch in SWTCHS macro
DZN 14-Sep-78
2) SWMAC SS,NOINCLUDE,,0,,3,.;; ;[1117] TURN OFF STICKY
/INCLUDE
2) SWMAC SS,NOINITIAL,,0,,3
**************
Digital Equipment Corporation 28-AUG-79 Page 132
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1613 03-Aug-1978
File 2) LINK:LNKWLD.MAC[10,645063] created: 1308 14-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 3-Aug-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 14-Sep-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1107 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECEVR==1117 ;DEC EDIT VERSION
2) ;CALLING SEQUENCE
**************
1)3 ;775 Make sure /DEBUG:FORTRAN loads the starting address of F
ORDDT.
1) ;1101 Set LSTBLK and DTAFLG correctly on new input files.
1) ;1107 Fix bug with .SETEX routine to expand RC.TB and RC.NTB t
ables
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)3 ;START OF VERSION 4A
2) ;775 Make sure /DEBUG:FORTRAN loads the starting address of F
ORDDT.
2) ;1101 Set LSTBLK and DTAFLG correctly on new input files.
2) ;1107 Fix bug with .SETEX routine to expand RC.TB and RC.NTB t
ables.
2) ;1117 Add /NOINCLUDE switch and make /INCLUDE:args set include
mode.
2)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)26 JUMPN T2,INCL.1 ;IF ARGUMENTS, JUST STORE THEM
1) TDO FL,[L.INC,,R.INC] ;ELSE /INC MODE ON THIS
LINE
1) POPJ P, ;DONE SINCE NO ARGS TO PROCESS
1) INCL.1: MOVSS EXCPTR ;SWAP PTR TO PUT PERMANENT PART
INTO RH
1) MOVSS INCPTR
1) PUSHJ P,%INCLUDE ;STORE NAME
1) TLNN FL,L.INC ;UNLESS BY STICKY SWITCH,
1) TRZ FL,R.INC ; NEXT FILE ISN'T IN /INCLUDE
1) MOVSS EXCPTR ;SWAP BACK
****
2)26 ;**;[1117] Change @.INCLUDE+1L DZN 14-Sep-78
2) TDO FL,[L.INC,,R.INC] ;[1117] ALWAYS SET INCLUDE MOD
E
2) SKIPN T2 ;[1117] SEE IF ANY ARGS TO STORE
2) POPJ P, ;[1117] NO--JUST RETURN
Digital Equipment Corporation 28-AUG-79 Page 133
PCO Log Report
2) MOVSS EXCPTR ;SWAP PTR TO PUT PERMANENT PART
INTO RH
2) MOVSS INCPTR
2) PUSHJ P,%INCLUDE ;STORE NAME
2) MOVSS EXCPTR ;SWAP BACK
**************
1)27 ;ROUTINES TO SEARCH THE INCLUDE/EXCLUDE BLOCKS FOR A MATCH.
****
2)26 ;**;[1117] Insert after %INCLUDE+10L DZN 14-Sep-78
2) .NOINCLUDE:
2) TDZ FL,[L.INC,,R.INC] ;[1117] TURN OFF INCLUDE MODE
2) POPJ P, ;[1117] CAN BE TURNED ON BY LATE
R /INCLUDE
2) %NOINCLUDE:
2) TRZ FL,R.INC ;[1117] TURN OFF LOCAL INCLUDE M
ODE
2) POPJ P, ;[1117] DONE
2)27 ;ROUTINES TO SEARCH THE INCLUDE/EXCLUDE BLOCKS FOR A MATCH.
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 134
PCO Log Report
*********************
*PCO #:10-LINK -243*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(766) TESTED IN 4(1117)
[Date Entered] 26-SEP-78
[Programmer] D. NEFF
[Routines] LNKOLD LNKLOD LNKMAP LNKERR
[Key Words] CPU TYPES
[Source Before Edit] %4A (001117)
[Source After Edit] %4A (001120)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-26135
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 135
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK doesn't handle the CPU type bits in the title REL block (type
6) correctly. Some of the possible symptoms are:
1. Saying .DIRECTIVE KA10,KI10 in a MACRO program causes LINK
to indicate in the map that the module was built for a KL
only.
2. `LNKKIA Cannot mix KI and KA compiled code' results even
when the mismatch is due to a KL specification.
Edit 766 only compounded the problem, by treating KIs and KLs as
the same.
**********
[DIAGNOSIS]
The field in the title REL block allows specification of a set of
CPUs on which the module may run, not just a single CPU. LINK's
tables and checks believe that the CPU field is a single number,
one for each CPU type.
**********
[CURE]
Make LINK understand the CPU type bits as defined in the title REL
block. This involves a number of changes:
1. Remove edit 766 if it was installed (the FILCOM shows the
removal of edit 766).
2. Keep a mask of all CPUs on which the program being loaded
will run, and update it as modules with CPU specifications
are read in. If loading a module with a CPU specification
keeps the entire program from running on any type of CPU,
Digital Equipment Corporation 28-AUG-79 Page 136
PCO Log Report
give the message
?LNKCCD CPU conflict detected in module [module]
3. Remove the LNKKIA message.
4. Print all applicable CPU types specified for a module in
the map (unless all CPUs were specified).
5. Indicate in the page header of the map after the program
name, all CPUs on which the entire program will run
(unless all CPUs). This is the logical AND of the CPU
specifications of all loaded modules.
Digital Equipment Corporation 28-AUG-79 Page 137
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1255 14-Sep-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1552 22-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Sep-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 22-Sep-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1117 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1120 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1120 DZN 22-Sep-78 SPR 10-26135
2) ; Fix CPU mismatch checks so that they work. Remove edit 7
66,
2) ; revamp all CPU check code to use a bit mask of valid CPU
s,
2) ; delete the LNKKIA message and add LNKCCD, and change the
2) ; map to include the correct information. Also, make the m
ap
2) ; show which CPUs the entire program can be run on.
2) ; Routines: LNKPAR, LNKERR, LNKOLD, LNKLOD, LNKINI, LNKMAP
, LNKLOW
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 138
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 1259 14-Sep-1978
File 2) LINK:LNKPAR.MAC[10,645063] created: 1849 25-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 14-Sep-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 22-Sep-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1117 ;DEC EDIT VERSION
1) LOC 137 ;KEEPS MACRO HAPPY
****
2)1 DECEVR==1120 ;DEC EDIT VERSION
2) LOC 137 ;KEEPS MACRO HAPPY
**************
1)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
****
2)5 ;1120 Redefine CPU types to be bits rather than values.
2)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
**************
1)15 ;CPUS
1) DEFINE CPUS<
1) X UNKNOWN,UNK
1) X KA10,KA
1) X KI10,KI
1) X KL10,KL
1) >
1) CP.LEN==0
1) CP.BIT==1B0
1) DEFINE X (A,B)<
1) CP.'B==CP.LEN
1) CP.LEN==CP.LEN+1
1) B'BIT==CP.BIT
1) CP.BIT==CP.BIT_-1
1) >
1) CPUS
1) IFE CP.BIT,<PRINTX TOO MANY CPUS>
1) PURGE X,CP.BIT
****
2)15 ;**;[1120] Replace @ CPUS definitions DZN 22-Sep-78
2) ;CPU TYPES. FIRST ARGUMENT TO INTERNAL X MACRO IS THE NAME AS
2) ;IT SHOULE BE PRINTED IN THE MAP. THE SECOND IS A TWO LETTER MNE
MONIC,
2) ;USED TO BUILD SYMBOLS. THESE ARE CURRENTLY THE SAME.
2) DEFINE CPUS<
2) X KA,KA
2) X KI,KI
2) X KL,KL
Digital Equipment Corporation 28-AUG-79 Page 139
PCO Log Report
2) >
2) CP.MSK==0 ;[1120] TO BE MASK OF ALL VALID
CPUS
2) CP.BIT==1B35 ;[1120] STARTING CPU BIT
2) DEFINE X(A,B)<
2) CP.'B==CP.BIT ;;[1120] ALLOCATE NEXT CPU BIT
2) CP.MSK==CP.MSK!CP.BIT ;;[1120] BUILD MASK OF ALL CPU B
ITS
2) CP.BIT==CP.BIT_1 ;;[1121] ADVANCE TO NEXT BIT
2) >
2) CPUS
2) PURGE X,CP.BIT
**************
Digital Equipment Corporation 28-AUG-79 Page 140
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1840 02-Sep-1978
File 2) LINK:LNKERR.MAC[10,645063] created: 1544 22-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 2-Sep-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 22-Sep-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1115 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1120 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL FIND MESSAGE
****
2)2 ;1120 Remove LNKKIA and add LNKCCD.
2)3 SUBTTL FIND MESSAGE
**************
1)9 CEF 31 31 Core expansion failed
****
2)9 CCD 31 31 CPU conflict detected in module [module]
2) CEF 31 31 Core expansion failed
**************
1)9 KIA 31 31 Cannot mix KI10 and KA10 compiled code
1) LDS 1 1 LOAD segment
****
2)9 LDS 1 1 LOAD segment
**************
1)10 HASH CEF,0,<^_
****
2)10 ;**;[1120] Insert before LNKCEF long message DZN 22-Sep-7
8
2) HASH CCD,0,<^_
2) You have loaded modules compiled with conflicting C
PU
2) specifications, such as loading a MACRO program compil
ed
2) with the statement .DIRECTIVE KA10 and another compil
ed
2) with .DIRECTIVE KI10. Recompile the affected modules wi
th
2) compatible CPU specifications.>
2) HASH CEF,0,<^_
**************
1)10 HASH KIA,0,<^_
1) Some modules loaded were compiled for the KA10 processo
r,
1) and some for the KI10 processor. Recompile so that a
Digital Equipment Corporation 28-AUG-79 Page 141
PCO Log Report
ll
1) modules are compiled for the same processor.>
1) HASH LDS,0,<^_
****
2)10 ;**;[1120] Delete LNKKIA long message DZN 22-Sep-78
2) HASH LDS,0,<^_
**************
Digital Equipment Corporation 28-AUG-79 Page 142
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOW.MAC[30,4507] created: 2157 29-May-1978
File 2) LINK:LNKLOW.MAC[10,645063] created: 1625 22-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC 29-May-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC 22-Sep-78-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1101 ;DEC EDIT VERSION
1) LOC 137
****
2)1 DECEVR==1120 ;DEC EDIT VERSION
2) LOC 137
**************
1)3 SUBTTL STORAGE
****
2)2 ;1120 Delete CPUSN, add OKCPUS.
2)3 SUBTTL STORAGE
**************
1)6 CPUSN:: BLOCK 1 ;OR OF ALL CPU TYPES SEEN
1) COREFL::BLOCK 1 ;-1 IF LNKCOR SHUFFLED USER CORE
****
2)6 OKCPUS::BLOCK 1 ;[1120] BITS ON FOR ALL CPUS PRO
G WILL RUN ON
2) COREFL::BLOCK 1 ;-1 IF LNKCOR SHUFFLED USER CORE
**************
Digital Equipment Corporation 28-AUG-79 Page 143
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1949 01-Mar-1978
File 2) LINK:LNKINI.MAC[10,645063] created: 1636 22-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 22-Sep-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1120 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL INITIALIZE
****
2)2 ;START OF VERSION 4A
2) ;1120 Initialize OKCPUS to all known CPUs.
2)3 SUBTTL INITIALIZE
**************
1)14 IFL .FORLB,< ;.FORLB=-1 FOR FORSE, 0 FOR FORL
IB
****
2)14 ;**;[1120] Insert after NOLOG+14L DZN 22-Sep-78
2) MOVEI T1,CP.MSK ;[1120] START PROG RUNNABLE ON A
LL CPU TYPES
2) MOVEM T1,OKCPUS ;[1120] ..
2) IFL .FORLB,< ;.FORLB=-1 FOR FORSE, 0 FOR FORL
IB
**************
Digital Equipment Corporation 28-AUG-79 Page 144
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 2141 07-Sep-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 1814 22-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 7-Sep-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 22-Sep-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1116 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1120 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1120 Remove CPUTST routine (T.6 does it now) and all calls to
it.
2)5 SUBTTL LOAD CONTROL
**************
1)55 DEFINE X(A,B)<
1) IF1,<BLOCK 1>
1) IF2,<
1) IFDEF B'NAM,<
1) PUSHJ P,B'NAM
1) >
1) IFNDEF B'NAM,<
1) PUSHJ P,CPUTST
1) >>>
1) XALL
1) CT.NAM::PROCESSORS
****
2)55 ;**;[1120] Various changes near CT.NAM DZN 22-Sep-78
2) DEFINE X(A,B)<
2) IF1,<BLOCK 1>
2) IF2,<
2) IFDEF B'NAM,< ;;[1120] CALL PROCESSOR ROUTINE
2) PUSHJ P,B'NAM
2) >
2) IFNDEF B'NAM,<
2) JFCL ;;[1120] NOTHING TO DO
2) >
2) >
2) >
2) XALL
2) CT.NAM::PROCESSORS
**************
1)55 CT.BIT:: PROCESSORS
Digital Equipment Corporation 28-AUG-79 Page 145
PCO Log Report
1) CP.BIT:: CPUS
1) SALL
1)56 ;CALLED BY PUSHJ P,xxxNAM
****
2)55 CT.BIT::PROCESSORS
2) SALL
2)56 ;CALLED BY PUSHJ P,xxxNAM
**************
1)56 ;T1 = INDEX TO CT.TAB
1) ;T2 = INDEX TO CP.TAB
1) ;T3 = PROCSN (CT.BIT)
1) ;T4 = CPUSN (CP.BIT)
1) ;-1(P) = BLANK COMMON
1) ;HERE IF ALGOL MAIN PROGRAM - SETS THIS AS PROGRAM NAME
1) ALGNAM: SKIPN -1(P) ;SEE IF BLANK COMMON SET
1) JRST CPUTST ;USES COMMON SIZE AS MAIN PROG M
ARKER.
1) SETZM -1(P) ;CLEAR COMMON SIZE
****
2)56 ; T1/ INDEX TO CT.TAB
2) ; T2/ PROCSN (CT.BIT)
2) ; W2/ PROGRAM NAME
2) ; -1(P)/ BLANK COMMON
2) ;HERE IF ALGOL MAIN PROGRAM - SETS THIS AS PROGRAM NAME
2) ALGNAM: SKIPN -1(P) ;SEE IF BLANK COMMON SET
2) ;**;[1120] Replace @ALGNAM+1L DZN 22-Sep-78
2) POPJ P, ;[1120] USES COMMON SIZE AS MAIN
PROG MARKER.
2) SETZM -1(P) ;CLEAR COMMON SIZE
**************
1)56 JRST CPUTST
1) F40NAM:
****
2)56 ;**;[1120] Replace @ALGNAM+5L DZN 22-Sep-78
2) POPJ P, ;[1120] DONE
2) F40NAM:
**************
1)56 TXNE T3,F40BIT ;1ST TIME SEEN F40?
1) JRST CPUTST ;NO, GO TEST CPU'S
1) MOVX W1,PT.SGN!PT.SYM ;YES,
1) MOVE W2,['FORSE.'] ;REQUEST FORSE., SO
1) SETZ W3, ;FORJAK WILL BE LOADED
1) PUSH P,T2 ;SAVE CPU TYPE
1) PUSH P,P1 ;SAVE PERM ACS
1) PUSH P,P2 ;..
1) PUSHJ P,SY.RQ## ;GENERATE REQUEST
1) POP P,P2 ;RESTORE PERM ACS
1) POP P,P1 ;..
1) POP P,T2 ;RESTORE FOR CPUTST
Digital Equipment Corporation 28-AUG-79 Page 146
PCO Log Report
1) JRST CPUTST]
1) > ;
1) TXNN T3,FORBIT ;CAN NOT HAVE BOTH
1) JRST CPUTST ;OK, SO TEST CPU TYPE
1) JRST F40ERR ;ERROR
1) IFN FTOVERLAY,<
****
2)56 ;**;[1120] Replace @F40NAM+8L DZN 22-Sep-78
2) TXNE T2,F40BIT ;[1120] 1ST TIME SEEN F4
0?
2) POPJ P, ;[1120] NO, GO TEST CPU'
S
2) MOVX W1,PT.SGN!PT.SYM;[1120] YES,
2) MOVE W2,['FORSE.'] ;REQUEST FORSE., SO
2) SETZ W3, ;FORJAK WILL BE LOADED
2) PUSH P,P1 ;SAVE PERM ACS
2) PUSHJ P,SY.RQ## ;GENERATE REQUEST
2) POP P,P1 ;..
2) POPJ P,] ;[1120] DONE
2) > ;
2) TXNE T2,FORBIT ;[1120] CAN NOT HAVE BOTH
2) JRST F40ERR ;ERROR
2) POPJ P, ;[1120] DONE
2) IFN FTOVERLAY,<
**************
1)57 CBLNAM: JUMPE T3,CPUTST ;OK FIRST TIME
1) TXNE T3,C74BIT ;TEST FOR OTHER COBOL
1) JRST C74ERR ;NOT ALLOWED
1) TXNE T3,CBLBIT ;OR IF COBOL ALREADY SEEN
1) JRST CPUTST
1) .ERR. (MS,0,V%L,L%F,S%F,CMF,<Cobol module must be load
ed first>)
1) C74NAM: JUMPE T3,CPUTST ;OK FIRST TIME
1) TXNE T3,CBLBIT ;TEST FOR OTHER COBOL
1) JRST C74ERR ;NOT ALLOWED
1) TXNE T3,C74BIT ;OR IF COBOL ALREADY SEEN
1) JRST CPUTST
1) .ERR. (MS,0,V%L,L%F,S%F,CMF)
****
2)57 ;**;[1120] Replace @CBLNAM DZN 22-Sep-78
2) CBLNAM: JUMPE T2,CPOPJ ;[1120] OK FIRST TIME
2) TXNE T2,C74BIT ;[1120] TEST FOR OTHER COBOL
2) JRST C74ERR ;NOT ALLOWED
2) TXNE T2,CBLBIT ;[1120] OR IF COBOL ALREADY SEEN
2) POPJ P, ;[1120] DONE
2) .ERR. (MS,0,V%L,L%F,S%F,CMF,<Cobol module must be load
ed first>)
2) C74NAM: JUMPE T2,CPOPJ ;[1120] OK FIRST TIME
2) TXNE T2,CBLBIT ;[1120] TEST FOR OTHER COBOL
Digital Equipment Corporation 28-AUG-79 Page 147
PCO Log Report
2) JRST C74ERR ;NOT ALLOWED
2) TXNE T2,C74BIT ;[1120] OR IF COBOL ALREADY SEEN
2) POPJ P, ;[1120] DONE
2) .ERR. (MS,0,V%L,L%F,S%F,CMF)
**************
1)57 ;FORTRAN-10
1) FORNAM:
****
2)57 ;**;[1120] Replace @C74ERR+6L DZN 22-Sep-78
2) ;FORTRAN
2) FORNAM:
**************
1)57 JRST FORKLG ;YES>
1) TXNN T3,F40BIT
1) JRST FORCPU ;SEE IF WE CARE ABOUT CPU
1) F40ERR: .ERR. (MS,0,V%L,L%F,S%F,MSR,</MIXFOR switch required t
o mix F40 and FORTRAN code>)
1) IFN FMXFOR,<
1) FORKLG: HRRZS MIXFOR ;MAKE IT POSITIVE>
1) FORCPU: PUSHJ P,CPUTST ;TEST IF CAN LOAD WITH CURRENT P
ROGS
1) MOVE T1,OTSEG ;DID USER SPECIFY NON-REENT OTS?
1) SOJE T1,CPOPJ ;YES, SO LOAD TWO SEG CODE IN TW
O SEGMENTS
****
2)57 JRST FORKLG ;YES
2) >
2) TXNN T2,F40BIT ;[1120] F40 SEEN ALREADY?
2) JRST FORSEG ;[1120] SEE IF WE CARE ABOUT CPU
2) F40ERR: .ERR. (MS,0,V%L,L%F,S%F,MSR,</MIXFOR switch required t
o mix F40 and FORTRAN code>)
2) IFN FMXFOR,<
2) FORKLG: HRRZS MIXFOR ;MAKE IT POSITIVE
2) >
2) FORSEG: MOVE T1,OTSEG ;[1120] DID USER SPECIFY NON-REE
NT OTS?
2) SOJE T1,CPOPJ ;YES, SO LOAD TWO SEG CODE IN TW
O SEGMENTS
**************
1)58 DEFINE X(A,B)<
1) EXP CPU'B
1) >
1) CPUUNK==CPOPJ ;RUNS ON ANY CPU
1) CPUTBL: CPUS
1) CPUTST: MOVE T1,T2 ;[752] NEED 2 ACS FOR JFFO
1) JFFO T1,.+1 ;[752] T1 CONTAINS CPU CODE FROM
BLOCK 6
1) SKIPN T1,T2 ;[752] IF NOT ZERO, CONVERT TO T
ABLE OFFSET
Digital Equipment Corporation 28-AUG-79 Page 148
PCO Log Report
1) JRST .+3 ;[752]
1) MOVEI T1,^D36 ;[752]
1) SUB T1,T2 ;[752] OFFSET IN T1
1) ;**;[766] Insert @ CPUTST+6L MCHC 17-Mar-78
1) MOVE P2,T1 ;[766] OFFSET NEEDED IN P2 AFTER
RETURNED
1) JRST @CPUTBL(T1) ;[752] DISPATCH TO RIGHT TEST
1) CPUKL: ;[752] MAKE KL TEST SAME AS KI
1) CPUKI: TXNE T4,KABIT ;TEST FOR THE KA BIT
1) JRST CPUERR ;CAN NOT MIX KI AND KA
1) POPJ P, ;OK
1) ;**;[766] Change @ CPUKA MCHC 17-Mar-78
1) CPUKA:: TXNN T4,KIBIT!KLBIT ;[766]CANNOT HAVE BOTH KA10 AND
KI10
1) POPJ P, ;OK
1) CPUERR: .ERR. (MS,0,V%L,L%F,S%F,KIA,<Cannot mix KI10 and KA10
compiled code>)
1)59 SUBTTL MIXFOR FEATURE
****
2)57 ;**;[1120] Delete @FORCPU+1P DZN 22-Sep-78
2)58 SUBTTL MIXFOR FEATURE
**************
Digital Equipment Corporation 28-AUG-79 Page 149
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1944 02-Sep-1978
File 2) LINK:LNKOLD.MAC[10,645063] created: 1847 25-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 2-Sep-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 22-Sep-7
8
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1115 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1120 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)5 COMMENT \
****
2)4 ;1120 Make T.6 handle mask of CPU bits rather than a single va
lue.
2)5 COMMENT \
**************
1)57 HLRZ T1,0(P) ;GET TYPE
1) HRRZS 0(P) ;AND CLEAR IT FROM STACK
1) HRRZ T2,T1 ;GET CPU TYPE
1) LSH T2,-^D12 ;RIGHT JUSTIFIED (WAS BITS 0-5)
1) ANDI T1,7777 ;AND CLEAR FROM COMPILER INDEX
1) CAILE T1,CT.LEN ;CHECK FOR RANGE
1) SETZ T1, ;MAKE IT UNKNOWN
1) CAILE T2,CP.LEN ;SAME FOR CPUS
1) SETZ T2, ;MAKE ILLEGAL VALUES UNKNOWN
1) HRLZM T1,CTYPE ;STORE PROCESSOR CODE
1) HRRM T2,CTYPE ;AND CPU TYPE CODE
1) MOVE T3,PROCSN ;GET LIST OF DIF PROCESSORS SEEN
1) MOVE T4,CPUSN ;AND CPUS
1) MOVE P1,T1 ;SAFE PLACE
1) MOVE P2,T2
1) XCT CT.NAM##(T1) ;SEE IF ANYTHING SPECIAL TO DO
1) MOVE T3,CT.BIT##(P1) ;GET CORRESPONDING BIT
1) MOVE T4,CP.BIT##(P2) ;ALSO FOR CPU
1) IORM T3,PROCSN ;SIGNAL WE HAVE SEEN THIS ONE
1) IORM T3,LIBPRC ;A NEW MODULE THIS LIBRARY PASS
1) IORM T4,CPUSN
1)58 ;HERE TO HANDLE BLANK COMMON ARG IN TITLE BLOCK
1) POP P,T1 ;GET BLANK COMMON BACK
1) SKIPE BLCOMM ;SEEN BLANK COMMON BEFORE?
****
2)57 ;**;[1120] Replace @T.6OK+1P2L DZN 22-Sep-78
2) LDB T1,[POINT 6,(P),5] ;[1120] GET RUNNABLE CPU BITS
2) ANDI T1,CP.MSK ;[1120] CLEAR CPUS WE DON'T KNOW
Digital Equipment Corporation 28-AUG-79 Page 150
PCO Log Report
ABOUT
2) JUMPN T1,.+2 ;[1120] ASKED FOR NONE?
2) MOVEI T1,CP.MSK ;[1120] YES--MEANS ALL
2) HRRZM T1,CTYPE ;[1120] SAVE WITH COMPILER TYPE
2) ANDM T1,OKCPUS ;[1120] ENFORCE CPU FLAGS
2) SKIPN OKCPUS ;[1120] CAN PROG RUN AT ALL NOW?
2) JRST ERRCCD ;[1120] NO--CPU CONFLICT DETECTE
D
2) LDB T1,[POINT 12,(P),17] ;[1120] NOW GET PROCESSOR T
YPE
2) HRRZS (P) ;[1120] LEAVE JUST BLANK COMMON
ON STACK
2) CAILE T1,CT.LEN ;CHECK FOR RANGE
2) SETZ T1, ;[1120] MAKE IT UNKNOWN
2) HRLM T1,CTYPE ;[1120] SAVE COMPILER TYPE
2) MOVE T2,PROCSN ;[1120] GET LIST OF PROCS SEEN S
O FAR
2) MOVE P1,T1 ;SAFE PLACE
2) XCT CT.NAM##(T1) ;[1120] PROC ROUTINES EXPECT MAN
Y ACS + (P)
2) MOVE T1,CT.BIT##(P1) ;[1120] GET CORRESPONDING BIT
2) IORM T1,PROCSN ;[1120] SIGNAL WE HAVE SEEN THIS
ONE
2) IORM T1,LIBPRC ;[1120] A NEW MODULE THIS LIBRAR
Y PASS
2) JRST T.6BLK ;[1120] GO HANDLE BLANK COMMON
2) ERRCCD: .ERR. (MS,.EC,V%L,L%F,S%F,CCD,<CPU conflict detected i
n module >)
2) .ETC. (SBX,.EP,,,,PRGNAM)
2)58 ;HERE TO HANDLE BLANK COMMON ARG IN TITLE BLOCK
2) T.6BLK: POP P,T1 ;[1120] GET BLANK COMMON BACK
2) SKIPE BLCOMM ;SEEN BLANK COMMON BEFORE?
**************
Digital Equipment Corporation 28-AUG-79 Page 151
PCO Log Report
[FILCOM]
File 1) LINK:LNKMAP.MAC[30,4507] created: 1408 15-Aug-1978
File 2) LINK:LNKMAP.MAC[10,645063] created: 1921 25-Sep-1978
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 15-Aug-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 22-Sep-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1112 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1120 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL HEADER LINES
****
2)3 ;1120 Pring correct CPU specifications in the map for module a
nd program.
2)4 SUBTTL HEADER LINES
**************
1)26 TTLCPU: POP P,W3 ;RESTORE CPU BITS
1) TTLCP1: TLZ W3,-1 ;ZAP PROCESSOR TYPE BITS
1) JUMPE W3,TTLCRE ;IF NOT SPECIFIED, GO PRINT CRE
STUFF
1) CAILE W3,CP.LEN ;IN RANGE?
1) SETZ W3, ;NO, MAKE UNKNOWN
1) IFE TOPS20,<
1) MOVE T1,CPUTAB(W3) ;GET ASCII FOR CPU TYPE
1) PUSHJ P,.TSTRG## ;OUT IT GOES
1) > ;END IFE TOPS20
1) JRST TTLCRE ;GO PRINT CRE STUFF
****
2)26 ;**;[1120] Replace @TTLCPU DZN 22-Sep-78
2) TTLCPU: POP P,T1 ;[1120] RESTORE CPU BITS
2) TTLCP1: TLZ T1,-1 ;[1120] ZAP PROCESSOR TYPE BITS
2) PUSHJ P,TYPCPU ;[1120] TYPE CPUS FOR THIS MODUL
E
2) JRST TTLCRE ;GO PRINT CRE STUFF
**************
1)26 JRST TTLCP1 ;PRINT CPU BITS
****
2)26 ;**;[1120] Insert after TTLCRL+1 DZN 22-Sep-78
2) HRRZI T1,(W3) ;[1120] GET CPU BITS
2) JRST TTLCP1 ;PRINT CPU BITS
**************
1)40 SKIPN MAPVER ;ONLY PRINT IF NOT ZERO
****
2)40 ;**;[1120] Insert after .TYHDR+3L DZN 22-Sep-78
2) MOVE T1,OKCPUS ;[1120] PRINT CPUS FOR PROGRAM
Digital Equipment Corporation 28-AUG-79 Page 152
PCO Log Report
2) PUSHJ P,TYPCPU ;[1120] ..
2) SKIPN MAPVER ;ONLY PRINT IF NOT ZERO
**************
1)44 DEFINE X (A,B)<
1) IFIDN <A><FORTRAN>,<
1) IFE TOPS20,<
1) [ASCIZ \A'-10\]
1) >
1) IFN TOPS20,<
1) [ASCIZ \A\]
1) >
1) >
1) IFDIF <A><FORTRAN>,<
1) IFIDN <A><PLI>,<
****
2)44 ;**;[1120] Replace @END1+1P0L DZN 22-Sep-78
2) DEFINE X (A,B)<
2) IFIDN <A><PLI>,<
**************
1)44 IFIDN <A><CBL74>,<
1) [ASCIZ \COBOL-74\]
1) >
1) IFDIF <A><CBL74>,<
1) IFIDN <A><COBOL>,<
1) [ASCIZ \COBOL-68\]
1) >
1) IFDIF <A><COBOL>,<
1) [ASCIZ \A\]
1) >>>>>
1) [ASCIZ \LINK\]
****
2)44 IFIDN <A><CBL74>,<
2) [ASCIZ \COBOL-74\]
2) >
2) IFDIF <A><CBL74>,<
2) IFIDN <A><COBOL>,<
2) [ASCIZ \COBOL-68\]
2) >
2) IFDIF <A><COBOL>,<
2) [ASCIZ \A\]
2) >
2) >
2) >
2) >
2) [ASCIZ \LINK\]
**************
1)44 IFE TOPS20,<
1) DEFINE X (A,B)<
1) [ASCIZ \ /A\]
Digital Equipment Corporation 28-AUG-79 Page 153
PCO Log Report
1) >
1) CPUTAB: CPUS
1) > ;END IFE TOPS20
1) SALL
****
2)44 SALL
2)45 ;**;[1120] Revamp @PRCTAB+2L DZN 22-Sep-78
2) ;ROUTINE TO PRINT CPUS ON WHICH A MODULE OR PROGRAM WILL RUN. IF
ALL CPUS
2) ;KNOWN TO LINK ARE ALLOWED, PRINT NOTHING.
2) ;ON CALL:
2) ; T1/ CP.??? BITS
2) TYPCPU: CAIN T1,CP.MSK ;[1120] RUNNABLE ON ALL CPUS?
2) POPJ P, ;[1120] YES--DON'T BOTHER PRINTI
NG
2) PUSH P,P1 ;[1120] SAVE SOME VARS
2) PUSH P,P2 ;[1120] ..
2) MOVE P1,T1 ;[1120] SAVE CPU BITS IN SAFE AC
2) PUSHJ P,.TSPAC## ;[1120] SEPARATE BY A SPACE
2) SETZ P2, ;[1120] START CHECK AT KA
2) TYPCPL: JUMPE P1,TYPCPE ;[1120] ANY CPUS LEFT TO PRINT?
2) MOVE T1,CPUTAB(P2) ;[1120] YES--GET ADDR OF CPU NAM
E
2) TXNE P1,1B35 ;[1120] PRINT THIS CPU?
2) PUSHJ P,.TSTRG## ;[1120] YES--PRINT IT
2) LSH P1,-1 ;[1120] ADVANCE TO NEXT CPU
2) AOJA P2,TYPCPL ;[1120] AND LOOP UNTIL DONE
2) TYPCPE: POP P,P2 ;[1120] RESTORE VARS
2) POP P,P1 ;[1120] ..
2) POPJ P,
2) DEFINE X(A,B)<
2) [ASCIZ \/A\]
2) >
2) XALL
2) CPUTAB: CPUS
2) SALL
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 154
PCO Log Report
*********************
*PCO #:10-LINK -244*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(772)
[Date Entered] 04-OCT-78
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] BAD .JBSYM EDIT 772
[Source Before Edit] %4A (001120)
[Source After Edit] %4A (001121)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 155
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
After edit 772 is installed, users will not be able to
define undefined symbols correctly with DDT. A closer
examination will reveal that the symbol table (pointed to by
.JBSYM) and the undefined table (pointed to by .JBUSY)
overlap.
**********
[DIAGNOSIS]
After the code rearrangement in edit 772, the pointer
to the start of the symbol table is no longer incremented
past the end of the undefined table.
**********
[CURE]
Re-introduce the increment code. This edit requires
that edits 770 and 772 be installed in LINK first.
Digital Equipment Corporation 28-AUG-79 Page 156
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1552 22-Sep-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1437 04-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 22-Sep-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 4-Oct-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1120 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1121 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1121 JNG 4-Oct-78 QAR JMF
2) ; Fix LNKXIT bug so .JBSYM ptr won't include the undefined
symbol
2) ; table. This was broken by edit 772.
2) ; Routines: LNKXIT
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 157
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1709 25-Aug-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1531 04-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 25-Aug-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 4-Oct-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1113 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1121 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1121 Fix edit 772 so symbol table and undefined table don't o
verlap.
2)5 SUBTTL ENTER HERE
**************
1)10 ADD P2,P4 ;[772] SPACE WE NEED IN P2
1) ;**;[770] Exchange 2 lines @ UDF0A+6L MCHC 17-Mar-78
****
2)10 ;**;[1121] Change @UDF0A+5L JNG 4-Oct-78
2) ADDB P2,P4 ;[1121] SPACE WE NEED IN P2 AND
P4
2) ;**;[770] Exchange 2 lines @ UDF0A+6L MCHC 17-Mar-78
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 158
PCO Log Report
*********************
*PCO #:10-LINK -245*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)+1105
[Date Entered] 08-OCT-78
[Programmer] D. NEFF
[Routines] LNKPAR LNKSCN LNKWLD LNKFIO
[Key Words] /*VERSION
[Source Before Edit] %4A (001121)
[Source After Edit] %4A (001122)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-26222
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 159
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Version 4 of LINK broke the /VERSION switch. If the switch is
specified on an input file or with no file at all, .JBVER does not
get set. Also, /VERSION does not override version specifications
(by LOCing to .JBVER) in REQUIREd files.
**********
[DIAGNOSIS]
The original problem in version 3A of LINK was that /VERSION had to
be typed to 6 characters, since SCAN also had a /VERSION switch.
Development for LINK version 4 attempted to solve the problem by
doing away with LINK's /VERSION switch, and trying to grab the
value of SCAN's /VERSION switch at all the right times.
There are two problems with this method:
1. There are many places where LINK internally creates SCAN
blocks (e.g., for REQUEST/REQUIREd files). All of these
places need to be changed to follow SCAN's conventions
regarding initial switch values (-1), since /VERSION is
the first SCAN switch that LINK cares about in these
cases.
2. SCAN's usage of /VERSION is different from LINK's. SCAN
treats /VERSION as a file-specific switch, so that typing
/VERSION in front of a file specification would cause the
switch to apply to all subsequent files on the line,
whether input or output. However, LINK treats the switch
having a meaning only with respect to the file on which it
is specified.
Though the first problem could be solved with a patch, the second
is not solvable within the current specifications of SCAN.
Therefore, another method is necessary.
**********
Digital Equipment Corporation 28-AUG-79 Page 160
PCO Log Report
[CURE]
Put LINK's own /VERSION switch back in, as it was in version 3A
(i.e., remove edit 740). However, to solve the original problem of
having to type /VERSION to 6 characters, make LINK's /VERSION
switch unique in any abbreviation. Thus, /V, /VE, /VER, /VERS, and
/VERSI are all valid abbreviations of /VERSION.
Note that the attached FILCOM shows the edit as if edit 1105 were
installed. If this is not the case, simply remove the lines marked
**********
[740] in the DVINP. routine in LNKFIO.MAC instead of those marked
**********
[1105].
Digital Equipment Corporation 28-AUG-79 Page 161
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1437 04-Oct-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1250 05-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 4-Oct-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 5-Oct-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1121 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1122 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1122 DZN 5-Oct-78 SPR 10-26222
2) ; Remove edit 740, which attempted to use SCAN's /VERSION
switch,
2) ; rather than LINK's. SCAN's switch is a file-specific swi
tch, which
2) ; is not the way LINK wants it to work. However, still fix
the original
2) ; problem (having to type /VERSION to 6 characters to work
) by making
2) ; LINK's /VERSION switch unique to any abbreviation.
2) ; Routines: LNKPAR, LNKSCN, LNKWLD, LNKFIO
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 162
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 1849 25-Sep-1978
File 2) LINK:LNKPAR.MAC[10,645063] created: 1812 05-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 22-Sep-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 5-Oct-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1120 ;DEC EDIT VERSION
1) LOC 137 ;KEEPS MACRO HAPPY
****
2)1 DECEVR==1122 ;DEC EDIT VERSION
2) LOC 137 ;KEEPS MACRO HAPPY
**************
1)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
****
2)5 ;1122 Remove edit 740 and make /VERSION unique in any abbrevia
tion.
2)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
**************
1)33 IFE TOPS20,<
****
2)33 ;;**;[1122] Insert after /VERBOSITY switch DZN 5-Oct-78
2) SWMAC SP,VERSION,,.SWVER,SYM,3,,* ;;[1122]
2) IFE TOPS20,<
**************
Digital Equipment Corporation 28-AUG-79 Page 163
PCO Log Report
[FILCOM]
File 1) LINK:LNKSCN.MAC[30,4507] created: 1438 07-Mar-1978
File 2) LINK:LNKSCN.MAC[10,645063] created: 1836 05-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 5-Oct-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1122 ;DEC EDIT VERSION
2) VERSION
**************
1)3 ;START OF VERSION 3B
1) ;600 Remove call to DEFVALUES macro
****
2)3 ;START OF VERSION 4
2) ;600 Remove call to DEFVALUES macro
**************
1)4 SUBTTL INITIALIZE SCANNER
****
2)3 ;START OF VERSION 4A
2) ;1122 Remove edit 740.
2)4 SUBTTL INITIALIZE SCANNER
**************
1)22 ; [ 740 ] Remove .SWVER code.
1) ;ENTRY .SWVER
1) ;HERE WHEN SWITCH VALUE IS A VERSION NUMBER
1) ;.SWVER::PUSHJ P,.VERSW## ;GET THE WORD
1) ; JRST .SWDPB## ;AND STORE IT
1)23 SUBTTL STORAGE DATA
****
2)22 ;**;[1122] Replace @.SWVER DZN 5-Oct-78
2) ENTRY .SWVER ;[1122]
2) ;HERE WHEN SWITCH VALUE IS A VERSION NUMBER
2) .SWVER::PUSHJ P,.VERSW## ;[1122] GET THE WORD
2) JRST .SWDPB## ;[1122] AND STORE IT
2)23 SUBTTL STORAGE DATA
**************
Digital Equipment Corporation 28-AUG-79 Page 164
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1308 14-Sep-1978
File 2) LINK:LNKWLD.MAC[10,645063] created: 1844 05-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 14-Sep-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 5-Oct-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1117 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECEVR==1122 ;DEC EDIT VERSION
2) ;CALLING SEQUENCE
**************
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)3 ;1122 Remove edit 740.
2)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)48 ;[ 740 ] Remove %VERSION code
1) ;%VERSION:
1) ; PUSHJ P,STRLSW ;WAIT TIL FILE INITED
1) ; MOVE T2,2(P2) ;GET VALUE
1) ; SKIPE T1,IO.CHN ;GET CURRENT CHAN#
1) ; CAIN T1,DC ;IF 0 OR INPUT CHAN
1) ; JRST [MOVEM T2,VERNUM ;STORE VERSION NUMBER
1) ; POPJ P,] ;IN CORE
1) ; MOVE T1,IO.PTR(T1) ;IF OUTPUT SPEC
1) ; MOVEM T2,I.VER(T1) ;SAVE IN DATA BLOCK
1) ; POPJ P,
1)49 SUBTTL OUTPUT DEVICE SWITCHES
****
2)48 ;**;[1122] Replace @%VERSION DZN 5-Oct-78
2) %VERSION:
2) PUSHJ P,STRLSW ;[1122] WAIT TIL FILE INITED
2) MOVE T2,2(P2) ;[1122] GET VALUE
2) SKIPE T1,IO.CHN ;[1122] GET CURRENT CHAN#
2) CAIN T1,DC ;[1122] IF 0 OR INPUT CHAN
2) JRST [MOVEM T2,VERNUM ;[1122] STORE VERSION NU
MBER
2) POPJ P,] ;[1122] IN CORE
2) MOVE T1,IO.PTR(T1) ;[1122] IF OUTPUT SPEC
2) MOVEM T2,I.VER(T1) ;[1122] SAVE IN DATA BLOCK
2) POPJ P, ;[1122]
2)49 SUBTTL OUTPUT DEVICE SWITCHES
**************
Digital Equipment Corporation 28-AUG-79 Page 165
PCO Log Report
[FILCOM]
File 1) LINK:LNKFIO.MAC[30,4507] created: 1512 20-Jun-1978
File 2) LINK:LNKFIO.MAC[10,645063] created: 1640 06-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH 20-Jun-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH 5-Oct-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1105 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1122 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
****
2)2 ;1122 Remove edit 740.
2)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
**************
1)7 ;**;[1105] Move up from below @ DVINP.+9L JNG 20-Jun-7
8
1) MOVE T2,F.VER(P1) ;[1105] VERSION NUMBER SPECIFIED
FOR INPUT FILE
1) CAME T2,[-1] ;[1105] IF -1 MEANS SCAN SAW NOT
HING
1) MOVEM T2,VERNUM ;[1105] USED TO SET GLOBAL DEFAU
LT VERSION.
1) MOVE T2,F.DIR(P1) ;DIRECTORY
****
2)7 ;**;[1122] Delete @DVINP.+9L DZN 6-Oct-78
2) MOVE T2,F.DIR(P1) ;DIRECTORY
**************
1)9 MOVE T1,F.VER(P1) ;[740] USE SPECIFIED VERSION NUM
BER
1) CAMN T1,[-1,,-1] ;[740] -1 MEANS SCAN SAW NOTHING
1) MOVE T1,VERNUM ;[740] OR DEFAULT VERSION NUMBER
1) MOVEM T1,I.VER(T3) ;[740] IN THE I/O BLOCK
1) SKIPN T1,F.PROT(P1) ;PROTECTION CODE
****
2)9 ;**;[1122] Delete @DVOUT.+25L DZN 6-Oct-78
2) SKIPN T1,F.PROT(P1) ;PROTECTION CODE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 166
PCO Log Report
*********************
*PCO #:10-LINK -246*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) TESTED IN 4(1122)
[Date Entered] 10-OCT-78
[Programmer] D. NEFF
[Routines] LNKFIO
[Key Words] HRL > HRLI
[Source Before Edit] %4A (001122)
[Source After Edit] %4A (001123)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26580
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 167
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
None, but if LINK's start address were ever moved to the low
segment, ENTER error messages would be printed as LOOKUP messages.
**********
[DIAGNOSIS]
Setting up the flag meaning an ENTER error is done with an
erroneous HRL instruction. Currently, this loads LINK's start
address from vestigial JOBDAT. Since the flag has the value
400000, this works only as long as LINK's start address is in the
high segment.
**********
[CURE]
Load the flag correctly.
Digital Equipment Corporation 28-AUG-79 Page 168
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1250 05-Oct-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1113 10-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 5-Oct-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 10-Oct-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1122 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1123 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1123 DZN 10-Oct-78 SPR 10-26580
2) ; Use HRLI instead of HRL to load ENTER error flag.
2) ; Routines: LNKFIO
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 169
PCO Log Report
[FILCOM]
File 1) LINK:LNKFIO.MAC[30,4507] created: 1640 06-Oct-1978
File 2) LINK:LNKFIO.MAC[10,645063] created: 1115 10-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH 5-Oct-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 10-Oct-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1122 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1123 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
****
2)2 ;1123 Use HRLI instead of HRL to load ENTER error flag.
2)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
**************
1)23 HRL T1,(%ENT) ;SIGNAL ENTER
1) PUSH P,T1
****
2)23 ;**;[1123] Replace @ENTERR+1L DZN 10-Oct-78
2) HRLI T1,(%ENT) ;[1123] SIGNAL ENTER
2) PUSH P,T1
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 170
PCO Log Report
*********************
*PCO #:10-LINK -247*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) TESTED IN 4A(1123)
[Date Entered] 11-OCT-78
[Programmer] D. NEFF
[Routines] LNKINI
[Key Words] EXEC ONLY
[Source Before Edit] %4A (001123)
[Source After Edit] %4A (001124)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26712
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 171
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK cannot be run execute-only. The first time LINK must type a
message to the terminal, it blows up with a proprietary violation.
**********
[DIAGNOSIS]
Edit 636 broke the ability of routine TTYIT, which is in the low
segment, to return to a concealed high segment.
**********
[CURE]
Fix TTYIT to return through LINK's standard return point in the
high segment.
Digital Equipment Corporation 28-AUG-79 Page 172
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1113 10-Oct-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1243 11-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 10-Oct-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 11-Oct-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1123 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1124 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1124 DZN 11-Oct-78 SPR 10-26712
2) ; Edit 636 broke LINK's ability to be run execute-only. Fi
x
2) ; this by making the TTY log routine once more return into
the
2) ; potentially execute-only high segment properly.
2) ; Routine: LNKINI
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 173
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1636 22-Sep-1978
File 2) LINK:LNKINI.MAC[10,645063] created: 1406 11-Oct-1978
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 22-Sep-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 11-Oct-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1120 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1124 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL INITIALIZE
****
2)2 ;1124 Make TTYIT return to a potentially execute-only high seg
ment again.
2)3 SUBTTL INITIALIZE
**************
1)30 TTYDMP: PUSH P,T1 ;SAVE CHAR
1) PUSHJ P,TTYOUT ;OUTPUT LINE
1) POP P,T1
1) ;NOW TRY
1) TTYIT: SOSGE TTYBUF+2 ;ANY SPACE LEFT
****
2)30 ;ROUTINE TO LOG A CHARACTER TO THE USER'S TERMINAL. USES A LINE
BUFFER
2) ;FOR SPEED. TTYIT IS THE ENTRY POINT. SAVES T1.
2) ;**;[1124] Replace @TTYDMP DZN 11-Oct-78
2) TTYDMP: PUSHJ P,TTYOUT ;[1124] OUTPUT LINE
2) TTYIT: SOSGE TTYBUF+2 ;ANY SPACE LEFT
**************
1)30 IFE FTSINGLE,<
1) JRST TTYRET ;NO, JUST RETURN
1) >
1) IFN FTSINGLE,<
1) POPJ P,
1) >
1) TTYOUT: SETZ T1,
1) IDPB T1,TTYBUF+1 ;END WITH NULL
****
2)30 ;**;[1124] Replace @TTYIT+5L DZN 11-Oct-78
2) SKIPA ;[1124] NO--JUST RETURN
2) PUSHJ P,TTYOUT ;[1124] YES--DUMP THE LINE FIRST
2) IFE FTSINGLE,<
2) TTYRET: PUSH P,T1 ;[1124] SAVE CHAR IN T1
2) MOVE T1,SEGPGN ;[1124] GET SEGMENT ORIGIN
2) ADDI T1,%%RET ;[1124] POINT TO WHERE WE WANT T
Digital Equipment Corporation 28-AUG-79 Page 174
PCO Log Report
O GO
2) EXCH T1,0(P) ;[1124] SAVE GOTO ADDR, RESTORE
T1
2) >
2) POPJ P, ;[1124] RETURN
2) ;LOCAL ROUTINE TO DUMP THE TERMINAL BUFFER WHEN FULL OR END-OF-L
INE
2) ;CHARACTER IS SEEN. SAVES T1.
2) TTYOUT: PUSH P,T1 ;[1124] SAVE PENDING CHAR
2) SETZ T1,
2) IDPB T1,TTYBUF+1 ;END WITH NULL
**************
1)30 POPJ P, ;[636] RETURN TO TTYDMP
1) IFE FTSINGLE,<
1) TTYRET:
1) PUSH P,T1 ;[636] SAVE CHAR IN T1
1) MOVE T1,SEGPGN ;GET SEGMENT ORIGIN
1) ADDI T1,%%RET ;[636] POINT TO WHERE WE WANT TO
GO
1) EXCH T1,0(P) ;[636] SAVE GOTO ADDR, RESTORE T
1
1) POPJ P, ;[636] GO TO CPOPJ ENTRY
1) >
1)31 SUBTTL LOG FILE OUTPUT SUBROUTINE
****
2)30 ;**;[1124] Replace @TTYOUT+9L DZN 11-Oct-78
2) POP P,T1 ;[1124] RESTORE PENDING CHAR
2) POPJ P, ;[1124] RETURN
2)31 SUBTTL LOG FILE OUTPUT SUBROUTINE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 175
PCO Log Report
*********************
*PCO #:10-LINK -248*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 01-NOV-78
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] NNNLHC /SAVE/DEB /SAVE/EXEC RUN UUO
[Source Before Edit] %4A (001124)
[Source After Edit] %4A (001125)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26379
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 176
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK fails with an error like "?nnnLHC not found".
This will only happen when loading a two segment program
large enough to force the high segment to overflow to disk,
and only if the user types /SAVE/EXEC or /SAVE/DEBUG.
**********
[DIAGNOSIS]
LINK uses the same pointers to store the low and high
segment overflow file specs as it does to store the
corresponding save file specs. This used to be OK, since
LINK would always write a save file for a particular segment
on /SAVE if it overflowed to disk, because that would mean
that it existed. With EXE save file generation, however,
both segments are saved into the "low segment" EXE file, so
that the high segment pointer is left pointing to the
overflow file if the high segment code overflows to disk
during the load.
This is a problem because LINK's RUN UUO code always
tries to run the high segment save file, and is only willing
to run the low segment file if there is no high segment
file. If the high segment overflows to disk, this means
that LINK will try to run its temporary overflow file, which
has been deleted.
**********
[CURE]
If generating EXE save files, always issue a RUN UUO to
the EXE file.
Digital Equipment Corporation 28-AUG-79 Page 177
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1243 11-Oct-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1426 01-Nov-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 11-Oct-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-Nov-78
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1124 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1125 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1125 JNG 1-Nov-78 SPR 10-26379
2) ; Don't try to run the high segment file on /SAVE/RUN (or
/SAVE/DEBUG)
2) ; when generating an EXE file. This fixes ?nnnLHC.EXE not
found when
2) ; the user types the above switches and the HC area has ov
erflowed.
2) ; Routines: LNKXIT
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 178
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1531 04-Oct-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1436 01-Nov-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 4-Oct-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 1-Nov-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1121 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1125 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1125 Don't try to do a RUN UUO to the hiseg file when generat
ing an EXE file.
2)5 SUBTTL ENTER HERE
**************
1)75 RUNUU1: SKIPN T1,IO.PTR+HC ;GET HIGH SEG POINTER
1) MOVE T1,IO.PTR+LC ;SETTLE FOR LOW SEG IF NO HIGH
****
2)76 ;**;[1125] Insert @ RUNUU1 JNG 1-Nov-78
2) RUNUU1:
2) IFE FTEXE,<
2) SKIPN T1,IO.PTR+HC ;[1125] GET HIGH SEG POINTER
2) > ;END IFE FTEXE
2) MOVE T1,IO.PTR+LC ;SETTLE FOR LOW SEG IF NO HIGH
**************
1)75 SKIPN T1,IO.PTR+LC ;[575] MAKE SURE POINTING AT LOW
SEG
1) JRST RUNUU3 ;[575] HISEG ONLY, USE .LOW
1) MOVE T2,I.EXT(T1) ;[575] MAY AS WELL USE KNOWN EXT
1) TLNN T2,-1 ;[575] EXTENSION KNOWN?
1) RUNUU3: MOVSI T2,'LOW' ;[575] NO, USE .LOW
1) HLLZM T2,%RUN+2 ;[575] STORE EXTENSION & ZERO DA
TE
1) SETZM %RUN+3 ;CLEAR DATE TIME
****
2)76 ;**;[1125] Insert @ RUNUU1+6L JNG 1-Nov-78
2) IFE FTEXE,<
2) SKIPN T1,IO.PTR+LC ;[1125] MAKE SURE POINTING AT LO
W SEG
2) JRST RUNUU3 ;[1125] HISEG ONLY, USE .LOW
2) MOVE T2,I.EXT(T1) ;[1125] MAY AS WELL USE KNOWN EX
T
2) TLNN T2,-1 ;[1125] EXTENSION KNOWN?
2) RUNUU3: MOVSI T2,'LOW' ;[1125] NO, USE .LOW
Digital Equipment Corporation 28-AUG-79 Page 179
PCO Log Report
2) > ;END IFE FTEXE
2) IFN FTEXE,<
2) MOVE T2,I.EXT(T1) ;[1125] GET EXTENSION OF EXE FIL
E
2) > ;END IFN FTEXE
2) HLLZM T2,%RUN+2 ;[1125] STORE EXTENSION & ZERO D
ATE
2) SETZM %RUN+3 ;CLEAR DATE TIME
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 180
PCO Log Report
*********************
*PCO #:10-LINK -249*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 07-NOV-78
[Programmer] GILBERT
[Routines] LNKINI
[Key Words] RUN SFDS ?LNK999.SA 7.01 EX ONLY
[Source Before Edit] %4A (001125)
[Source After Edit] %4A (001126)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26433
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 181
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When LINK is run from an SFD, it will fail with
"?LNK999.SAV not found" before printing an askerisk.
**********
[DIAGNOSIS]
LINK figures out where to GETSEG its other high
segments from by asking the monitor where its first high
segment came from, then GETSEGging the other high segments
from the same place. Unfortunately, in monitors prior to
7.01, the monitor's database that remembers where high
segments come from does not include SFD information, so the
path that LINK gets from the monitor is incorrect if LINK
was run from an SFD.
**********
[CURE]
If LINK finds itself running under a monitor prior to
7.01, have it GETSEG its other high segments using the
arguments that the user typed in the "R" or "RUN" command
that invoked LINK, and which are left in the ACs by the
monitor when LINK starts. These arguments should be
sufficient to find LINK's other high segments, since they
were sufficient to find LINK itself. This means that if
LINK came from an SFD, then it was from some SFD accessible
by specifying the default path, since the monitor's command
decoder (and the arguments left in the ACs) do not allow
SFDs to be specified explicitly.
Note that this change means that LINK will do
non-physical-only GETSEGs under monitors prior to 7.01, and
thus will not be secure if protected execute-only. LINK
will be secure under 7.01, because it will continue to ask
Digital Equipment Corporation 28-AUG-79 Page 182
PCO Log Report
the monitor where its original EXE file came from and do
physical-only GETSEGs to the resulting full path if running
under a 7.01 or later monitor.
Digital Equipment Corporation 28-AUG-79 Page 183
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1426 01-Nov-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1722 01-Nov-1978
1)1 DECEVR==1125 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1126 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1126 JNG 1-Nov-78 SPR 10-26433
2) ; If all 7.01 GETTABs to determine where we came from are
not available,
2) ; use the contents of the ACs to do GETSEG UUOs.
2) ; Routines: LNKINI
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 184
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1406 11-Oct-1978
File 2) LINK:LNKINI.MAC[10,645063] created: 1728 01-Nov-1978
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 11-Oct-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 1-Nov-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1124 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1126 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL INITIALIZE
****
2)2 ;1126 Use ACs for GETSEG args if all 7.01 GETTABs are not avai
lable.
2)3 SUBTTL INITIALIZE
**************
1)4 MOVEM R3,FSTSEG ;SAVE SEGMENT NAME
1) MOVEM R3,SEGBLK+1 ;[600] ALSO FOR RESTART LOGIC
1) MOVE T1,[-2,,.GTDEV] ;DEVICE OF HIGH SEG IF SHAREABLE
1) GETTAB T1, ;FROM MONITOR TABLES
1) SETZ T1, ;FAILED
1) JUMPE T1,[MOVEI T1,<<GETSEG T1,>&777777>
1) HRRM T1,NGTSEG ;REMOVE UU.PHY BIT
1) HRRM T1,EGTSEG ;FROM GETSEGS
1) JRST LINK1A]
1) MOVE .SGDEV,T1 ;USE DEVICE FROM GETTAB
1) MOVE T1,[-2,,.GTPPN] ;IF DEVICE WAS SHAREABLE WE NEED
PPN
1) GETTAB T1, ;SINCE MOST LIKELY WAS SYS:
1) SETZ T1, ;SHOULD NOT FAIL
1) SKIPE T1 ;OR BE ZERO
1) MOVE .SGPPN,T1 ;SO USE [PPN] FROM MONITOR TABLE
S
1) LINK1A: SKIPN T1,.SGDEV ;ALREADY SETUP BY MONITOR?
1) MOVSI T1,'DSK' ;NO, JUST LOADED ASSUME DSK
1) MOVEM T1,SEGBLK ;STORE DEVICE
1) MOVEM T1,ERRBLK ;FOR LNK999 ALSO
1) MOVEM .SGPPN,SEGBLK+4 ;AND PPN
1) MOVEM .SGPPN,ERRBLK+4
1) JUMPE .SGDEV,GETHSO ;IF JUST LOADED, GETTABS POINT T
O LINK
1)5 ;NOW TRY TO GET WHERE WE CAME FROM (INCLUDING SFD'S) VIA GETTAB.
****
2)4 ;**;[1126] Revamp @ F1+1P8L JNG 1-Nov-78
2) ;NOW SET UP THE GETSEG BLOCKS FROM THE ARGUMENTS THE USER TYPED
Digital Equipment Corporation 28-AUG-79 Page 185
PCO Log Report
TO THE
2) ;RUN COMMAND, WHICH ARE LEFT IN THE ACS. IF THE .GTR?? GETTABS
ARE
2) ;AVAILABLE, THE INFORMATION SET UP HERE WILL BE OVERWRITTEN. IF
WE
2) ;ARE RUNNING ON A PRE-7.01 MONITOR, HOWEVER, DOING THE GETSEG ON
THE
2) ;SAME ARGS THAT THE USER TYPED WILL MAXIMIZE OUR CHANCES OF FIND
ING THE
2) ;OTHER SEGMENTS, ESPECIALLY IF SFDS ARE INVOLVED.
2) MOVEM .SGDEV,SEGBLK ;[1126] STORE DEVICE THE USER TY
PED
2) MOVEM .SGDEV,ERRBLK ;[1126] AND A COPY FOR LNK999
2) MOVEM R3,FSTSEG ;SAVE SEGMENT NAME
2) MOVEM R3,SEGBLK+1 ;[600] ALSO FOR RESTART LOGIC
2) MOVEM .SGPPN,SEGBLK+4 ;AND PPN
2) MOVEM .SGPPN,ERRBLK+4
2) ;NOW TRY TO GET WHERE WE CAME FROM (INCLUDING SFD'S) VIA GETTAB.
**************
1)5 SEGLUP: MOVE T3,T2 ;SETUP FOR NEXT SFD
1) GETTAB T3, ;GET IT
1) JRST [TRNN T1,-1 ;FAILED, FIRST TIME?
1) JRST GETHSO ;YES, NOT IMPLEMENTED, GIVE UP
1) JRST GETUFD] ;NO, IMPLEMENTED, BUT WE RAN OUT
1) MOVEM T3,SEGPTH+.PTSFD(T1) ;STORE THIS SFD
1) ADDI T2,1 ;INCREMENT GETTAB ARG
1) AOBJN T1,SEGLUP ;LOOP FOR ALL SFD'S
1) GETUFD: SETZM SEGPTH+.PTSFD(T1) ;FORCE A ZERO AFTER THE
LAST SFD
****
2)4 ;**;[1126] Replace @ SEGLUP JNG 1-Nov-78
2) SFDLUP: MOVE T3,T2 ;[1126] SET UP FOR NEXT SFD
2) GETTAB T3, ;GET IT
2) JRST NOSFD ;[1126] GETTAB FAILED, SEE WHY
2) MOVEM T3,SEGPTH+.PTSFD(T1) ;STORE THIS SFD
2) ADDI T2,1 ;INCREMENT GETTAB ARG
2) AOBJN T1,SFDLUP ;[1126] LOOP FOR ALL SFD'S
2) JRST GETUFD ;[1126] GOT ALL SFDS, NOW FOR UF
D
2) ;HERE WHEN A GETTAB TO GET AN SFD FAILED. SEE IF THE MONITOR IS
TOO OLD.
2) NOSFD: TRNE T1,-1 ;[1126] FAIL FIRST TIME?
2) JRST GETUFD ;[1126] NO, GOT SOME SFDS, USE N
EW DATA
2) MOVEI T1,<<GETSEG T1,>&RH.ALF>;[1126] USE DATA ABOVE
2) HRRM T1,NGTSEG ;[1126] BUT NEED TO REPLACE GETS
EGS
2) HRRM T1,EGTSEG ;[1126] TO REPLACE PHYSICAL ONLY
BIT
Digital Equipment Corporation 28-AUG-79 Page 186
PCO Log Report
2) JRST GETHSO ;[1126] GETSEG INFO DONE, PROCEE
D
2)5 ;HERE IF THE 7.01 GETTABS WORK. FILL IN THE REST OF THE DATA.
2) GETUFD: SETZM SEGPTH+.PTSFD(T1) ;FORCE A ZERO AFTER THE
LAST SFD
**************
1)5 MOVEI T1,SEGPTH ;NOW POINT GETSEG BLOCKS TO PATH
BLOCK
****
2)5 ;**;[1126] Insert @ GETUFD+14L JNG 1-Nov-78
2) HRROI T1,.GTRFN ;[1126] THE FILE NAME WE CAME FR
OM
2) GETTAB T1, ;[1126] GET IT
2) JRST GETHSO ;[1126] CAN'T, LEAVE WELL ENOUGH
ALONE
2) SKIPN T1 ;[1126] RETURN ANYTHING?
2) JRST GETHSO ;[1126] NO, IGNORE IT
2) MOVEM T1,FSTSEG ;[1126] OK, STORE IT
2) MOVEM T1,SEGBLK+1 ;[1126] FOR GETSEGS TOO
2) MOVEI T1,SEGPTH ;NOW POINT GETSEG BLOCKS TO PATH
BLOCK
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 187
PCO Log Report
*********************
*PCO #:10-LINK -250*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 14-NOV-78
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] PAT.. LENGTH
[Source Before Edit] %4A (001126)
[Source After Edit] %4A (001127)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 188
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
No symptoms have been observed because no programs
require it, but the runtime symbol table generated by LINK
does not quite match the spec. In particular, the title
entry for the module PAT.. (which is inserted by LINK) does
not have the negative length of PAT..'s symbol table in the
left half of the value word.
**********
[DIAGNOSIS]
There is no code to put it out. It was probably an
oversight.
**********
[CURE]
Store the negated size of PAT..'s symbol table in the
left half of the value word of the module name entry in the
runtime symbol table.
Digital Equipment Corporation 28-AUG-79 Page 189
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1722 01-Nov-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1723 14-Nov-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-Nov-78
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Nov-7
8
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==1126 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1127 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1127 JNG 14-Nov-78 QAR DIB
2) ; Set up the module length for PAT.. in the runtime symbol
table.
2) ; Routine: LNKXIT
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 190
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1436 01-Nov-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1727 14-Nov-1978
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 1-Nov-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 14-Nov-78
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1125 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1127 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1127 Set up the module length for PAT.. in the runtime symbol
table.
2)5 SUBTTL ENTER HERE
**************
1)18 PUSHJ P,SYMOUT
****
2)18 ;**;[1127] Insert @ LSY1+37L JNG 14-Nov-78
2) HRLI W3,-4 ;[1127] FOUR WORDS IN PAT..'S TA
BLE
2) PUSHJ P,SYMOUT
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 191
PCO Log Report
*********************
*PCO #:10-LINK -251*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 26-JAN-79
[Programmer] D. NEFF
[Routines] LNKCOR
[Key Words] PASS /MAXC
[Source Before Edit] %4A (001127)
[Source After Edit] %4A (001130)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27212
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 192
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Edit 650 broke LINK's ability to load large programs in a
relatively small amount of memory by specifying /MAXCOR.
**********
[DIAGNOSIS]
If LINK requests memory from an area that is not big enough, LINK
tries first to expand it to make the request fit in. Prior to edit
650, LINK did this, but forgot to take into account the size of the
request itself, which would then result in a LNKNEC message.
However, edit 650 made LINK always count the size of the request,
even for pageable areas. For these, callers of LNKCOR know that
the request may fail, and will then move the window to the desired
address, and so the added amount of the request can cause LINK to
expand past the /MAXCOR value unnecessarily.
**********
[CURE]
Do not add in the size of the current request if the area for which
the request was made is pageable, i.e., the LC, HC, LS and AS
areas.
Digital Equipment Corporation 28-AUG-79 Page 193
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1723 14-Nov-1978
File 2) LINK:LNKHST.MAC[10,645063] created: 1317 26-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Nov-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
1) ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 26-Jan-7
9
2) ;COPYRIGHT (C) 1973, 1979 BY
2) ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1 DECEVR==1127 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1130 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1130 DZN 26-Jan-79 SPR 10-27212
2) ; Make LINK honor /MAXCOR correctly when a request for mem
ory in a
2) ; pagable area is made. In this case, edit 650 made LINK c
ount the
2) ; memory request toward the /MAXCOR value, even though the
window
2) ; can simply be moved.
2) ; Routine: LNKCOR
2)6 END ;OF LNKHST
**************
**********
[SYMPTOM]
If the low segment of a FORTRAN or ALGOL program exceeds the origin
of the associated OTS (object-time system) that will be brought in
at run-time, LINK forces the OTS to be loaded into the low segment
(if possible). However, this determination is made before the
system libraries are searched, which could then cause the low
segment to cross the OTS origin. This causes GETSEG errors or
other problems at run-time.
**********
[DIAGNOSIS]
The decision to load the OTS into the low segment must be made
prior to the system library search, since totally different modules
from the library might be required for the low segment version.
However, if the decision is made to GETSEG the OTS at run-time but
the low segment then grows past the OTS origin, it is too late to
back out to prevent a run-time error.
**********
[CURE]
Change the check so that a low-segment version of the OTS is loaded
if the low segment has grown to within 40 (decimal) pages of the
OTS origin. This is about twice the size of the low segment
portion of the sharable OTS, and will therefore guarantee that the
load will succeed.
Note however that this is only a load-time decision, and it is
still possible for the user's run-time memory requirements to
exceed the room left below the OTS. This can generally be found
simply by trial and error, and the /OTS switch used to force a
sharable OTS (if less memory is needed) or a low-segment OTS (if
more memory is needed).
Digital Equipment Corporation 28-AUG-79 Page 197
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1317 26-Jan-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1433 26-Jan-1979
1)1 DECEVR==1130 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1131 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1131 DZN 26-Jan-79 SPR 10-27123
2) ; Make LINK decide to load a non-sharable OTS if the low s
egment
2) ; has grown within 40 pages of the origin of the OTS high
segment
2) ; rather than letting the low segment grow past it first.
2) ; Otherwise, the low segment may cross the beginning of th
e OTS
2) ; during the system library search when it is too late to
fix it.
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 198
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1814 22-Sep-1978
File 2) LINK:LNKLOD.MAC[10,645063] created: 1529 26-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 22-Sep-7
8
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 26-Jan-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKLOD
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKLOD
**************
1)1 DECEVR==1120 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1131 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1131 Force non-reentrant OTS sooner, if low segment is within
40 pages of 400000.
2)5 SUBTTL LOAD CONTROL
**************
1)85 QREENT: HRLZ T1,HL.S1 ;[574] GET CURRENT END OF LOW SE
G
1) JUMPGE T1,QREEN1 ;[574] IF .GT. 128K, CAN'T BE SH
ARABLE
1) SKIPN HL.S2 ;[574] NON-SHARABLE OTS. HIGH SE
G EXIST?
****
2)85 ;**;[1131] Replace @QREENT DZN 26-Jan-79
2) QREENT: MOVE T1,HL.S1 ;[1131] GET CURRENT END OF LOW S
EGMENT
2) CAIGE T1,400000-50000 ;[1131] SEE IF WITHIN 40 DECIMAL
PAGES OF HISEG
2) JRST QREEN1 ;[1131] YES--GO TRY TO FOR NON-S
HARABLE OTS
2) SKIPN HL.S2 ;[574] NON-SHARABLE OTS. HIGH SE
G EXIST?
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 199
PCO Log Report
*********************
*PCO #:10-LINK -253*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) + EDIT 1110
[Date Entered] 30-JAN-79
[Programmer] GILBERT
[Routines] LNKXIT LNKOLD LNKLOD LNKWLD
[Key Words] BAD EXE FI MANY BUGS
[Source Before Edit] %4A (001131)
[Source After Edit] %4A (001132)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26576
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 200
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
There are several problems that users may run into if
LINK tries to create an EXE file, as follows:
1. LINK will get an address check if the low segment
ends on the last word of a page, and if the program
is not so large that LINK needs to overflow to
disk.
2. LINK will get an address check if loading a PSECTed
program. This will occur if the lowest code loaded
is at 2000 or above, and the program is not so
large that LINK needs to overflow to disk.
3. Any absolute code loaded beyond the last
relocatable code will be lost, and will not appear
in the EXE file.
4. LINK will write a bad EXE directory when loading
overlays if the user gives a /SPACE switch with a
small (less than a page) argument.
5. LINK will write a bad EXE directory if the program
being loaded is so complex that the EXE directory
is longer than two pages.
6. The EXE file that LINK writes will be bad if the
user loads any PSECTs at higher addresses than the
high segment. The high segment will be written
into the EXE file twice.
7. LINK can write an EXE file that does not contain
page 0. Instead, what should have been page 1 will
be written as page 0, page 2 will be written as
page 201 and so on for some or possibly the rest of
the EXE file. This will happen if page 202 is the
lowest page that the user has loaded anything into.
8. PSECT attributes specified by the user in the
source program will be ignored by LINK, and will
not appear in the EXE directory.
Digital Equipment Corporation 28-AUG-79 Page 203
PCO Log Report
9. If the user is loading PSECTs and requests a DDT
symbol table, the symbol table written will contain
junk. LINK incorrectly writes each PSECT into the
symbol table as a null module name once for each
module that uses that PSECT.
10. LINK can get a ?LNKCNW error when loading PSECTs if
the user has requested a DDT symbol table. This
will happen if the last program loaded does not
define any more symbols after the first appearance
of a PSECT statement for some PSECT that LINK has
never seen before.
11. LINK can overwrite an overlaid PSECT with the
symbol table. This will happen if the user tells
LINK to place the DDT symbol table after the
overlaid PSECT, using the /SYMSEG:PSECT:name
switch.
**********
[DIAGNOSIS]
Several logic errors in the EXE file writing code.
**********
[CURE]
Rework the faulty routines, as shown in the attached
FILCOM. Note that this edit requires edit 1110, and
supersedes edits 774 and 776 if installed.
Digital Equipment Corporation 28-AUG-79 Page 204
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1433 26-Jan-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 0835 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 26-Jan-7
9
1)
1)
1) ;COPYRIGHT (C) 1973, 1979 BY
1) ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 30-Jan-7
9
2)
2)
2) ;COPYRIGHT (C) 1973, 1978, 1979 BY
2) ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1 DECEVR==1131 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1132 ;DEC EDIT VERSION
2)
**************
1)5
1)6 END ;OF LNKHST
****
2)5 ; Routine: LNKLOD
2)
2) ;1132 JNG 30-Jan-79 SPR 10-26576
2) ; Re-work EXE file writer to fix several problems, includi
ng:
2) ; . PSECTs above the high segment not written properly.
2) ; . Absolute code not loaded correctly.
2) ; . Bad EXE directory if loading overlays and small /SPACE
switch.
2) ; . PSECT attributes not written into the EXE file.
2) ; . Page 1 written into page 0 if page 1 is lowest page co
ntaining code.
2) ; . Address checks when writing the EXE file.
2) ; . Bad EXE file if EXE directory is longer than two pages
.
2) ; . ?LNKCNW or bad DDT symbol table when loading PSECTs.
2) ; Routines: LNKPAR, LNKINI, LNKLOD, LNKOLD, LNKWLD, LNKXIT
.
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 205
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 1812 05-Oct-1978
File 2) LINK:LNKPAR.MAC[10,645063] created: 0833 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 5-Oct-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 30-Jan-7
9
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
2)
**************
1)1 DECEVR==1122 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1132 ;DEC EDIT VERSION
2)
**************
1)5
****
2)5 ;1132 Add AT.PS.
2)
**************
1)16 AT.PA==:1B13 ;[722] PAGE ALIGNED
****
2)16 ;**;[1132] Insert @ AT.RP definition +1L JNG 30-Jan-7
9
2) AT.PS==:1B1 ;[1132] PSECT SEEN (IN THIS MODULE)
2) AT.PA==:1B13 ;[722] PAGE ALIGNED
**************
Digital Equipment Corporation 28-AUG-79 Page 206
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1728 01-Nov-1978
File 2) LINK:LNKINI.MAC[10,645063] created: 1101 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 1-Nov-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 30-Jan-79
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
2)
**************
1)1 DECEVR==1126 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1132 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1132 Initialize .LOW.'s RC.AT and RC.HL.
2)
**************
1)8 SETZM RC.SG(P1) ;SET TO 0 SEGMENT
1) HRL T2,P1 ;BUILD BLT POINTER
1) HRRI T2,1(P1) ;TO CLEAR ALL OF ABS RC BLOCK
1) BLT T2,RC.INC-1(P1)
1) MOVE T2,['.ABS. '] ;NAME OF IT
****
2)8 ;**;[1132] Change @ CORINI+25L JNG 30-Jan-79
2) MOVEI T2,1 ;[1132] SET TO LC AREA
2) MOVEM T2,RC.SG(P1) ;[1132]
2) MOVEI T2,.JBDA ;[1132] INIT H?.S0 TO SHOW JOBDA
T LOADED
2) MOVEM T2,HC.S0 ;[1132] HIGHEST LOCATION NON-ZER
O
2) MOVEM T2,HL.S0 ;[1132] HIGHEST LOCATION SEEN
2) MOVE T2,['.ABS. '] ;NAME OF IT
**************
1)9 SETZM RC.OF(P1) ;ZERO RELATIVE TO LC.LB
1) SETZM RC.HL(P1) ;HAVEN'T LOADED ANY YET
1) MOVEI T2,LC.LB ;POINT TO LOW SEGMENT
****
2)9 ;**;[1132] Change @ CORINI+1P13L JNG 30-Jan-79
2) MOVEM T2,RC.HL(P1) ;[1132] ALSO HIGHEST LOADED SO F
Digital Equipment Corporation 28-AUG-79 Page 207
PCO Log Report
AR
2) SETZM RC.OF(P1) ;ZERO RELATIVE TO LC.LB
2) MOVEI T2,LC.LB ;POINT TO LOW SEGMENT
**************
Digital Equipment Corporation 28-AUG-79 Page 208
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1529 26-Jan-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 0835 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 26-Jan-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 30-Jan-7
9
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
2)
**************
1)1 DECEVR==1131 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1132 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1132 Teach SEGCHK about PSECTs above the high segment.
2)
**************
1)50 SEGCHK::HRRI R,2 ;ASSUME IN HIGH SEG
1) SKIPE LL.S2 ;MUST BE LOW IF ONLY ONE SEGMENT
1) CAMGE T2,LL.S2 ;IN HIGH SEGMENT
1) HRRI R,1 ;[632] NO, SET R TO LOW SEGMENT
1) SKIPN PAG.S0(R) ;[632] IS THIS AREA PAGING?
1) JRST SEGCK1 ;[632] NO, ADDR CAN'T BE ON DISK
1) IFN FTOVERLAY,<
1) TRNN R,-2 ;[632] LOW SEG?
1) SUB T2,PH.ADD ;[632] YES, OFFSET IF NOT ROOT
1) > ;END OF IFN FTOVERLAY
1) SUB T2,LL.S0(R) ;[632] CONVERT TO OFFSET IN SEGM
ENT
1) CAML T2,LW.S0(R) ;[632] IS ADDRESS IN CORE?
1) CAMLE T2,UW.S0(R) ;[632] MAYBE, IS IT?
1) TLZA R,1 ;[632] NO, REMEMBER IT (BORROW 1
B17)
1) TLO R,1 ;[632] YES, IT IS IN CORE
1) ADD T2,LL.S0(R) ;[632] PUT T2 BACK IN CASE WE RE
TURN
1) IFN FTOVERLAY,<
Digital Equipment Corporation 28-AUG-79 Page 209
PCO Log Report
1) TRNN R,-2 ;[632] LOW SEG ADDRESS?
1) ADD T2,PH.ADD ;[632] YES, PUT BACK FOR .JDDT O
R POPJ
1) > ;END OF IFN FTOVERLAY
1) TLZN R,1 ;[632] SHOULD WE CONTINUE?
1) POPJ P, ;[632] ADDRESS WAS ON DISK, RETU
RN
1)
1) ;HERE IF ADDRESS IS DEFINITELY IN CORE. CONVERT TO PHYS. ADDR &
RETURN.
1) SEGCK1: .JDDT LNKLOD,SEGCK1,<<CAMN T2,$LOCATION>> ;[632]
1) IFN FTOVERLAY,<
1) TRNN R,-2 ;[632] IF LOW SEGMENT
1) SUB T2,PH.ADD ;[632] MAKE OFFSET FROM START OF
LINK
1) > ;END OF IFN FTOVERLAY
1) SUB T2,LL.S0(R) ;[632] MAKE RELATIVE TO SEGMENT
START
1) SUB T2,LW.S0(R) ;[632] RELATIVE TO IN-CORE PART
OF AREA
****
2)50 ;**;[1132] Replace @ SEGCHK JNG 30-Jan-79
2) SEGCHK::
2) PUSH P,T2 ;[1132] SAVE USER VIRTUAL ADDRES
S
2) HRRI R,2 ;ASSUME IN HIGH SEG
2) SKIPE LL.S2 ;[1132] MUST BE LOW IF ONLY ONE
SEGMENT
2) CAMGE T2,LL.S2 ;[1132] BELOW BOTTOM OF HIGH SE
GMENT?
2) SOJA R,SEGCK2 ;[1132] IN LOW SEGMENT
2) SUB T2,LL.S2 ;[1132] FORM OFFSET INTO HIGH SE
GMENT
2) CAMGE T2,HL.S2 ;[1132] BEFORE END OF HIGH SEGME
NT?
2) JRST SEGCK4 ;[1132] YES, IN HIGH SEGMENT
2) MOVE T2,0(P) ;[1132] RESTORE ADDRESS (OFFSET
INTO LOW SEG)
2) HRRI R,1 ;[1132] SET R TO LOW SEGMENT
2) SEGCK2: ;[1132] HERE IF T2 AND R POINT T
O LOW SEG
2) IFN FTOVERLAY,<
2) SUB T2,PH.ADD ;[1132] OFFSET INTO LC IF NOT RO
OT LINK
2) > ;END IFN FTOVERLAY
2)
2) SEGCK4: SKIPN PAG.S0(R) ;[1132] IS THIS AREA PAGING?
2) JRST SEGCK6 ;[1132] NO, ADDR CAN'T BE ON DIS
K
Digital Equipment Corporation 28-AUG-79 Page 210
PCO Log Report
2) CAML T2,LW.S0(R) ;[632] IS ADDRESS IN CORE?
2) CAMLE T2,UW.S0(R) ;[632] MAYBE, IS IT?
2) JRST [POP P,T2 ;[1132] NOT IN CORE, RESTORE CAL
LER'S T2
2) POPJ P,] ;[1132] RETURN TO CALLER
2)
2) ;HERE IF ADDRESS IS DEFINITELY IN CORE.
2) SEGCK6: EXCH T2,0(P) ;[1132] GET PHYSICAL ADDRESS FOR
.JDDT
2) .JDDT LNKLOD,SEGCK6,<<CAMN T2,$LOCATION>> ;[1132]
2) POP P,T2 ;[1132] RESTORE OFFSET INTO SEGM
ENT
2) SUB T2,LW.S0(R) ;[632] RELATIVE TO IN-CORE PART
OF AREA
**************
1)68 MOVE T1,@RC.TB ;[747] NEXT PSECT ORIGIN MUST BE
THE LOWEST LOC
1) MOVE W1,RC.IV(T1) ;[747]
****
2)68 ;**;[1132] Replace @ CHKLLC+13L JNG 30-Jan-79
2) CAMLE R,RC.NO ;[1132] NEXT PSECT ORG MUST BE L
OWEST
2) JRST [SETZM LOWLOC ;[1132] NO NEXT, LOWLOC IS ZERO
2) JRST CHKLL1] ;[1132] DONE
2) MOVE T1,@RC.TB ;[1132] GET POINTER TO RC BLOCK
2) MOVE W1,RC.IV(T1) ;[747]
**************
1)88 SETZM RC.HL(R) ;CLEAR IN EITHER CASE
1) MOVEI R,2 ;NO FOR HIGH SEGMENT
****
2)88 ;**;[1132] Delete @ EOFTS+7L JNG 30-Jan-79
2) MOVEI R,2 ;NO FOR HIGH SEGMENT
**************
1)88 SETZM RC.HL(R) ;CLEAR IN EITHER CASE
1) ;**;[1114] Insert after EOFTS+14L DZN 1-Sep-78
****
2)88 ;**;[1132] Delete @ EOFTS+14L JNG 30-Jan-79
2) ;**;[1114] Insert after EOFTS+14L DZN 1-Sep-78
**************
Digital Equipment Corporation 28-AUG-79 Page 211
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1847 25-Sep-1978
File 2) LINK:LNKOLD.MAC[10,645063] created: 0834 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 22-Sep-7
8
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 30-Jan-7
9
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
2)
**************
1)1 DECEVR==1120 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1132 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1132 Check for PSECT seen in this module with AT.PS; preserve
RC.HL
2)
**************
1)42 MOVEI T2,-.FRESP-1(W1) ;[745] RESERVED SOME FRE
E SPACE
1) MOVEM T2,SYMLIM ;[745] CORRECT SYMBOL TABLE LIMI
T
1) MOVEI R,2 ;RELOCATION FOR HIGH SEGMENT
1) MOVE R,@SG.TB ;GET BLOCK POINTER
1) MOVEM W1,LL.S2 ;FOR INPUT ROUTINE ONLY
****
2)42 ;**;[1132] Delete @ SETRC+13L JNG 30-Jan-79
2) MOVEM W1,LL.S2 ;FOR INPUT ROUTINE ONLY
**************
1)42 MOVEI T1,2 ;SEGMENT NUMBER
****
2)42 ;**;[1132] Insert @ SETRC+33L JNG 30-Jan-79
2) MOVEM W1,RC.HL(R) ;[1132] CONSIDER THESE TO BE LOA
DED
2) MOVEI T1,2 ;SEGMENT NUMBER
**************
1)42 SETZM RC.HL(R)
Digital Equipment Corporation 28-AUG-79 Page 212
PCO Log Report
1) MOVEI T1,HC.LB
****
2)42 ;**;[1132] Delete @ SETRC+36L JNG 30-Jan-79
2) MOVEI T1,HC.LB
**************
1)42
1)43 ;HERE IF DESIRED RC SLOT IS NOT FREE
****
2)43 ;HERE IF DESIRED RC SLOT IS NOT FREE
**************
1)48 SETZM RC.HL(R) ;CLEAR HIGHEST IN PROGRESS
1) CAMLE W1,HL.S1 ;AND HIGHEST ADDRESS IN THIS SEG
MENT
****
2)48 ;**;[1132] Replace @ T.5LS+6L JNG 22-Jan-79
2) MOVEM W1,RC.HL(R) ;[1132] MAKE SURE HL IS UP TO DA
TE TOO
2) CAMLE W1,HL.S1 ;AND HIGHEST ADDRESS IN THIS SEG
MENT
**************
1)48 SETZM RC.HL(R)
1) MOVE T1,W2 ;GET A COPY
****
2)48 ;**;[1132] Replace @ T.5HS+6L JNG 30-Jan-79
2) MOVEM W2,RC.HL(R) ;[1132] MAKE SURE HL IS HIGHEST
POSSIBLE
2) MOVE T1,W2 ;GET A COPY
**************
1)49 T.5RET: SKIPE UW.LS ;ARE WE PAGING SYMBOLS?
****
2)49
2)50 T.5RET: SKIPE UW.LS ;ARE WE PAGING SYMBOLS?
**************
1)49 SKIPN T2,RC.HL(T1) ;DID WE LOAD CODE FOR THIS ONE?
1) JRST T.5PSB ;NO
1) MOVE W2,RC.NM(T1) ;GET NAME
****
2)50 ;**;[1132] Change @ T.5PSA+1L JNG 30-Jan-79
2) MOVX T2,AT.PS ;[1132] FLAG FOR PSECT SEEN IN T
HIS MODULE
2) TDNN T2,RC.AT(T1) ;[1132] DID WE SEE THIS PSECT IN
THIS MODULE?
2) JRST T.5PSB ;NO
2) ANDCAB T2,RC.AT(T1) ;[1132] CLEAR FLAG FOR NEXT TIME
2) MOVE W2,RC.NM(T1) ;GET NAME
**************
1)49 HLL T3,RC.AT(T1) ;[722] GET ATTRIBUTE
1) TXNE T3,AT.OV ;[722] TO BE OVERLAYED?
1) JRST [CAMLE T2,RC.CV(T1) ;[757] THIS MODULE CAUSE
Digital Equipment Corporation 28-AUG-79 Page 213
PCO Log Report
AN
1) JRST T.5PSB ;[757] OVERLAYABLE PSECT
TO GROW? NO,
1) JRST T.5PSD] ;[757] YES, DON'T UPDATE
RC.CV
1) CAMLE T2,RC.CV(T1) ;BIGGER THAN WHAT WE HAVE?
1) MOVEM T2,RC.CV(T1) ;YES
1) SETZM RC.HL(T1) ;[757] CLEAR FOR NEXT MODULE
1) T.5PSD: PUSHJ P,LS.ADD## ;PUT IN LOCAL TABLE
****
2)50 ;**;[1132] Change @ T.5PSA+6L JNG 30-Jan-79
2) MOVE T3,RC.HL(T1) ;[1132] GET HIGHEST SEEN
2) TXNN T2,AT.OV ;[1132] OVERLAID PSECT?
2) CAMG T3,RC.CV(T1) ;[1132] OR LOWER THAN WHAT WE HA
VE?
2) JRST T.5PSD ;[1132] YES, DONE UPDATE RC.CV
2) MOVEM T3,RC.CV(T1) ;[1132] UPDATE CV FOR NEXT MODUL
E
2) T.5PSD: PUSHJ P,LS.ADD## ;PUT IN LOCAL TABLE
**************
1)51 SETZM RC.HL(R) ;CLEAR HIGHEST IN PROGRE
SS
1) CAMLE W2,HL.S1 ;AND HIGHEST ADDRESS IN
THIS SEGMENT
****
2)52 ;**;[1132] Replace @ T.5FL+13L JNG 30-Jan-79
2) MOVEM W2,RC.HL(R) ;[1132] HIGHEST LOCATION
LOADED
2) CAMLE W2,HL.S1 ;AND HIGHEST ADDRESS IN
THIS SEGMENT
**************
1)51 SETZM RC.HL(R) ;CLEAR HIGHEST IN PROGRESS
1) CAMLE W1,HL.S1 ;AND HIGHEST ADDRESS IN THIS SEG
MENT
****
2)52 ;**;[1132] Replace @ T.5FL+21L JNG 30-Jan-79
2) MOVEM W1,RC.HL(R) ;[1132] FOR LNKXIT
2) CAMLE W1,HL.S1 ;AND HIGHEST ADDRESS IN THIS SEG
MENT
**************
1)51
1)52 ;HERE FOR FORCED HIGH SEGMENT
****
2)52 ;HERE FOR FORCED HIGH SEGMENT
**************
1)52 SETZM RC.HL(R)
1) MOVE T1,W2 ;GET A COPY
****
2)52 ;**;[1132] Replace @ T.5FH+13L JNG 30-Jan-79
Digital Equipment Corporation 28-AUG-79 Page 214
PCO Log Report
2) MOVEM W1,RC.HL(R) ;[1132] FOR LNKXIT
2) MOVE T1,W2 ;GET A COPY
**************
1)52 SETZM RC.HL(R)
1) MOVE T1,W2 ;GET A COPY
****
2)52 ;**;[1132] Delete @ T.5FH+23L JNG 30-Jan-79
2) MOVEM W2,RC.HL(R) ;[1132] FOR LNKXIT
2) MOVE T1,W2 ;GET A COPY
**************
1)101 T.24A: AOS RC.CUR ;GOES IN NEXT SLOT
1) MOVE R,RC.NO ;START AT BACK OF TABLE
****
2)101 ;**;[1132] Insert @ T.24A JNG 30-Jan-79
2) T.24A: TXO W3,AT.PS ;[1132] PSECT SEEN IN THIS MODUL
E
2) AOS RC.CUR ;GOES IN NEXT SLOT
2) MOVE R,RC.NO ;START AT BACK OF TABLE
**************
1)101 JRST [TXZ W1,AT.RP ;FOUND IT, MUST HAVE ORI
G ALREADY
1) IORM W1,RC.AT(T1) ;UPDATE ATTRIBUTES
1) JRST T.24B] ;GO CHECK ORDERING
****
2)101 ;**;[1132] Change @ T.24A+4L JNG 30-Jan-79
2) JRST [TXZ W3,AT.RP ;[1132] FOUND IT, MUST H
AVE ORIG ALREADY
2) IORM W3,RC.AT(T1) ;[1132] UPDATE ATTRIBUTE
S
2) JRST T.24B] ;GO CHECK ORDERING
**************
Digital Equipment Corporation 28-AUG-79 Page 215
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1844 05-Oct-1978
File 2) LINK:LNKWLD.MAC[10,645063] created: 0834 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 5-Oct-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 30-Jan-7
9
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
2)
**************
1)1 DECEVR==1122 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1132 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1132 Allow loading of PSECTs above the high segment.
2)
**************
1)40 SET2: CAMG R1,RC.NO ;CHECKED ALL WE'VE SET UP?
1) AOJA R1,SET1 ;NO
1) SET3: PUSHJ P,.SAVE4## ;[714] SAVE P1-P4
1) MOVX W1,PT.SGN!PT.SYM ;[714] SET FLAGS
****
2)40 ;**;[1132] Change @ SET2 JNG 30-Jan-79
2) SET2: CAMGE R1,RC.NO ;[1132] CHECKED ALL WE'VE SET UP
?
2) AOJA R1,SET1 ;NO
2) SET3: ADDI R,1 ;[1132] NOT THERE - INSERT IN NE
XT FREE SLOT
2) PUSHJ P,.SAVE4## ;[714] SAVE P1-P4
2) MOVX W1,PT.SGN!PT.SYM ;[714] SET FLAGS
**************
1)40 SET4: MOVEI T1,1 ;ASSUME LOW SEG
1) SKIPE LL.S2 ;DO WE HAVE A CHOICE?
1) CAMGE W3,LL.S2 ;YES, BUT IN HIGH SEG?
1) JRST SET5 ;NOT HIGH SEG
1) ADDI T1,1 ;HIGH = 2
1) SET5: MOVEM T1,RC.SG(R) ;SEGMENT NUMBER
1) EXCH R,T1 ;SWAP, PUT SEG # IN R
Digital Equipment Corporation 28-AUG-79 Page 216
PCO Log Report
****
2)40 ;**;[1132] Replace @ SET4 JNG 30-Jan-79
2) SET4: MOVEI T1,1 ;[1132] ALL PSECTS ARE IN THE LC
AREA
2) MOVEM T1,RC.SG(R) ;[1132] SEGMENT NUMBER
2) EXCH R,T1 ;SWAP, PUT SEG # IN R
**************
1)40 MOVE T2,RC.LB(R) ;BASE OF AREA
****
2)40 ;**;[1132] Insert @ SET4+17L JNG 30-Jan-79
2) CAMLE W3,RC.HL(T1) ;[1132] HIGHEST LOCATION SO FAR?
2) MOVEM W3,RC.HL(T1) ;[1132] YES, STORE IT
2) MOVE T2,RC.LB(R) ;BASE OF AREA
**************
1)40 SETE: .ERR. (MS,,V%L,L%F,S%F,RCF,<Relocation counter table f
ull>)
1)
1) SETL: .ERR. (MS,.EC,V%L,L%W,S%W,SRB,<Attempt to set >)
****
2)40 ;**;[1132] Delete @ SETE JNG 30-Jan-79
2) SETL: .ERR. (MS,.EC,V%L,L%W,S%W,SRB,<Attempt to set >)
**************
Digital Equipment Corporation 28-AUG-79 Page 217
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1727 14-Nov-1978
File 2) LINK:LNKXIT.MAC[10,645063] created: 1219 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 14-Nov-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 30-Jan-79
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
2)
**************
1)1 DECEVR==1127 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1132 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1132 Teach the EXE file writer about PSECTs above the high se
gment.
2)
**************
1)15 SKIPL SYMSEG ;[715] A PSECT WAS SPECIFIED?
1) ;**;[1110] Add label @ GETSST+2L MCHC 7-Aug-78
1) GETS0: JRST [SKIPGE T1,SYMLIM ;[1110][727] HAVE A DEFA
ULT LIMIT?
1) HRRZM T1,SYMLIM ;[727] YES, MAKE IT THE
LIMIT
1) SKIPN HL.S0(R) ;[715] NO, NULL SEGMENT?
1) ADD P4,[EXP .JBDA,.JBHDA]-1(R) ;[715] SAVE J
OBDAT
1) ADDB P4,HL.S0(R) ;[715] HIGHEST LOADED F
OR SEG
1) POP P,T1 ;[727] RESTORE T1
1) POPJ P,] ;[715] RETURN FROM HERE
IF HIGH/LOW
1) SETZ R, ;[727] YES, HAVE PSECT NAME
1) GETS1: MOVE T1,@RC.TB ;[715]
1) MOVE T2,RC.NM(T1) ;[715] GET PSECT NAME
1) CAMN T2,SSGNAM ;[715] IS THIS THE ONE?
1) JRST GETS2 ;[715] YES,
1) ADDI R,1 ;[715] NEXT ONE
1) CAMG R,RC.NO ;[715] ANY MORE?
Digital Equipment Corporation 28-AUG-79 Page 218
PCO Log Report
1) JRST GETS1 ;[715] YES, LOOP
1) ;**;[1110] Change @ GETS1+7L MCHC 7-Aug-78
1) .ERR. (MS,.EC,V%M,L%W,S%W,NPS,<NON-EXISTENT PSECT SPEC
IFIED -- >) ;[1110]
1) .ETC. (SBX,.EP,,,,SSGNAM) ;[1110] OUTPUT PSECT NAM
E
1) MOVEI R,1 ;[715] SET TO LOW
1) MOVEM SYMSEG ;[715]
1) JRST GETS0 ;[1110][715] AND LOOP BACK
1)
1) GETS2: MOVE T2,RC.CV(T1) ;[715] GET HIGHEST LOCATION
1) ADDB P4,T2 ;[715] GET SYMBOL START ADDR
1) CAMLE P4,HL.S1 ;[715] GREATER THAN HIGHT LOCATI
ON?
1) MOVEM P4,HL.S1 ;[715] UPDATE IT IN THAT CASE
1) SKIPLE SYMLIM ;[727] DO WE HAVE A LIMIT
1) JRST GETS3 ;[715] FROM THE LAST CALL TO HE
RE
1) GETS4: ADDI R,1 ;[715] NEXT PSECT
1) CAMG R,RC.NO ;[715] SKIP IF NO MORE
1) JRST [MOVE T1,@RC.TB ;[715] THERE IS ONE
1) MOVE T2,RC.IV(T1) ;[715] GET ITS ORIGIN
1) SUBI T2,1 ;[727] ONE LESS
1) MOVEM T2,SYMLIM ;[715] MAKE IT THE SYMBO
L LIMIT
1) JRST GETS3] ;[715]
1) SETOM SYMLIM ;[715] NO LIMIT AND BEEN HERE BE
FORE
1) GETS3: MOVE T1,P4 ;[764] GET START OF THE SYMBOL T
ABLE
1) TRZ T1,777 ;[764] ROUND DOWN TO PAGE BOUND
1) CAMGE T1,LOWLOC ;[764] LOWER THAN ANY CODE?
1) MOVEM T1,LOWLOC ;[764] YES, UPDATE LOWEST LOCATI
ON
1) MOVEI R,1 ;[715] UPDATE SEGMENT#
1) POP P,T1 ;[715] RESTORE AC'S
****
2)15 ;**;[1132] Revamp @ GETSST+1L JNG 30-Jan-79
2) SKIPGE SYMSEG ;[1132] /SYMSEG TO A PSECT?
2) JRST GETS10 ;[1132] YES, GO FIND IT
2) GETS2: CAIE R,1 ;[1132] /SYMSEG:LOW?
2) JRST GETS8 ;[1132] NO, MUST BE /SYMSEG:HIGH
2)
2) SPUSH <T2,T3,T4> ;[1132] SAVE SOME ACS FOR LOOP
2) SETZB R,T3 ;[1132] ON /SYMSEG:LOW, WE WANT
TO PUT THE
2) GETS4: MOVE T1,@RC.TB ;[1132] SYMBOLS AFTER THE LAST
PSECT, SO WE
2) MOVE T2,RC.NM(T1) ;[1132] GET THE NAME OF THIS PSE
Digital Equipment Corporation 28-AUG-79 Page 219
PCO Log Report
CT
2) CAMN T2,['.HIGH.'] ;[1132] IS THIS THE HIGH SEG?
2) JRST GETS6 ;[1132] YES, IT DOESN'T COUNT FO
R /SYMSEG:LOW
2) MOVE T2,RC.HL(T1) ;[1132] NEED TO FIND THE PSECT
THAT ENDS LAST
2) CAMG T2,T3 ;[1132] HIGHEST SO FAR?
2) JRST GETS6 ;[1132] NO, CONTINUE
2) MOVE T3,T2 ;[1132] SAVE NEW BEST
2) MOVE T4,R ;[1132] AND WHAT PSECT IT WAS
2) GETS6: CAMGE R,RC.NO ;[1132] ALL DONE?
2) AOJA R,GETS4 ;[1132] NO, LOOP
2) MOVE R,T4 ;[1132] YES, SAVE PSECT INDEX OF
LAST ONE
2) SPOP <T4,T3,T2> ;[1132] RESTORE ACS
2) JRST GETS14 ;[1132] GO UPDATE THAT PSECT
2)
2) GETS8: MOVE T1,['.HIGH.'] ;[1132] /SYMSEG:HIGH IS JUST LIK
E A PSECT
2) MOVEM T1,SSGNAM ;[1132] STORE
2)
2) GETS10: SETZ R, ;[727] YES, HAVE PSECT NAME
2) GETS12: MOVE T1,@RC.TB ;[1132]
2) MOVE T1,RC.NM(T1) ;[1132] GET PSECT NAME
2) CAMN T1,SSGNAM ;[1132] IS THIS THE ONE?
2) JRST GETS14 ;[1132] YES,
2) ADDI R,1 ;[715] NEXT ONE
2) CAMG R,RC.NO ;[715] ANY MORE?
2) JRST GETS12 ;[1132] YES, LOOP
2) .ERR. (MS,.EC,V%M,L%W,S%W,NPS,<NON-EXISTENT PSECT SPEC
IFIED -- >) ;[1110]
2) .ETC. (SBX,.EP,,,,SSGNAM) ;[1110] OUTPUT PSECT NAM
E
2) MOVEI R,1 ;[1132] SET TO LOW
2) MOVEM R,SYMSEG ;[1132]
2) JRST GETS2 ;[1132] AND LOOP BACK
2)
2) ;FALL INTO NEXT PAGE
2)
2)16 ;FALL IN FROM ABOVE
2)
2) GETS14: SKIPL SYMLIM ;[1132] HAVE A LIMIT YET?
2) JRST GETS18 ;[1132] YES, PROCEED
2) ADDI R,1 ;[1132] NO, CHECK NEXT PSECT
2) CAMLE R,RC.NO ;[1132] IS THERE ONE?
2) JRST GETS16 ;[1132] NO, USE 777777
2) MOVE T1,@RC.TB ;[1132] RC BLOCK FOR NEXT PSECT
2) MOVE T1,RC.IV(T1) ;[1132] BOTTOM OF IT
2) SOSA T1 ;[1132] LIMIT IS ONE BELOW
Digital Equipment Corporation 28-AUG-79 Page 220
PCO Log Report
2) GETS16: MOVEI T1,777777 ;[1132] USE 777777 IF NO NEXT PS
ECT
2) MOVEM T1,SYMLIM ;[1132] STORE
2) SUBI R,1 ;[1132] BACK TO OLD PSECT
2)
2) GETS18: MOVE T1,@RC.TB ;[1132] THIS PSECT'S RC BLOCK
2) MOVEM T1,SYMPSC ;[1132] SAVE FOR SYDONE
2) ADD P4,RC.HL(T1) ;[1132] COMPUTE START OF SYMBOL
TABLE
2) MOVE R,RC.SG(T1) ;[1132] SEGMENT SYMBOL TABLE IS
IN
2) MOVE T1,P4 ;[1132] GET START OF THE SYMBOL
TABLE
2) TRZ T1,777 ;[1132] ROUND DOWN TO PAGE BOUND
2) CAMGE T1,LOWLOC ;[1132] LOWER THAN ANY CODE?
2) MOVEM T1,LOWLOC ;[1132] YES, UPDATE LOWEST LOCAT
ION
2) SUB P4,LL.S0(R) ;[1132] OFFSET TO SEGMENT START
2) CAMLE P4,HL.S0(R) ;[1132] UPDATE HL FOR THAT SEGME
NT
2) MOVEM P4,HL.S0(R) ;[1132] BUT NEVER DECREASE
2) POP P,T1 ;[715] RESTORE AC'S
**************
1)34 SUBI T2,0(T3) ;FIND - LENGTH
****
2)35 ;**;[1132] Insert @ SYDONE+15L JNG 30-Jan-79
2) MOVE T1,SYMPSC ;[1132] GET POINTER TO /SYMSEG R
C BLOCK
2) CAMLE T3,RC.HL(T1) ;[1132] INCORPORATE SYMBOLS INTO
THAT PSECT
2) MOVEM T3,RC.HL(T1) ;[1132] BUT NEVER SHRINK A PSECT
2) SUBI T2,0(T3) ;FIND - LENGTH
**************
1)35 LTITLE: PUSHJ P,SXBR50 ;CONVERT TO RADIX-50
1) TXNE W1,PT.BLK ;ONLY A FAIL BLOCK HEADER?
****
2)36 ;**;[1132] Insert @ LTITLE JNG 30-Jan-79
2) LTITLE: TXNE W1,PT.PSC ;[1132] JUST A PSECT DEFINITION?
2) JRST LSLOOP ;[1132] YES, DON'T PUT IN SYMBOL
TABLE
2) PUSHJ P,SXBR50 ;CONVERT TO RADIX-50
2) TXNE W1,PT.BLK ;ONLY A FAIL BLOCK HEADER?
**************
1)41 IFN FTEXE,<JRST JBEXE> ;SET UP TO WRITE AN EXE FILE
****
2)42 ;**;[1132] Insert @ JBSAVE+23L JNG 30-Jan-79
2) SKIPL SYMSEG ;[1132] SYMBOLS IN A PSECT?
2) JRST JBSAVX ;[1132] NO, SKIP THIS
2) HLRE T1,.JBSYM(P1) ;[1132] YES, GET -LENGTH OF TABL
E
2) HRRZ T2,.JBSYM(P1) ;[1132] GET FIRST ADDR OF TABLE
Digital Equipment Corporation 28-AUG-79 Page 221
PCO Log Report
2) SUB T2,T1 ;[1132] COMPUTE FIRST FREE AFTER
TABLE
2) CAMLE T2,HC.S1 ;[1132] UPDATE AMOUNT OF CODE IN
LC AREA
2) MOVEM T2,HC.S1 ;[1132] BUT NEVER DECREASE
2) CAMLE T2,HL.S1 ;[1132] ALSO UPDATE SIZE OF SEGM
ENT
2) MOVEM T2,HL.S1 ;[1132] NEVER DECREASE
2) JBSAVX:
2) IFN FTEXE,<JRST JBEXE> ;SET UP TO WRITE AN EXE FILE
**************
1)51 ;HERE FOR EXECUTABLE FILE
1) ;THE ACTIONS IS
1) ;RESERVE SPACE FOR DIRECTORY (1 PAGE)
1) ;WRITE OUT LOW SEGMENT REMOVING ALL ZERO BUT ALLOCATED PAGES
1) ;THEN WRITE OUT THE HIGH SEGMENT THE SAME WAY
1) ;NOW GO BACK AND WRITE THE DIRECTORY
1) ;NOTE, PAGE 0 AND FIRST PAGE OF HIGH SEGMENT ARE ALWAYS WRITTEN
1)
****
2)52 ;HERE TO WRITE THE EXE FILE.
2) ;THE STRATEGY IS:
2) ;RESERVE ONE PAGE FOR THE DIRECTORY.
2) ;WRITE OUT EACH PSECT (POINTED TO BY RC.TB), COMPRESSING OUT ZER
O PAGES,
2) ; AND ACCUMULATING THE EXE DIRECTORY IN A BLOCK IN THE DY AREA.
2) ;GO BACK TO THE BEGINNING OF THE FILE AND WRITE OUT THE EXE DIRE
CTORY.
2) ;NOTES:
2) ;PAGE 0 IS ALWAYS WRITTEN, AND IF A HIGH SEG EXIST, SO IS ITS FI
RST PAGE.
2) ;IF THE EXE DIRECTORY PAGE IN THE DY AREA OVERFLOWS, LINK WRITES
IT OUT
2) ; AT THE BEGINNING OF THE FILE, THEN FREES UP ANOTHER PAGE IN T
HE FILE BY
2) ; MAKING A BACKWARDS PASS OVER THE EXE FILE, MOVING EACH PAGE D
OWN ONE.
2)
2)
**************
1)51 SKIPN PAG.S1 ;READY TO DUMP CORE, FIRST SEE I
F PAGED?
****
2)52 ;**;[1132] Insert @ JBEXEN+3L JNG 30-Jan-79
2)
2)53 IFN FTOVERLAY,<
2)
2) ;IF LOADING OVERLAYS, IT IS THE EXE FILE GENERATOR'S RESPONSIBIL
ITY
Digital Equipment Corporation 28-AUG-79 Page 222
PCO Log Report
2) ;TO INSERT THE SYMBOLS INTO THE PROGRAM ON THE FLY WHILE IT IS W
RITING
2) ;THE EXE FILE. THE SYMBOLS ARE IN THE LS AREA IN RADIX50 FORM.
2) ;THE EXE FILE WRITING LOOP IS VERY PAGE ORIENTED, SO TO MAKE THI
NGS
2) ;EASIER, WE WILL COPY THE FIRST PARTIAL PAGE OF SYMBOLS INTO THE
2) ;LC AREA HERE.
2)
2) SKIPL LNKMAX ;[1132] LOADING OVERLAYS?
2) SKIPN JOB116 ;[1132] AND SYMBOLS TO PROCESS?
2) JRST JBEXEE ;[1132] NO, SKIP THIS
2) HRRZ P3,JOB116 ;[1132] GET FIRST ADDRESS TO COP
Y INTO
2) HRRZ P4,P3 ;[1132] COMPUTE LAST ADDRESS IN
P4
2) ADDI P4,777 ;[1132] ROUND UP TO PAGE BOUND
2) ANDCMI P4,777 ;[1132] ADDRESS OF FIRST FULL PA
GE OF SYMS
2) CAMLE P4,HL.S1 ;[1132] MAKE SURE EXE FILE WRITE
R GOES THIS FAR
2) MOVEM P4,HL.S1 ;[1132] SO OVERLAY CODE CAN JUST
CONTINUE
2) MOVEI R,1 ;[1132] POINTER TO .LOW. RC BLOC
K
2) MOVE R,@SG.TB ;[1132] SINCE OVERLAY SYMBOLS AR
E IN .LOW.
2) CAMLE P4,RC.HL(R) ;[1132] UPDATE .LOW. TO SYMBOLS
WRITTEN HERE
2) MOVEM P4,RC.HL(R) ;[1132] BUT NEVER SHRINK IT
2) ANDI P3,777 ;[1132] OFFSET TO FIRST WORD TO
WRITE
2) JUMPE P3,JBEXEE ;[1132] IF PAGE-ALIGNED, NOTHING
TO DO
2) CAMLE P4,HC.S1 ;[1132] SINCE COPYING SYMS, UPDA
TE NON-ZERO PTR
2) MOVEM P4,HC.S1 ;[1132] ALSO REMEMBERS HOW LONG
LC AREA IS
2) SKIPE PAG.S1 ;[1132] IS LC AREA PAGING?
2) JRST JBEXEB ;[1132] YES, GO SET ON CORRECT P
AGE
2) MOVE P2,P4 ;[1132] EXTEND LC AREA TO WHERE
SYMS GO
2) ADD P2,LC.LB ;[1132] MIGHT BE QUITE A WAY IF
BIG /SPACE
2) SUB P2,LC.AB ;[1132] DISTANCE = LAST ADDR - S
IZE OF LC AREA
2) SUBI P2,1 ;[1132] SIZE IS LAST-FIRST+1
2) JUMPLE P2,JBEXEC ;[1132] ALREADY THERE
2) MOVEI P1,LC.IX ;[1132] TELL LNKCOR TO EXPAND LC
Digital Equipment Corporation 28-AUG-79 Page 223
PCO Log Report
AREA
2) PUSHJ P,LNKCOR ;[1132] DO IT
2) JRST JBEXEB ;[1132] FAILED, BUT LC AREA IS P
AGING NOW
2) JRST JBEXEC ;[1132] OK, GO DO THE COPY
2)
2)54 ;HERE IF THE LC AREA IS PAGING, EITHER FROM THE START, OR BECAUS
E
2) ;IT COULDN'T EXPAND FAR ENOUGH. JUST SET UP A ONE-PAGE WINDOW T
O
2) ;THE PAGE WE WANT TO COPY INTO.
2)
2) JBEXEB: HRLZ T1,LW.S1 ;[1132] WRITE ENTIRE LC AREA
2) HRR T1,UW.S1 ;[1132] TO AVOID LOST DATA
2) PUSHJ P,LC.OUT## ;[1132] DUMP IT TO THE OVERFLOW
FILE
2) MOVE T1,LC.LB ;[1132] REDUCE LC WINDOW TO ONE
PAGE
2) ADDI T1,777 ;[1132] AVOIDS CHECKS FOR OVER 2
56K
2) MOVEM T1,LC.AB ;[1132] AREA IS NOW 1 PAGE
2) MOVSI T1,-1000(P4) ;[1132] LOWEST LOCATION TO READ
2) MOVSM T1,LW.S1 ;[1132] UPDATE LOWER WINDOW
2) HRRI T1,-1(P4) ;[1132] HIGHEST LOCATION TO READ
2) HRRZM T1,UW.S1 ;[1132] UPDATE UPPER WINDOW
2) PUSHJ P,LC.IN ;[1132] READ IN CODE IN THAT PAG
E
2)
2)
2) ;HERE WHEN THE LC AREA INCLUDES THE PAGE THAT WE WANT TO UPDATE.
2) ;NOW GET THE PAGE OF SYMBOLS WE WANT TO PUT HERE INTO THE LS ARE
A.
2)
2) JBEXEC: PUSHJ P,CHKPAG ;[1132] IN CASE WE JUST STARTED
PAGING
2) SKIPN LW.LS ;[1132] ARE THE FIRST PAGE OF SY
MBOLS IN?
2) JRST JBEXED ;[1132] YES, GO DO THE COPY
2) MOVE T1,LW.LS ;[1132] WRITE CURRENT LS WINDOW
2) ADD T1,LS.AB ;[1132] SO SYMBOLS WON'T BE LOST
2) SUB T1,LS.LB ;[1132] T1 HAS NEW UPPER BOUND
2) MOVEM T1,UW.LS ;[1132] STORE IN CASE IT WAS -1
2) HRL T1,LW.LS ;[1132] ARG TO LS.OUT
2) PUSHJ P,LS.OUT ;[1132] WRITE THE LS AREA OUT
2) MOVE T1,LS.LB ;[1132] REDUCE LS WINDOW TO 1 PA
GE
2) ADDI T1,777 ;[1132] WILL BE EXPANDED LATER I
F NEEDED
2) MOVEM T1,LS.AB ;[1132] AB IS LB+1P
2) SETZM LW.LS ;[1132] WANT FIRST PAGE OF SYMBO
LS
Digital Equipment Corporation 28-AUG-79 Page 224
PCO Log Report
2) MOVEI T1,777 ;[1132] FROM 0 TO 777
2) MOVEM T1,UW.LS ;[1132] UPDATE UPPER WINDOW
2) PUSHJ P,LS.IN ;[1132] READ IN THE SYMBOLS
2)
2)
2) ;HERE WHEN BOTH THE LC AND LS AREAS HAVE THE PAGE IN MEMORY THAT
WE CARE
2) ;ABOUT. NOW TO BLT THE FIRST PARTIAL PAGE OF SYMBOLS INTO THE L
C AREA.
2)
2) JBEXED: MOVE T3,LC.LB ;[1132] CALCULATE OFFSET FROM VI
RTUAL
2) SUB T3,LW.S1 ;[1132] TO PHYSICAL ADDRESSES
2) HRRZ T1,JOB116 ;[1132] FIRST VIRTUAL ADDRESS TO
WRITE
2) ADD T1,T3 ;[1132] FIRST PHYSICAL ADDRESS
2) HRL T1,LS.LB ;[1132] FROM START OF LS AREA
2) MOVE T2,P4 ;[1132] FIRST VIRTUAL ADDRESS NO
T TO WRITE
2) ADD T2,T3 ;[1132] FIRST PHYSICAL ADDRESS
2) BLT T1,-1(T2) ;[1132] COPY THE SYMBOLS
2)
2) JBEXEE:
2) > ;END IFN FTOVERLAY
2)
2) ;FALL INTO NEXT PAGE
2)
2)55 ;FALL IN FROM ABOVE
2)
2) SKIPN PAG.S1 ;READY TO DUMP CORE, FIRST SEE I
F PAGED?
**************
1)53 ADDI T2,4 ;[744] 1 FOR REMAINDER, 1 FOR EX
E-DIR, 2 FOR RIBS
1) MOVEM T2,I.EST(T1) ;AT LEAST THIS IS ENOUGH
****
2)57 ;**;[1132] Change @ EXEINI+18L JNG 30-Jan-79
2) ADDI T2,7 ;[1132] 1 FOR REM, 4 FOR EXE DIR
, 2 FOR RIBS
2) MOVEM T2,I.EST(T1) ;AT LEAST THIS IS ENOUGH
**************
1)54
1) ;here to compress out pages containing all zeros
1) ;uses acc as follows
1) ;t1 iowd -1000,address
1) ;t2 0 (terminator)
1) ;p1 flags,,file page
1) ;p2 repeat count,,process page
Digital Equipment Corporation 28-AUG-79 Page 225
PCO Log Report
1) ;p3 process address
1) ;P4 FLAGS TO DETERMINE WHAT TO DO WITH THE DIRECTORY ENTRY:
1) ; ZEROF==400000
1) ; DATAF==200000
1) ; GAPF==100000
1) ;
1) ; ZEROF TO ZEROF : BUMP REPEAT COUNT
****
2)58 ;HERE TO WRITE THE EXE FILE, COMPRESSING OUT ALL-ZERO PAGES
2) ;USES ACS AS FOLLOWS:
2) ;
2) ;P1 FLAGS,,FILE PAGE
2) ;P2 REPEAT COUNT,,PROCESS PAGE
2) ;P3 ADDRESS WITHIN SEGMENT (PROCESS ADDRESS - LL.S0(R))
2) ;P4 FLAGS TO DETERMINE WHAT TO DO WITH THE DIRECTORY ENTRY,,
FILE PAGE COUNT
2) ;
2) ; ZEROF TO ZEROF : BUMP REPEAT COUNT
**************
1)54 ;r index to segment either 1 or 2
1) ;w1 store ptr
1)
1) ZEROF==400000 ;[704]
1) DATAF==200000 ;[704]
1) GAPF==100000 ;[704]
1)
1) XCMPRS: SETZM RC.CUR ;[704] INITIALIZE CURRENT PSECT
INDEX
1) MOVEI R,1 ;MAKE SURE LOW SEGMENT
1) MOVEM R,EXEBLK ;CONVENIENT 1
1) USETO DC,5 ;BYPASS DIRECTORY
1) MOVE P1,[SV%WRT+1] ;FLAGS AND FILE PAGE FOR PAGE 0
1) SETZB P2,P3 ;CLEAR PROCESS PAGE #
1) SETZB P4,T2 ;
1) MOVSI W1,-1000 ;- LENGTH
1) HRR W1,EXEDIR ;AOBJN PTR
1) MOVE T3,LOWLOC ;[742] GET LOWEST LOCATION
1) CAIL T3,2000 ;[742] LOWEST LOCATION IN PAGE0
OR PAGE 1?
1) JRST XCMPRJ ;[742] NO,
1) MOVE T1,LC.LB ;[742] YES,
1) SUBI T1,1 ;[742]
1) JRST XCMPRL ;[742]
1)
1)55
1)
1) ;HERE IF THE LOWEST LOCATION IS IN PAGE 2 OR HIGHER.
1) ;MUST OUTPUT JOBDAT FIRST, THEN CHECK TO SEE IF PAGE0 AND PAGE 1
1) ;IS PART OF .LOW. IF THAT IS THE CASE, OUTPUT A DIRECTORY ENTRY
Digital Equipment Corporation 28-AUG-79 Page 226
PCO Log Report
1) ;TO MAKE THOSE PAGES ALLOCATED.
1)
1) XCMPRJ: SKIPE PAG.S1 ;[776] PAGING?
1) SKIPA T1,JOBPTR ;[776] YES--USE IN-MEMORY COPY O
F JOBDAT
1) MOVE T1,LC.LB ;[776] NO--USE LC AREA STRAIGHT
1) SUBI T1,1 ;[732]
1) HRLI T1,-.JBDA ;[776] DUMP OUT JUST JOBDAT
1) OUT DC,T1 ;OUTPUT PAGE 0
1) TLOA P4,GAPF ;[732] FLAG IT GAP, OUTPUT DIR
HERE
1) JRST XCMPER ;ERROR
1) USETO DC,9 ;WRITE REST OF PAGE AS 0
1) DMOVEM P1,1(W1) ;STORE ENTRIES
1) HRRI P1,2 ;NEXT FREE FILE PAGE
1) AOBJN W1,.+1 ;
1) AOBJN W1,.+1 ;[732] ADJUST DIR PTR BY 2 ALSO
1) MOVE T3,HC.S1 ;[732] NO CODE IN PAGE0, BUT ANY
CODE AT ALL?
1) CAIG T3,.JBDA ;[732]
1) JRST XCMPR8 ;[732] NO, NOW FOR HIGH SEG
1) MOVE T2,@RC.TB ;[742] YES,
1) MOVE T2,RC.CV(T2) ;[742] PAGE 0 AND PAGE 1 IN .LOW
.?
1) CAILE T2,.JBDA ;[742]
1) JRST [PUSHJ P,XCMPXD ;[742] YES, NEED TO MAKE
AN ENTRY
1) HLLZM P1,(W1) ;[742] IN EXE DIRECTORY
1) PUSHJ P,XCMPXD ;[742]
1) HRLZ T2,LOWLOC ;[742] ALLOCATE ALL PAGE
S UP TO
1) TLZ T2,2777 ;[742] THAT PAGE THAT CO
NATAINS LOWLOC
1) ADDI T2,1 ;[742] BUMP PROCESS PAGE
1) MOVEM T2,(W1) ;[742]
1) JRST .+1] ;[742]
1) MOVE P3,LOWLOC ;[732] YES, GET LOWEST LOCATION
1) MOVE P2,P3 ;[732] ALSO UPDATE PROCESS PAGE
1) LSH P2,-^D9 ;[732]
1) HRR T1,LC.LB ;[742] NOW, READY TO DUMP THE AC
TUAL CORE
1) SUBI T1,1 ;[742]
1) HRLI T1,-1000 ;[732] ASSUME AT LEAST A PAGE
1) JRST XCMPR4 ;[732] AND THAT CORE IS ALREADY
SETUP
1)
1)
1)56
1) XCMPRL: HRLI T1,-1000 ;SET UP IOWD WORD
Digital Equipment Corporation 28-AUG-79 Page 227
PCO Log Report
1) XCMPR7: SETZ T2, ;MAKE SURE TERMINATOR IS 0
1) OUT DC,T1 ;ALWAYS OUTPUT PAGES 0 & 400
1) TLOA P4,DATAF ;[704] JUST OUTPUT A DATA PAGE
1) JRST XCMPER ;ERROR
1) XCMPR0: ADDI T1,1000 ;NEXT PAGE
1) ADDI P3,1000 ;INCREMENT PROCESS ADDRES
1) CAILE P3,777777 ;[732] OVERFLOWED INTO LH?
1) JRST [PUSHJ P,XCMPRD ;[732] YES, WRITE DIR EN
TRY OUT
1) JRST XCMPRH] ;[732] TRY HIGH SEG
1) XCMPR4: PUSHJ P,INGAP ;[732] CHECK TO SEE IF IN PSECT
GAP
1) JRST XCMPR0 ;[704] YES, SKIP OVER THIS PAGE
1) MOVEI T3,1(T1) ;ADDRESS ONLY
1) CAMG T3,TAB.AB(R) ;NEXT PAGE IN CORE
1) JRST XCMPR1 ;YES
1) CAMLE P3,HC.S0(R) ;FINISHED?
1) JRST [PUSHJ P,XCMPRD ;NO, WRITE IT OUT
1) JRST XCMPRH] ;TRY HIGH SEG
1) MOVE T3,TAB.AB(R) ;
1) SUB T3,TAB.LB(R) ;GET SIZE
1) ;**;[774] Delete @ XCMPR4+10L JNG 30-Apr-78
1) MOVEM P3,LW.S0(R) ;[713] RESET BASE TO PROCESS PAG
E
1) ADD T3,LW.S0(R) ;[764] GET NEW UPPER WINDOW
1) CAILE T3,-1 ;[764] MAKE SURE IT DOESN'T OVER
FLOW
1) MOVEI T3,-1 ;[764] JUST IN CASE
1) MOVEM T3,UW.S0(R) ;[763]
1) CAMLE T3,HC.S0(R) ;STILL IN RANGE?
1) JRST [MOVE T3,HC.S0(R) ;NO
1) IORI T3,.IPM ;GET PAGE LIMIT
1) MOVEM T3,UW.S0(R) ;SET NEW
1) SUB T3,LW.S0(R) ;GET LENGTH
1) ADD T3,TAB.LB(R) ;
1) MOVEM T3,TAB.AB(R) ;RESET TOP
1) JRST .+1] ;
1) HRLZ T1,LW.S0(R) ;LOWER BOUND
1) HRR T1,UW.S0(R) ;TO UPPER BOUND
1) PUSHJ P,@[EXP LC.IN##,HC.IN]-1(R) ;READ IN NEW PAG
E
1) MOVE T3,TAB.LB(R) ;RESET INCORE PROCESS ADDRESS
1) MOVEI T1,-1(T3) ;RESET IOWD ADDRESS
1) HRLI T1,-1000 ;AND COUNT
1) XCMPR1: MOVEI T4,(P3) ;[732] MUST USED 2 INSTRS TO DO
THIS
1) ADDI T4,1000 ;[732] INCASE OVERFLOW INTO LH
1) CAMLE T4,HC.S0(R) ;WHOLE PAGE EXITS?
1) JRST [MOVE T4,HC.S0(R)
1) SUBI T4,(P3)
1) MOVN T4,T4
Digital Equipment Corporation 28-AUG-79 Page 228
PCO Log Report
1) HRL T3,T4
1) HRL T1,T4
1) JRST .+2]
1) HRLI T3,-1000 ;NORMAL AOBJN WORD
1) SKIPE (T3) ;LOOK FOR A NON-ZERO
1) JRST XCMPR3 ;FOUND ONE
1) AOBJN T3,.-2 ;LOOP FOR ALL OF PAGE
1) TLNE P4,ZEROF ;[704] GOT A ZERO PAGE, WAS LAST
ONE ALSO ZERO?
1) JRST XCMPR2 ;[704] LAST ONE WAS ALSO ZERO
1) TLNN P4,DATAF ;[704] NO, WAS LAST ONE DATA?
1) TLNA P4,GAPF ;[704] NO, MUST HAVE BEEN GAP, S
O SKIP
1) PUSHJ P,XCMPRD ;[704] YES,IT WAS DATA, GO OUTPU
T CURRET DIR
1) TLO P4,ZEROF ;[704] SET ZEROF
1) TLZ P4,DATAF+GAPF ;[704] AND OFF WITH OTHERS
1) JRST XCMPR0 ;LOOP AGAIN
1)
1)
1)
1)57 ;[704] HERE TO SEE OF NEXT PAGE(CORE ADDR IN P3) FALLS IN
1) ;A PSECT GAP. RETURN IF IN GAP. SKIP RETURN IF NOT IN A GAP.
1)
1) INGAP: CAILE R,1 ;[713] DOING LOW SEG OR ABS?
1) JRST CPOPJ1 ;[704] NO, DON'T BOTHER, SKIP RE
TURN
1) CAMLE P3,HC.S1 ;[724] EXCEEDED ADDR SPACE?
1) JRST CPOPJ1 ;[724] YES,
1) PUSH P,R ;[704] USES ACS R, T1, AND T2
1) PUSH P,T1 ;[704]
1) MOVE R,RC.CUR ;[704] GET CURRENT PSECT
1) INGAP1: MOVE T1,@RC.TB ;[704] GET RELOC TABLE ADDR FOR
CURRENT PSECT
1) MOVE T2,RC.SG(T1) ;[704] SET SEGMENT NO.
1) CAILE T2,1 ;[713] LOW SEG?
1) JRST INGAP5 ;[724] NO, FORGET IT
1) MOVE T2,RC.CV(T1) ;[704] GET CURRENT PSECT BREAK
1) TRO T2,777 ;[704] ROUND UP PSECT BREAK
1) CAIG P3,(T2) ;[704] ADDR LARGER THAN THE PSEC
T BREAK?
1) JRST [MOVE T2,RC.IV(T1) ;[704] MAKE SURE IT IN P
SECT RANGE
1) TRZ T2,777 ;[704] ROUND DOWN
1) CAIGE P3,(T2) ;[704] IN RANGE?
1) JRST INGAP3 ;[704] NO, IN GAP
1) JRST INGAP5] ;[724] YES, DO SKIP RETU
RN
1) ADDI R,1 ;[704] ADDR IS GT CURRENT PSECT
Digital Equipment Corporation 28-AUG-79 Page 229
PCO Log Report
1) CAMLE R,RC.NO ;[704] IS THERE A NEXT PSECT?
1) JRST INGAP5 ;[724] NO, SKIP RETURN
1) MOVE T1,@RC.TB ;[704] GET ADDR OF RELOC TABLE
1) MOVE T2,RC.IV(T1) ;[704] GET ORIGIN
1) TRZ T2,777 ;[704] ROUND IT DOWN TO PAGE BOU
ND
1) CAIL P3,(T2) ;[704] ADDR IS LESS THAN THE ORI
GIN?
1) JRST [MOVEM R,RC.CUR ;[704] UPDATE TO NEXT PS
ECT
1) JRST INGAP1] ;[704] AND LOOP FOR ANOT
HER CHECK
1) INGAP3:
1) IFN FTOVERLAY,< ;[724]
1) SKIPL LNKMAX ;[724] ANY OVERLAYS (SKIP IF NO)
1) JRST INGAP4> ;[724] YES,
1) HRRZ T1,JOB116 ;[724] CHECK TO SEE IF IT'S IN S
YMBOL
1) HLRE T2,JOB116 ;[724] TABLE RANGE
1) SUBM T1,T2 ;[724] GET TOP
1) TRZ T1,777 ;[726] ROUND DOWN LOWER BOUND
1) TRO T2,777 ;[726] ROUND UP UB OF SYMBOL TAB
LE
1) CAML P3,T1 ;[724]
1) CAMLE P3,T2 ;[724] IN RANGE?
1) JRST INGAP4 ;[724] NO,
1) INGAP5: POP P,T1 ;[724] YES, RESTORE ACS
1) POP P,R ;[724]
1) JRST CPOPJ1 ;[724] SKIP RETURN
1)
1) INGAP4: POP P,T1 ;[704] YES, IN A GAP, DO NON-SKI
P RET
1) POP P,R ;[704]
1) TLOE P4,GAPF ;[704] WE HAVE A GAP, WAS LAST P
AGE ALSO GAP?
1) JRST INGAP2 ;[704] BUMP PROCESS PAGE AND RET
URN
1) PUSHJ P,XCMPRD ;[704] NO, WRITE OUT LAST DIR,
1) TLZ P4,ZEROF+DATAF ;[704] OFF WITH OTHER FLAGS
1) INGAP2: ADDI P2,1 ;[704] BUMP PROCESS PAGE
1) POPJ P, ;[704]
1)
1)
1)58
****
2)58 ;
2) ;R INDEX TO SEGMENT EITHER 1 OR 2
2) ;R2 POINTER TO RC BLOCK FOR CURRENT PSECT
2) ;W1 STORE PTR
Digital Equipment Corporation 28-AUG-79 Page 230
PCO Log Report
2) ;W2 IOWD TO DATA NOT YET WRITTEN
2) ;W3 IOWD LIST TERMINATOR (0)
2)
2) ZEROF==1B0 ;[1132] LAST THING FOUND WAS A Z
ERO PAGE
2) DATAF==1B1 ;[1132] LAST THING FOUND WAS A N
ON-ZERO PAGE
2) GAPF==1B2 ;[1132] LAST THING FOUND WAS AN
INTER-PSECT GAP
2)
2) ;**;[1132] Revamp @ XCMPRS JNG 30-Jan-79
2) XCMPRS: SETZ R, ;[1132] START WITH .ABS.
2) MOVEM R,RC.CUR ;[1132] STORE CUURENT PSECT INDE
X IN RC.CUR
2) MOVEI T1,1 ;[1132] CURRENT BLOCK OF EXE DIR
2) MOVEM T1,EXEBLK ;[1132] SAVE FOR XCMPXD
2) USETO DC,5 ;[1132] START WRITING DATA AT BL
OCK 5
2) MOVEI P1,1 ;[1132] NEXT FILE PAGE TO WRITE
IS 1
2) MOVE R2,@RC.TB ;[1132] POINTER TO RC BLOCK FOR
.ABS.
2) MOVE R,RC.SG(R2) ;[1132] KEEP R POINTING TO SEGME
NT INDEX
2) MOVE T1,RC.AT(R2) ;[1132] GET ITS PSECT ATTRIBUTES
2) TXNN T1,AT.RO ;[1132] READ-ONLY?
2) TXO P1,SV%WRT ;[1132] NO, LOWSEG IS USUALLY WR
ITABLE
2) SETZB P2,P3 ;[1132] CORE PAGE 0, CURRENT ADD
R IS 0
2) MOVX P4,GAPF ;[1132] FLAG NO OLD EXE DIR ENTR
Y TO WRITE
2) MOVE R,RC.SG(R2) ;[1132] POINT TO AREA CONTAINING
THIS PSECT
2) MOVSI W1,-1000 ;[1132] W1 IS AOBJN PTR TO COPY
OF EXE DIR
2) HRR W1,EXEDIR ;[1132] BEING BUILT IN DY AREA
2) SETZB W2,W3 ;[1132] INIT IOWD
2) SKIPN LW.S1 ;[1132] IS JOBDAT STILL IN DY AR
EA?
2) JRST XCMLUP ;[1132] NO (NORMAL CASE), GO STA
RT WRITING
2)
2)
2) ;FALL THROUGH TO NEXT PAGE
2)
2)59 ;FALL IN FROM ABOVE
2)
2) ;HERE IF THE LOWEST LOCATION IS IN PAGE 1 OR HIGHER, AND THE
2) ;LC AREA IS PAGING TO DISK.
2) ;IF THAT IS THE CASE, THEN JOBDAT IS IN A BLOCK IN THE DY AREA
Digital Equipment Corporation 28-AUG-79 Page 231
PCO Log Report
2) ;POINTED TO BY JOBPTR, INSTEAD OF IN THE LC AREA.
2) ;WHAT WE WANT TO DO NOW IS WRITE JOBDAT INTO THE EXE FILE DIRECT
LY
2) ;FROM THE DY AREA, THEN JUMP INTO THE MAIN LOOP BELOW TO FINISH
THE SAVE.
2)
2) ;**;[1132] Replace XCMPRJ routine JNG 30-Jan-79
2) ;**;[1132] This supercedes edit 776 if installed.
2) HRLOI W2,-.JBDA-1 ;[1132] FORM IOWD TO JOBDAT
2) ADD W2,JOBPTR ;[1132] ..
2) OUT DC,W2 ;[1132] WRITE JOBDAT TO THE EXE
FILE
2) TXCA P4,DATAF!GAPF!1 ;[1132] CLEAR GAPF, SET DATAF, 1
PAGE WRITTEN
2) PUSHJ P,XCMPER ;[1132] I/O ERROR
2) USETO DC,9 ;[1132] WRITE ZEROS INTO THE RES
T OF PAGE 0
2) SETZ W2, ;[1132] FLAG NO DATA TO WRITE
2) JRST XCMADP ;[1132] GO FIND NEXT PSECT
2)
2)60 ;THIS IS THE MAIN LOOP FOR THE EXE FILE WRITER.
2) ;WE GET BACK HERE ON EACH NEW PSECT, ON EACH NEW BLOCK OF PAGES
2) ;READ IN IF AN AREA HAS OVERFLOWED TO DISK, AND ON EACH PAGE OF
2) ;EACH PSECT.
2)
2) XCMLUP: SKIPE PAG.S0(R) ;[1132] AREA OVERFLOWING TO DISK
2) CAMG P3,UW.S0(R) ;[1132] AND OFF END OF WINDOW?
2) CAML P3,HC.S0(R) ;[1132] NO, BUT OFF END OF SEGME
NT?
2) JRST XCMADV ;[1132] OFF END OF SOMETHING
2) MOVE T1,RC.HL(R2) ;[1132] FIRST ADDRESS BEYOND PSE
CT
2) SUB T1,LL.S0(R) ;[1132] CONVERT TO OFFSET IN SEG
MENT, LIKE P3
2) CAML P3,T1 ;[1132] OFF END OF PSECT?
2) JRST XCMADV ;[1132] YES, GO FIND THE NEXT ON
E
2)
2)
2) ;TIME TO SAVE THE PAGE WHOSE ADDRESS IS IN P3. SEE IF IT'S ALL
ZERO
2)
2) HRRZ T1,P3 ;[1132] OFFSET INTO SEGMENT
2) SUB T1,LW.S0(R) ;[1132] OFFSET INTO CURRENT WIND
OW
2) ADD T1,TAB.LB(R) ;[1132] ADDRESS OF PAGE IN LINK'
S VAS
2) SKIPN W2 ;[1132] KNOW BASE OF IOWD YET?
2) MOVEI W2,-1(T1) ;[1132] NO, SET IT UP NOW
Digital Equipment Corporation 28-AUG-79 Page 232
PCO Log Report
2) HRLI T1,-1000 ;[1132] SET UP AN AOBJN PTR TO T
HE PAGE
2) SKIPN (T1) ;[1132] NEXT WORD ZERO?
2) AOBJN T1,.-1 ;[1132] YES, LOOP OVER ALL THE P
AGES
2) JUMPGE T1,XCMZER ;[1132] JUMP IF PAGE IS ALL ZERO
2)
2)
2) ;HERE WHEN THE PAGE IS NON-ZERO
2)
2) TXON P4,DATAF ;[1132] FLAG IN REAL DATA, FIRST
TIME?
2) JRST XCMNWD ;[1132] YES, START A NEW DIRECTO
RY ENTRY
2) ADD W2,[-1000,,0] ;[1132] NO, JUST BUMP OUTPUT IOW
D
2) ADDI P4,1 ;[1132] REMEMBER DATA PAGES WRIT
TEN
2) ADD P2,[1B8] ;[1132] AND REPEAT COUNT FOR THI
S ENTRY
2) JRST XCMADP ;[1132] ADVANCE TO THE NEXT PAGE
2)
2) XCMNWD: TXZ P4,ZEROF ;[1132] NO LONGER IN A ZERO AREA
2) TXZN P4,GAPF ;[1132] WERE WE IN A GAP?
2) PUSHJ P,XCMPRD ;[1132] NO, WRITE DIR ENTRY OUT
2) HRRZ W2,P3 ;[1132] START A NEW IOWD
2) SUB W2,LW.S0(R) ;[1132] MAKE ADDR INTO OFFSET FR
OM WINDOW START
2) ADD W2,TAB.LB(R) ;[1132] AND THENCE TO ADDR IN LI
NK
2) SUB W2,[1000,,1] ;[1132] CONVERT TO ONE PAGE IOWD
2) MOVE P2,P3 ;[1132] COMPUTE NEW PROCESS PAGE
2) ADD P2,LL.S0(R) ;[1132] BY FINDING PROCESS ADDRE
SS
2) LSH P2,-9 ;[1132] THEN SHIFTING TO GET A P
AGE NUMBER
2) ADDI P4,1 ;[1132] WILL WRITE 1 MORE DATA P
AGE
2) JRST XCMADP ;[1132] GO ADVANCE TO NEXT PAGE
2)
2)61 ;HERE ON AN ALL-ZERO PAGE
2)
2) XCMZER: TXON P4,ZEROF ;[1132] IS THIS THE FIRST ALL-ZE
RO PAGE?
2) JRST XCMNWZ ;[1132] YES, GO SETUP A NEW DIR
ENTRY
2) ADD P2,[1B8] ;[1132] JUST BUMP REPEAT COUNT
2) JRST XCMADP ;[1132] ADVANCE TO THE NEXT PAGE
2)
Digital Equipment Corporation 28-AUG-79 Page 233
PCO Log Report
2)
2) ;HERE IF THE ALL-ZERO PAGE IS THE FIRST ONE AFTER DATA OR A GAP.
2) ;IF DATA, WRITE IT OUT AND STORE THE DIR ENTRY. ALWAYS SET UP A
NEW ENTRY.
2)
2) XCMNWZ: TXZ P4,DATAF ;[1132] NO LONGER WRITING DATA
2) TXZN P4,GAPF ;[1132] NOT IN A GAP. WERE WE?
2) PUSHJ P,XCMPRD ;[1132] NO, WRITE THE DATA DIR E
NTRY
2) ADDI P1,(P4) ;[1132] BUMP FILE PAGE COUNT
2) HLLZS P4 ;[1132] CLEAR ACCUMULATED COUNT
2) SKIPGE W2 ;[1132] SEEN ANY DATA PAGES?
2) OUT DC,W2 ;[1132] YES, WRITE THEM
2) TDZA W2,W2 ;[1132] SUCCESS, CLEAR IOWD
2) JRST XCMPER ;[1132] I/O ERROR
2) MOVE P2,P3 ;[1132] SET UP NEW PROCESS PAGE
2) ADD P2,LL.S0(R) ;[1132] BY COMPUTING PROCESS ADD
RESS
2) LSH P2,-9 ;[1132] THEN SHIFTING TO A PAGE
NUMBER
2)
2)
2) ;HERE TO ADVANCE TO THE NEXT PAGE.
2)
2) XCMADP: ADDI P3,1000 ;[1132] POINT TO NEXT PAGE
2) JRST XCMLUP ;[1132] LOOP BACK TO PROCESS IT
2)
2)62 ;HERE WHEN WE RAN OFF THE END OF THE PSECT, THE SEGMENT, OR THE
WINDOW.
2) ;FIGURE OUT WHAT TO PROCESS NEXT.
2)
2) XCMADV: SKIPGE W2 ;[1132] ANY DATA STILL TO WRITE?
2) OUT DC,W2 ;[1132] YES, WRITE IT
2) TDZA W2,W2 ;[1132] SUCCESS, CLEAR IOWD POIN
TER
2) JRST XCMPER ;[1132] I/O ERROR
2) CAML P3,HC.S0(R) ;[1132] OFF THE END OF THE SEGME
NT?
2) JRST XCMBLK ;[1132] YES, GO WRITE ABZ PAGES
AND ADVANCE
2) CAML P3,RC.HL(R2) ;[1132] OFF END OF PSECT?
2) JRST XCMNXP ;[1132] YES, GO FIND THE NEXT ON
E
2)
2)
2) ;HERE IF PAGING AND WE RAN OFF THE END OF THE CURRENT LC/HC WIND
OW.
2) ;ADVANCE THE WINDOW AND LOOP BACK.
2)
2) MOVEM P3,LW.S0(R) ;[1132] STORE NEW LOWER WINDOW B
OUND
Digital Equipment Corporation 28-AUG-79 Page 234
PCO Log Report
2) MOVE T1,P3 ;[1132] VIRTUAL ADDRESS OF 1ST W
ORD TO READ
2) ADD T1,TAB.AB(R) ;[1132] CONVERT TO VIRTUAL ADDRE
SS OF LAST WORD
2) SUB T1,TAB.LB(R) ;[1132] BY ADDING SIZE OF LC/H
C AREA
2) MOVEM T1,UW.S0(R) ;[1132] STORE NEW UPPER WINDOW B
OUND
2) CAMGE T1,HC.S0(R) ;[1132] DOES THE AREA CONTAIN TH
AT MUCH?
2) JRST XCMRED ;[1132] YES, JUST GO READ IT IN
2) SUB T1,HC.S0(R) ;[1132] NO, FIGURE OUT HOW MUCH
EXTRA WE HAVE
2) ANDCMI T1,.IPM ;[1132] PUT ON THE PAGE BOUND
2) MOVN T1,T1 ;[1132] DECREMENT THE AB OF THE
AREA
2) ADDM T1,TAB.AB(R) ;[1132] SO EXTRA SPACE IS AVAI
LABLE TO OTHERS
2) ADDM T1,UW.S0(R) ;[1132] AREN'T GOING TO READ THA
T MUCH AFTER ALL
2) MOVE T1,UW.S0(R) ;[1132] LAST ADDRESS TO READ
2) XCMRED: HRL T1,P3 ;[1132] FIRST,,LAST
2) PUSHJ P,@TB.IN(R) ;[1132] READ IN THE NEXT WINDOW
2) JRST XCMLUP ;[1132] LOOP BACK TO PROCESS THE
NEXT PAGE
2)
2)63 ;HERE IF WE RAN OFF THE END OF THIS SEGMENT (LC OR HC). WRITE E
NOUGH
2) ;ALLOCATED BUT ZERO PAGES INTO THE EXE DIRECTORY TO ALLOCATE THE
REST
2) ;OF THE CURRENT PSECT AS ALL ZEROS.
2)
2) XCMBLK: MOVE R3,RC.HL(R2) ;[1132] GET FIRST WORD BEYOND PS
ECT END
2) ADDI R3,777 ;[1132] LAST WORD TO ALLOCATE +
A PAGE
2) ANDCMI R3,777 ;[1132] GET START OF THAT PAGE
2) SUB R3,P3 ;[1132] COMPUTE EXTRA PAGES THAT
NEED ALLOCATING
2) SUB R3,LL.S0(R) ;[1132] P3 IS AN OFFSET, BUT R3
IS AN ADDRESS
2) JUMPLE R3,XCMNXP ;[1132] NONE, GO FIND THE NEXT P
SECT TO PROCESS
2) TXON P4,ZEROF ;[1132] WERE WE WRITING ZEROS BE
FORE THIS?
2) JRST XCMBL2 ;[1132] NO, MUST START A NEW DIR
ENTRY
2) ADD P3,R3 ;[1132] KEEP OFFSET INTO SEGMENT
CORRECT
Digital Equipment Corporation 28-AUG-79 Page 235
PCO Log Report
2) MOVSI R3,(R3) ;[1132] PUT COUNT WHERE EXE DIR
ENTRY WANTS IT
2) ADD P2,R3 ;[1132] JUST BUMP REPEAT COUNT
2) JRST XCMNXP ;[1132] AND GO PROCESS THE NEXT
PSECT
2)
2)
2) ;HERE WHEN WE WANT TO WRITE AN ABZ DIRECTORY ENTRY, BUT WE HAVE
ANOTHER
2) ;TYPE OF ENTRY IN PROGRESS. WRITE THE CURRENT ENTRY, THEN START
A NEW ONE.
2)
2) XCMBL2: TXZ P4,DATAF ;[1132] REMEMBER NO LONGER WRITI
NG DATA
2) TXZN P4,GAPF ;[1132] WERE WE IN A GAP?
2) PUSHJ P,XCMPRD ;[1132] NO, WRITE THE DIRECTORY
ENTRY
2) ADDI P1,(P4) ;[1132] BUMP FILE PAGE POINTER
2) HLLZS P4 ;[1132] RESET FILE PAGE COUNT
2) MOVE P2,P3 ;[1132] FIRST OFFSET TO WRITE
2) ADD P2,LL.S0(R) ;[1132] FIRST ADDRESS TO WRITE
2) LSH P2,-^D9 ;[1132] FIRST PAGE NOT YET WRITT
EN
2) ADD P3,R3 ;[1132] KEEP OFFSET INTO SEGMENT
CORRECT
2) MOVSI R3,-1000(R3) ;[1132] PUT COUNT WHERE EXE DIR
ENTRY WANTS IT
2) ADD P2,R3 ;[1132] INSERT REPEAT COUNT FROM
ABOVE
2)
2)
2) ;HERE TO ADVANCE TO THE NEXT PSECT, IF ANY
2)
2) XCMNXP: PUSHJ P,ADVPSC ;[1132] CALL A SUBROUTINE TO DO
THE WORK
2) JRST XCMPRX ;[1132] ALL DONE, GO CLOSE THE F
ILE
2) JRST XCMLUP ;[1132] FOUND ANOTHER PSECT, LOO
P BACK FOR IT
2)
2)64 ;ADVPSC -- SUBROUTINE TO ADVANCE TO THE NEXT PSECT.
2) ;CALL:
2) ; SET UP P1-P4 AS IN XCMPRS
2) ; PUSHJ P,ADVPSC
2) ; ALL DONE
2) ; ANOTHER PSECT FOUND
2) ;
2) ;ON THE SKIP RETURN, P1-P4 HAVE BEEN SET UP TO POINT TO THE STAR
T OF
Digital Equipment Corporation 28-AUG-79 Page 236
PCO Log Report
2) ;THE NEXT PSECT, INCLUDING PSECT PROPERTIES IN P1.
2) ;THIS ROUTINE ALSO CHECKS TO SEE IF THE OVERLAY SYMBOL TABLE NEE
DS TO
2) ;BE APPENDED AFTER THE PSECT OR SEGMENT THAT JUST GOT WRITTEN, A
ND
2) ;APPENDS IT IF SO.
2)
2)
2) ADVPSC:
2) IFN FTOVERLAY,<
2) CAIN R,1 ;[1132] IN LOW SEGMENT?
2) CAMGE P3,HL.S1 ;[1132] AND JUST FINISHED IT?
2) JRST ADVPS1 ;[1132] NO, PROCEED
2) SKIPL LNKMAX ;[1132] YES, LOADING OVERLAYS?
2) SKIPN JOB116 ;[1132] AND SYMBOLS NEED INSERTI
NG?
2) JRST ADVPS1 ;[1132] NO, PROCEED
2) PUSHJ P,XCMPOV ;[1132] YES, PUT SYMBOLS INTO EX
E FILE
2) ADVPS1:
2) > ;END IFN FTOVERLAY
2)
2) ADD P3,LL.S0(R) ;[1132] P3 WILL BE AN ADDRESS FO
R THIS ROUTINE
2) AOS R,RC.CUR ;[1132] GET PSECT INDEX OF NEXT
PSECT
2) CAMG R,RC.NO ;[1132] IS THERE A NEXT ONE?
2) JRST ADVPS2 ;[1132] YES, GO PROCESS IT
2) SOS (P) ;[1132] GIVE NON-SKIP RETURN
2) JRST ADVPS6 ;[1132] BUT WRITE CURRENT ENTRY
FIRST
2)
2)
2) ;HERE WHEN THERE IS ANOTHER PSECT, AND R CONTAINS ITS INDEX.
2) ;POINT R AND R2 TO IT, THEN SET UP ITS PSECT PROPERTIES IN R3
2)
2) ADVPS2: MOVE R2,@RC.TB ;[1132] POINT TO RC BLOCK FOR PS
ECT
2) MOVE R,RC.SG(R2) ;[1132] PUT SEGMENT PSECT IS IN
INTO R
2) MOVX R3,SV%WRT ;[1132] GET ASSUMED PSECT PROPER
TY
2) MOVE T1,RC.AT(R2) ;[1132] GET REAL PSECT PROPERTIE
S
2) TXNE T1,AT.RO ;[1132] EXPLICITLY READ-ONLY?
2) TXZ R3,SV%WRT ;[1132] YES, CLEAR WRITE BIT
2) CAIE R,2 ;[1132] IS THIS THE HIGH SEGMENT
?
2) JRST ADVPS4 ;[1132] NO, PSECT PROPERTIES OK
AS THEY ARE
2) IFE TOPS20,<
Digital Equipment Corporation 28-AUG-79 Page 237
PCO Log Report
2) TXO R3,SV%HIS ;[1132] TOPS-10 HIGH SEG, READ-O
NLY
2) TXNN T1,AT.RW ;[1132] EXPLICITLY WRITE-ENABLED
?
2) TXZ R3,SV%WRT ;[1132] NO, WRITE-LOCK IT
2) MOVE T1,SSEXT ;[1132] GET SAVE/SSAVE FLAGS
2) TXNE T1,SS.SHR ;[1132] USER TYPE /SSAVE?
2) > ;END IFE TOPS20
2) TXO R3,SV%SHR ;[1132] /SSAVE OR TOPS-20, MARK
SHARABLE
2)
2) ;FALL INTO NEXT PAGE
2)
2)65 ;HERE WHEN PSECT PROPERTIES COMPUTED IN R3.
2) ;NOW DETERMINE WHETHER TO STORE THIS DIRECTORY ENTRY AND START A
NOTHER,
2) ;OR TO JUST LET THIS ONE CONTINUE.
2) ;CAN ONLY LET THIS ONE CONTINUE IF NEXT PSECT IS ADJACENT WITH S
AME PROPERTIES.
2)
2) ADVPS4: MOVE T1,RC.IV(R2) ;[1132] GET BOTTOM OF NEW PSECT
2) ANDCMI T1,777 ;[1132] ROUND DOWN TO PAGE BOUND
2) CAMLE T1,P3 ;[1132] IS THERE A PSECT GAP HER
E?
2) JRST [MOVE P3,T1 ;[1132] YES, START NEXT LOOP AT
BASE OF NEW ONE
2) JRST ADVPS6] ;[1132] AND GO DUMP THIS DIRECTO
RY ENTRY
2) MOVE T2,R3 ;[1132] COPY OF PSECT PROPERTIES
2) XOR T2,P1 ;[1132] COMPARE WITH OLD
2) TXNN T2,777B8 ;[1132] SAME AS LAST TIME?
2) JRST ADVPS8 ;[1132] YES, CAN CONTINUE CURREN
T DIR ENTRY
2)
2)
2) ;ENTER HERE IF ALL DONE TO WRITE OUT THE LAST DIRECTORY ENTRY AN
D RETURN.
2)
2) ADVPS6: TXC P4,DATAF!ZEROF ;[1132] XCMPRD WANTS THE FLAGS R
EVERSED
2) TXNN P4,GAPF ;[1132] IN A GAP FROM LAST TIME?
2) PUSHJ P,XCMPRD ;[1132] NO, WRITE CURRENT DIR EN
TRY
2) ADDI P1,(P4) ;[1132] BUMP FILE PAGE COUNT
2) MOVX P4,GAPF ;[1132] FLAG NOW IN A GAP, CLEAR
RH P4
2) ADVPS8: SUB P3,LL.S0(R) ;[1132] MAKE P3 AN OFFSET INTO N
EW SEGMENT
2) TXZ P1,777B8 ;[1132] CLEAR OLD PSECT PROPERTI
Digital Equipment Corporation 28-AUG-79 Page 238
PCO Log Report
ES
2) IOR P1,R3 ;[1132] SET NEW PSECT PROPERTIES
2) JRST CPOPJ1 ;[1132] GIVE GOOD RETURN TO CALL
ER
2)
**************
1)58 TLNE P4,ZEROF ;[704] ZEFO PAGE?
1) HLLZS (W1) ;YES, SO NO FILE PAGES
1) PUSHJ P,XCMPXD ;SECOND WORD
1) MOVEM P2,(W1) ;
1) LDB T3,[POINT 9,P2,8] ;GET REPEAT COUNT
1) TLNE P4,DATAF ;[704] DATA PAGE?
1) ADDI P1,1(T3) ;INCREMENT FILE PTR
1) ADDI P2,1(T3) ;AND PROCESS PTR
1) TXZ P2,777B8 ;CLEAR REPEAT COUNT
1) POPJ P,
1)
1) ;HERE IF WE HAVE A PAGE OF ALLOCATED ZEROES
1)
1) XCMPR2: ADD P2,[1B8] ;INCREMENT REPEAT COUNT
1) TLO P4,ZEROF ;[704] WE GOT A ZERO PAGE
1) TLZ P4,DATAF+GAPF ;[704] OFF OTHER FLAGS
1) JRST XCMPR0 ;GET NEXT PAGE
1)
1) ;HERE IF NON-ZERO FOUND
1) ;IF WE WERE OUTPUTTING DATA LAST, JUST INCREMENT REPEAT COUNT
1) ;IF NOT, UPDATE DIRECTORY
1)
1) XCMPR3: SETZ T2, ;MAKE SURE
1) OUT DC,T1 ;OUTPUT THIS PAGE
1) CAIA ;OK
1) JRST XCMPER
1) TLNE P4,DATAF ;[704] LAST PAGE WAS ALSO DATA?
1) JRST [ADD P2,[1B8] ;[704] BUMP REPEAT COUNT
1) JRST XCMPR0] ;[704]
1) TLNN P4,GAPF ;[704] NO, LAST PAGE GAP THEN SK
IP
1) PUSHJ P,XCMPRD ;[704] NO, MUST BE ZERO, OUTPUT
DIR
1) TLO P4,DATAF ;[704] SET DATAF
1) TLZ P4,GAPF+ZEROF ;[704] OFF WITH OTHERS
1) JRST XCMPR0 ;[704] GET NEXT PAGE
1)
1)
1)
1)59
1) XCMPRH: TLNN T1,777 ;A PARTIAL WORD?
1) JRST XCMPR8 ;NO
1) MOVE T1,P1 ;GET FILE PTR
Digital Equipment Corporation 28-AUG-79 Page 239
PCO Log Report
1) LSH T1,2 ;IN BLOCKS
1) USETO DC,1(T1) ;ALLOCATE REMAINDER
1) XCMPR8: MOVE T1,HC.S0(R) ;GET HIGHEST DATA LOCATION
1) MOVE T3,HL.S0(R) ;AND HIGHEST ALLOCATEDLOCATION
1) IORI T1,777 ;PUT ON PAGE BOUNDARY
1) IORI T3,777 ;...
1) SUB T3,T1 ;SEE IF SAME PAGE
1) JUMPE T3,XCMPR9 ;YES
1) HRL P2,T3 ;[733] P2 HAS RIGHT PROCESS PAGE
1) SUB P2,[1B8] ;[733] REPEAT COUNT IS ONE LESS
IN LH
1) PUSHJ P,XCMPXD ;SEE IF ENOUGH ROOM
1) HLLZM P1,(W1) ;STORE FLAGS
1) PUSHJ P,XCMPXD ;
1) MOVEM P2,(W1) ;[733] STORE ALLOCATED BUT ZERO
PAGES
1) XCMPR9: SKIPE PAG.S0(R) ;A TEMP FILE STILL?
1) PUSHJ P,@[EXP LC.DLT,HC.DLT]-1(R) ;YES, GET RID OF
IT
1) CAIE R,1 ;JUST DUMPED LOW CORE?
1) JRST [CAIE R,2 ;JUST DUMPED HIGH CORE?
1) JRST XCMPHG ;NO, GO CHECK HIGH
1) JRST XCMPRX] ;YES, FINISH UP
1) IFN FTOVERLAY,<
1) SKIPL LNKMAX ;YES, SEE IF ANY OVERLAY?
1) SKIPN JOB116 ;ANY SYMBOLS TO DUMP?
1) JRST XCMPHG ;NO, GO CHECK HIGH
1) JRST XCMPOV ;YES, GO DUMP OVERLAY SYMBOL
1) >
1)
1)
1)60 IFN FTOVERLAY,<
1) ;HERE IF OVERLAY AND LOCAL SYMBOLS OF ROOT MODULES ARE TO BE DUM
PED
1) ;FIRST SET UP EXE FILE DIRECTORY ENTRIES FOR THE
1) ;ZERO PAGES BETWEEN LOW CORE AND THE SYMBOL TABLE
1) ;AND THE SYMBOLS.
1) ;ALSO, ZEROS GET PADDED IN FRONT IS LOCAL SYMBOLS DON'T
1) ;START AT A VIRTUAL PAGE BOUND
1) ;
1)
1) XCMPOV: PUSHJ P,XCMPXD ;INCREMENT W1 AND SEE IF ENOUGH
ROOM?
1) HLLZM P1,(W1) ;FLAGS+0 FILE PAGE
1) PUSHJ P,XCMPXD ;ENOUGH ROOM?
1) MOVEM P2,0(W1) ;CORE-PAGE
1) HRRZ T1,JOB116 ;START ADDR. FOR LOCAL SYMBOLS
1) MOVE T3,T1
1) IDIVI T1,1000 ;T1/PAGE # T2/ZERO WORDS
1) SUBM T1,P2 ;GET THE NUMBER OF ZERO PAGES
1) SUBI P2,1
Digital Equipment Corporation 28-AUG-79 Page 240
PCO Log Report
1) DPB P2,[POINT 9,0(W1),8] ;DEPOSIT AS THE REPEAT C
OUNT
1) PUSHJ P,XCMPXD ;ENOUGH ROOM?
1) MOVEM P1,(W1) ;FLAGS+FILE PAGE#
1) PUSHJ P,XCMPXD ;ENOUGH ROOM?
1) MOVEM T1,0(W1) ;CORE PAGE #
1) ADD T3,LSYM ;GET REPEAT COUNT FROM START+LEN
GTH
1) LSH T3,-9 ;CONVERT TO PAGE
1) SUB T3,T1 ;TAKE AWAY STARTING PAGE COUNT
1) ADD P1,T3 ;[725] INCREMENT PROCESS PAGE
1) SUBI T3,1
1) DPB T3,[POINT 9,0(W1),8] ;REPEAT COUNT
1) MOVE P2,T2 ;# OF ZEROS IN FRONT
1) MOVEI T2,200 ;GET A 200 WORD
1) PUSHJ P,DY.GET## ;SCRATCH BLOCK
1) MOVEM T1,SCRTCH ;SAVE IT, SO WE CAN GIVE
BACK
1) SUBI T1,1 ;MAKE IT IOWD
1) HRLI T1,-200 ;
1) SETZ T2,
1) XCMPO1: CAIGE P2,200 ;MORE THAN 200 ZEROS?
1) JRST XCMPO2 ;NO,
1) OUT DC,T1 ;YES, OUTPUT A BLOCK OF ZEROES
1) JRST [SUBI P2,200
1) JRST XCMPO1]
1) JRST XCMPER
1)
1)
1)
1)61
1) ;HERE IF LOCAL SYMBOLS ARE PAGED
1) ;
1)
1) XCMPO2: PUSH P,T1 ;SAVE IOWD TO SCRATCH FOR A WHIL
E
1) SKIPN PAG.LS ;PAGED?
1) JRST XCMPLS ;NO
1) HRLZ T1,LW.LS ;YES, GO OUTPUT CURRENT WINDOW
1) HRR T1,LSYM
1) PUSHJ P,LS.OUT##
1) SETZM LW.LS ;START AT LOWEST LOCATION
1) SKIPN HC.S2 ;GET MORE CORE AREA--ANY HIGH?
1) JRST XCMPP1 ;NO
1) MOVE T1,HC.AB ;YES,
1) MOVEM T1,HC.UB
1) JRST XCMPP2
1) XCMPP1: MOVE T1,LC.AB
1) MOVEM T1,LC.UB
Digital Equipment Corporation 28-AUG-79 Page 241
PCO Log Report
1) XCMPP2: ADDI T1,1
1) MOVEM T1,LS.LB ;NEW LOWER BOUND
1) MOVE T2,.JBREL ;NEW UPPER BOUND
1) MOVEM T2,LS.UB
1) SUBM T2,T1 ;GET LEGTH OF CORE AVAILABLE
1) SETZ R,
1) MOVEM T1,UW.LS ;WE HAVE UPPER WINDOW
1) CAMGE T1,LSYM ;WINDOW BIG ENOUGH FOR ALL?
1) JRST [PUSHJ P,LS.IN## ;NO, READ IN AS MUCH AS
WE CAN
1) JRST XCMPO3]
1) MOVE T1,LSYM ;YES, JUST READIN WHAT WE HAVE
1) IORI T1,.IPM
1) MOVE T2,T1
1) ADD T2,LS.LB ;
1) MOVEM T2,LS.AB ;AND UPDATE
1) PUSHJ P,LS.IN##
1) PUSHJ P,LS.DLT ;GO DELETE THE TMP FILE
1) JRST XCMPO3 ;GO FIX UP FIRST BLOCK
1)
1) ;DUMP LOCAL SYMBOLS--HERE ONLY IF NOT PAGED
1)
1) XCMPLS: MOVEI R,LS.IX-1 ;SEE WHO HAS CORE RIGHT BELOW IT
1) SKIPN T2,TAB.UB(R) ;LOOK FOR NON-ZERO
1) SOJGE R,.-1 ;IT'S ZERO, DECREMENT INDEX
1) SUB T2,TAB.AB(R) ;GET LENTH OF GAP
1) SETZ R, ;KEEP COUNT OF LEGTH OF LS ALREA
DY OUT
1) CAMGE T2,P2 ;IS THE GAP BIT ENOUGH?
1) JRST XCMPO3 ;NO, GO FIXUP FIRST BLOCK
1) HRLS P2,P2 ;YES, BORROW WHAT WE NEED
1) MOVE R,LSYM ;UPDATE R SO WE KNOW ITS END
1) MOVE T1,LS.LB ;SET UP IOWD
1) HLL T1,JOB116 ;IN T1
1) SUB T1,P2 ;ADJUST BY NUMBER OF ZEROS
1) SUBI T1,1
1) SETZ T2, ;MAKE SURE ENDS WITH ZERO
1) JRST XCMPO4 ;GO DO OUTPUT
1)
1)62
1)
1) XCMPO3: POP P,T1 ;GET IOWD TO SCRATCH BACK FROM S
TACK
1) MOVEI T2,201(T1) ;USE SCRATCH SPACE
1) MOVEI P1,1(T1) ;GET START OF THE AREA
1) ADD P1,P2 ;GET WHERE DATA SHOULD GO
1) HRL P1,LS.LB
1) BLT P1,(T2)
1) MOVE T4,LS.AB ;
Digital Equipment Corporation 28-AUG-79 Page 242
PCO Log Report
1) SUB T4,LS.LB ;LENTH IN CORE
1) ADDI T4,1 ;NUMBER OF WORDS TO BE READ IN
1) CAMGE T4,LSYM ;WOULD WE HAVE READ ALL?
1) JRST [MOVNI T3,-200(T4) ;NO, NUMBER OF WORDS TO
DUMP
1) MOVE R,T4
1) SUBI R,(P2)
1) JRST XCMPO5]
1) MOVN T3,LSYM ;YES, NUMBER OF WORDS TO DUMP
1) SUBI T3,-200(P2) ;LESS BY DATA BLT TO SCRATCH BLO
CK
1) MOVE R,LSYM
1) XCMPO5: MOVE T2,LS.LB ;GET BEGINNING OF DATA
1) SUBI T2,-200(P2) ;ADJUST IT TO EXCLUDE DATA TO SC
RATCH
1) SUBI T2,1 ;1 LESS FOR IOWD
1) HRL T2,T3 ;MINUS LENGTH IN LH OF IOWD
1) PUSH P,T2 ;SAVE IOWD, NEED IT LATER IF PAG
ED
1) SETZ T3, ;MAKE SURE LIST END WITH ZERO
1) XCMPO4: OUT DC,T1
1) CAIA
1) JRST XCMPER
1) CAML R,LSYM ;FINISHED?
1) JRST [POP P,0(P) ;YES, RESTORE STACK
1) MOVEI R,1 ;INDICATE WE JUST DID LO
W SEG
1) MOVE T1,SCRTCH ;GIVE BACK THE SCRATCH S
PACE
1) MOVEI T2,200 ;OF 200 WORDS
1) PUSHJ P,DY.RET##
1) SKIPE PAG.LS ;STILL A TEMP FILE?
1) PUSHJ P,LS.DLT ;YES, DELETE IT
1) JRST XCMPHG] ;GO CHECK HIGH CORE
1)
1) ;FALL THROUGH TO NEXT PAGE
1)
1)63 ;HERE TO DUMP THE NEXT BLOCK OF SYMBOLS, IF NEEDED
1)
1) MOVE T1,LW.LS ;GET LOWER WINDOW
1) ADDI T1,-200(T4) ;INCRREMENT IT
1) MOVEM T1,LW.LS ;NEW LOWER WINDOW
1) ADD T1,T4 ;ADD THE NUMBER OF WORDS TO BE R
EAD
1) CAML T1,LSYM ;EXCEEDED THE END?
1) MOVE T1,LSYM ;YES, READ ONLY WHAT WE NEED
1) MOVE R,T1 ;UPDATE R
1) MOVEM T1,UW.LS ;UPDATE UPPER WINDOW
1) HRL T1,LW.LS ;LOW WINDOW IN LH FOR LS.IN
Digital Equipment Corporation 28-AUG-79 Page 243
PCO Log Report
1) PUSHJ P,LS.IN## ;GO READ IT
1) HRRZ T1,T1 ;GET NEW OUTPUT LENGTH
1) SUB T1,LW.LS
1) ADDI T1,-200(P2) ;ADJUST IT BY PREVIOUS OUT
1) MOVN T3,T1 ;NEGATE IT AND SAVE IN CASE AT
END
1) MOVE T1,LW.LS ;GET LOWER WINDOW
1) MOVE T1,0(P) ;GET IOWD FROM STACK
1) CAML R,LSYM ;AT END, NEED TO FISUP THE LH
1) HRL T1,T3 ;YES,
1) SETZ T2, ;END LIST WITH ZERO
1) JRST XCMPO4 ;GO OUTPUT
1)
1) >
1)
1)64 XCMPHG: SKIPN HC.LB ;ANY HIGH SEGMENT?
1) JRST XCMPRX ;NO, FINISH UP
1) SKIPN PAG.S2 ;PAGING?
1) JRST XCMPRN ;NO,
1) MOVE T1,HC.AB ;GET TOP
1) SUB T1,HC.LB ;LENTH
1) ADDI T1,1 ;ROUND UP
1) ANDCMI T1,777 ;MAKE SURE ON PAGE BOUNDARY
1) SUBI T1,1 ;GET CORRESPONDING UPPER BOUND
1) MOVEM T1,PAG.S2 ;RESET WINDOW
1) ADD T1,HC.LB ;
1) MOVEM T1,HC.AB ;AND CORE BOUND
1) XCMPRN: MOVE T1,SSEXT ;GET TYPE BITS
1) HRRZ P1,P1 ;CLEAR FLAGS
1) IFE TOPS20,<
1) TXO P1,SV%HIS ;HIGH ALWAYS FOR -10
1) TXNE T1,SS.SHR ;SHAREABLE?
1) > ;END OF IFE TOPS20
1) TXO P1,SV%SHR ;YES,
1) MOVE T1,HC.LB ;START OF HI SEG
1) SUBI T1,1 ;IOWD IS 1 LESS
1) MOVE P2,LL.S2 ;GET ORIGIN
1) LSH P2,-9 ;IN PAGES
1) SETZB P3,P4 ;RESET FLAGS
1) MOVE T3,HC.S2 ;GET LENGTH OF HI SEG
1) CAIL T3,1000 ;LESS THAN 1 PAGE
1) AOJA R,XCMPRL ;NOW SAVE HIGH SEGMENT
1) MOVN T3,T3 ;YES, GET ACTUAL WORD COUNT
1) HRL T1,T3 ;JUST OUTPUT THAT MUCH
1) AOJA R,XCMPR7 ;OF HIGH SEGMENT
1)
1)65
1)
1)
Digital Equipment Corporation 28-AUG-79 Page 244
PCO Log Report
1) XCMPRX:
1) IFN TOPS20,<
****
2)66 ;**;[1132] Change @ XCMPRD+2L JNG 30-Jan-79
2) TXNN P4,ZEROF ;[1132] ZERO PAGE? (FLAGS ALREAD
Y CHANGED)
2) HLLZS (W1) ;YES, SO NO FILE PAGES
2) PUSHJ P,XCMPXD ;SECOND WORD
2) MOVEM P2,(W1) ;[1132]
2) POPJ P, ;[1132]
2)
2)67 ;HERE TO ALLOCATE A DIRECTORY ENTRY IF SUFFICIENT ROOM EXISTS.
2) ;IF NOT, EXTEND THE FILE BY ONE PAGE TO MAKE ROOM FOR ANOTHER
2) ;PAGE OF DIRECTORY.
2)
2) ;**;[1132] Move up from below and revamp JNG 30-Jan-7
9
2) XCMPXD: AOBJN W1,CPOPJ ;ALLOCATE IF ENOUGH ROOM
2)
2)
2) ;WRITE THE CURRENT PAGE OF THE EXE DIRECTORY TO DISK.
2) ;THEN START FROM THE FRONT OF THE FILE, AND FIX ALL PAGES OF
2) ;EXE DIRECTORY PRESENT, INCLUDING THE ONE WE JUST WROTE.
2)
2) HRLOI T3,-1000-1 ;[1132] FORM IOWD TO IN CORE EXE
DIRECTORY
2) ADD T3,EXEDIR ;[1132] ..
2) SETZ T4, ;[1132] TERMINATE IO LIST
2) USETO DC,@EXEBLK ;[1132] SET TO LATEST EXE DIRECT
ORY BLOCK
2) OUT DC,T3 ;[1132] WRITE THE DIRECTORY
2) CAIA ;[1132] SUCCESS
2) JRST XCMPER ;[1132] IO ERROR
2) MOVEI W1,1 ;[1132] NOW LOOP OVER DIR, START
ING AT BLOCK 1
2) XCMPXE: USETI DC,@W1 ;[1132] SET ON NEXT PAGE OF EXE
DIR
2) IN DC,T3 ;[1132] READ IT INTO SCRATCH PAG
E
2) CAIA ;[1132] OK
2) JRST XCMPER ;[1132] FAILED
2) MOVE T2,EXEDIR ;[1132] NOW SETUP AOBJN PTR TO E
XE DIR PAGE
2) HRLI T2,-400 ;[1132] COUNT OF DIR ENTRIES THI
S PAGE
2) XCMPXF: MOVE T1,1(T2) ;[1132] GET 1ST WORD OF NEXT ENT
RY
2) TRNE T1,-1 ;[1132] AN ABZ POINTER?
2) AOS 1(T2) ;[1132] NO, BUMP THE FILE PAGE N
UMBER
Digital Equipment Corporation 28-AUG-79 Page 245
PCO Log Report
2) ADDI T2,1 ;[1132] SKIP 2ND WORD OF THIS DI
R ENTRY
2) AOBJN T2,XCMPXF ;[1132] LOOP OVER THE ENTIRE PAG
E
2) USETO DC,@W1 ;[1132] POINT TO WHERE WE GOT TH
E PAGE
2) OUT DC,T3 ;[1132] PUT IT BACK, SLIGHTLY MO
DIFIED
2) CAIA ;[1132] OK
2) JRST XCMPER ;[1132] I/O ERROR
2) ADDI W1,4 ;[1132] BLOCK NUMBER OF NEXT PAG
E
2) CAMG W1,EXEBLK ;[1132] MORE DIRECTORY PAGE(S) T
O PROCESS?
2) JRST XCMPXE ;[1132] YES, PROCESS THEM
2) MOVEM W1,EXEBLK ;[1132] PAGE WE'RE FREEING UP FO
R MORE DIRECTORY
2)
2)68 ;FALL IN FROM ABOVE
2)
2) ;NOW TO LOOP OVER THE FILE BACKWARDS, MOVING ALL OF THE DATA PAG
ES
2) ;ONE PAGE HIGHER.
2)
2) MOVEI W1,-1(P1) ;[1132] LAST PAGE WRITTEN
2) ADDI W1,0(P4) ;[1132] PLUS ANY FOUND IN THIS D
IR ENTRY
2) ASHC W2,-^D27 ;[1132] NEED TO LOOK AT IOWD, SI
NCE PAGES
2) ADD W1,W2 ;[1132] IT POINTS TO HAVEN'T B
EEN WRITTEN
2) ASHC W2,^D27 ;[1132] RESET IOWD TO PREVIOUS V
ALUE
2) SETZ W3, ;[1132] CLEAR SIGN BIT LEFT FROM
ASHC
2) LSH W1,2 ;[1132] CONVERT PAGE TO BLOCK NU
MBET
2) ADDI W1,1 ;[1132] BLOCK NUMBERS START AT 1
2) MOVEI T2,10(W1) ;[1132] REMEMBER NEXT BLOCK TO W
RITE FOR LATER
2) XCMPXG: CAMGE W1,EXEBLK ;[1132] ANY DATA PAGES LEFT TO C
OPY?
2) JRST XCMPXH ;[1132] NO, GO FINISH UP
2) USETI DC,@W1 ;[1132] POINT TO NEXT DATA PAGE
2) IN DC,T3 ;[1132] READ IT
2) CAIA ;[1132] OK
2) JRST XCMPER ;[1132] ERROR
2) OUT DC,T3 ;[1132] WRITE IT INTO THE NEXT P
AGE
Digital Equipment Corporation 28-AUG-79 Page 246
PCO Log Report
2) CAIA ;[1132] OK
2) JRST XCMPER ;[1132] ERROR
2) SUBI W1,4 ;[1132] BACK UP ONE MORE DATA BL
OCK
2) JRST XCMPXG ;[1132] LOOP OVER ALL DATA PAGES
2)
2)
2) ;HERE WHEN THE DIRECTORY AND THE FILE HAVE BEEN UPDATED.
2) ;FIX THE POINTERS THAT OUR CALLERS LOOK AT, THEN RETURN.
2)
2) XCMPXH: USETO DC,@T2 ;[1132] NEXT WRITE TO NEXT FREE
BLOCK
2) ADDI P1,1 ;[1132] THIS DIR ENTRY IS ONE OF
F TOO
2) MOVE W1,EXEDIR ;[1132] RESET DIR AOBJN PTR FOR
NEXT CALL
2) HRLI W1,-1000 ;[1132] SET UP COUNT FOR INITIAL
AOBJN
2) HRLZ T1,W1 ;[1132] NOW ZERO THE DY AREA BLO
CK
2) HRRI T1,1(W1) ;[1132] ..
2) SETZM 0(W1) ;[1132] ..
2) BLT T1,777(W1) ;[1132] ..
2) POPJ P, ;[1132] RETURN TO CALLER
2)
2)69 IFN FTOVERLAY,<
2)
2) ;HERE WHEN GENERATING AN EXE FILE FOR THE ROOT OF AN OVERLAID PR
OGRAM,
2) ;AND IT IS TIME TO INSERT THE LOCAL SYMBOLS FROM THE LS AREA INT
O THE
2) ;EXE FILE. ALL ZEROS BEFORE THE SYMBOLS AND THE FIRST PARTIAL P
AGE OF
2) ;SYMBOLS HAVE ALREADY BEEN COPIED INTO THE EXE FILE, SINCE THEY
WERE
2) ;PUT INTO THE LC AREA AT JBEXE.
2)
2) XCMPOV: HRRZ T1,JOB116 ;[1132] SYMBOLS ARE NOT PAGE ALI
GNED IN LS
2) ANDI T1,777 ;[1132] SO PUT OFFSET TO FIRST S
YM IN R3
2) MOVEI R3,1000 ;[1132] OFFSET IS REST OF PAGE N
OT COPIED
2) SUB R3,T1 ;[1132] AT JBEXE
2) SETZB R2,P3 ;[1132] ASSUME LS AREA ISN'T PAG
ING
2) SKIPN PAG.LS ;[1132] IS THE LS AREA PAGING?
2) JRST XOVDMP ;[1132] NO, JUST DUMP IT TO THE
EXE FILE
Digital Equipment Corporation 28-AUG-79 Page 247
PCO Log Report
2) MOVE T1,LW.LS ;[1132] CALCULATE UPPER WINDOW
2) ADD T1,LS.AB ;[1132] FROM LOWER WINDOW + SIZE
2) SUB T1,LS.LB ;[1132] SO WE CAN WRITE OUT CURR
ENT LS AREA
2) MOVEM T1,UW.LS ;[1132] SAVE IT IN CASE IT WAS -
1
2) HRL T1,LW.LS ;[1132] FIRST,,LAST FOR LS.OUT
2) PUSHJ P,LS.OUT ;[1132] UPDATE THE DISK COPY
2) PUSHJ P,FR.CNT## ;[1132] SEE HOW MUCH ROOM IS LEF
T
2) MOVE T2,LSYM ;[1132] COUNT OF WORDS IN THE LS
AREA
2) SUBI T2,1 ;[1132] CONVERT FIRST FREE TO LA
ST USED
2) IORI T2,777 ;[1132] ROUND UP TO PAGE END
2) MOVE T3,LS.AB ;[1132] FIND CURRENT SIZE OF LS
AREA
2) SUB T3,LS.LB ;[1132] AS END - START
2) CAMG T2,T3 ;[1132] IS AREA BIG ENOUGH?
2) JRST XOVNXW ;[1132] YES, JUST DUMP IT TO THE
FILE
2) SUB T2,T3 ;[1132] EXTRA WE NEED
2) CAMLE T1,T2 ;[1132] LESS THAN WE HAVE?
2) MOVE T1,T2 ;[1132] YES, DON'T ASK FOR MORE
THAN WE NEED
2) SETOM LS.PP ;[1132] DON'T PAGE THE LS AREA T
O SATISFY THIS
2) SPUSH <P1,P2> ;[1132] SAVE CURRENT EXE DIR ENT
RY
2) MOVEI P1,LS.IX ;[1132] EXPAND THE LS AREA
2) MOVE P2,T1 ;[1132] BY THIS MUCH
2) PUSHJ P,LNKCOR## ;[1132] GO SHUFFLE
2) PUSHJ P,NO.COR## ;[1132] FR.CNT LIED!!
2) SPOP <P2,P1> ;[1132] RESTORE THE SACRED COWS
2) SETZM LS.PP ;[1132] LS AREA CAN PAGE NOW
2)
2) ;FALL INTO NEXT PAGE
2)
2)70 ;FALL IN FROM ABOVE
2)
2) ;HERE WHEN THE LS AREA IS PAGING TO BRING THE NEXT WINDOW OF SYM
BOLS
2) ;IN TO BE WRITTEN TO THE EXE FILE. P3 HAS THE FIRST ADDRESS TO
READ IN
2) ;STORED IN IT, AND WE WILL PUT THE COUNT OF HOW FAR THIS PASS FA
ILED TO
2) ;FINISH BY IN R2.
2)
2) XOVNXW: MOVEM P3,LW.LS ;[1132] INIT LOWER WINDOW
2) ADD P3,LS.AB ;[1132] NOW COMPUTE UPPER WINDOW
2) SUB P3,LS.LB ;[1132] AS LOWER+SIZE
Digital Equipment Corporation 28-AUG-79 Page 248
PCO Log Report
2) MOVEM P3,UW.LS ;[1132] STORE FOR LS.IN
2) ANDCMI P3,777 ;[1132] FIRST TO READ NEXT TIME
2) MOVE R2,LSYM ;[1132] END OF SYMBOLS
2) SUBI R2,1 ;[1132] LAST WORD CONTAINING SYM
BOLS
2) IORI R2,777 ;[1132] THE END OF THAT PAGE
2) SUB R2,UW.LS ;[1132] FIND OUT HOW FAR YET TO
GO
2) JUMPGE R2,XOVNX2 ;[1132] ALL OK UNLESS THIS TIME
WILL END IT
2) ADDM R2,LS.AB ;[1132] REDUCE SIZE OF WINDOW
2) ADDM R2,UW.LS ;[1132] AND LAST ADDRESS IN WIND
OW
2) XOVNX2: HRLZ T1,LW.LS ;[1132] SET UP LOWEST,,HIGHEST
2) HRR T1,UW.LS ;[1132] FOR LS.IN
2) PUSHJ P,LS.IN ;[1132] READ IN THE NEXT BLOCK O
F SYMBOLS
2) JUMPLE R2,XOVDMP ;[1132] IF LAST TIME, WRITE ALL
OF LS AREA
2) MOVE T1,UW.LS ;[1132] NOT LAST TIME, ONLY WRIT
E THROUGH
2) ANDCMI T1,777 ;[1132] FIRST PART OF LAST PAG
E
2) TROA T1,R3 ;[1132] WILL GET REST OF THAT PA
GE NEXT PASS
2) XOVDMP: MOVE T1,LSYM ;[1132] LAST TIME, WRITE THROUGH
THE END
2) MOVE W2,LW.LS ;[1132] PUT IOWD TO SYMBOLS TO W
RITE IN W2
2) ADD W2,R3 ;[1132] DON'T START AT BEGINNING
OF LS
2) SUB W2,T1 ;[1132] -COUNT IS FIRST-LAST
2) HRLZ W2,W2 ;[1132] -COUNT,,0
2) HRR W2,LS.LB ;[1132] -COUNT,,BOTTOM OF LS ARE
A
2) ADDI W2,-1(R3) ;[1132] BUT DON'T START WRITING
AT START
2) OUT DC,W2 ;[1132] WRITE THE SYMBOLS
2) TDZA W2,W2 ;[1132] CLEAR W2 AGAIN IN CASE D
ONE
2) JRST XCMPER ;[1132] I/O ERROR
2) JUMPG R2,XOVNXW ;[1132] IF NOT DONE, LOOP BACK T
O TRY AGAIN
2) SKIPE PAG.LS ;[1132] ALL DONE, ANY TEMP FILE?
2) PUSHJ P,LS.DLT ;[1132] YES, DELETE IT
2) PUSHJ P,LS.ZAP ;[1132] ALL DONE WITH LS AREA
2)
2) ;FALL INTO NEXT PAGE
2)
Digital Equipment Corporation 28-AUG-79 Page 249
PCO Log Report
2)71 ;FALL IN FROM ABOVE
2)
2) ;NOW THAT THE DATA HAS BEEN WRITTEN, UPDATE THE EXE DIRECTORY TO
2) ;REFLECT THE CHANGE. ALSO ZERO THE REST OF THE LAST PAGE WITH
A USETO.
2)
2) HRRZ R3,JOB116 ;[1132] START OF SYMBOL TABLE
2) HLRE T1,JOB116 ;[1132] - COUNT
2) SUB R3,T1 ;[1132] FIRST WORD BEYOND TABLE
2) ADDI R3,777 ;[1132] ROUND UP TO NEXT PAGE BO
UND
2) ANDCMI R3,777 ;[1132] FIRST PAGE NOW FREE
2) HRRZ P3,JOB116 ;[1132] FIRST WORD WRITTEN
2) ADDI P3,777 ;[1132] ROUND UP TO PAGE BOUND
2) ANDCMI P3,777 ;[1132] SO WE DON'T COUNT SYMS W
RITTEN AT JBEXE
2) SUB R3,P3 ;[1132] R3 NOW HAS COUNT OF WORD
S WRITTEN HERE
2) HRRZ T1,P1 ;[1132] FIRST DISK PAGE FREE BEF
ORE XCMPOV
2) ADDI T1,(P4) ;[1132] ACCOUNT FOR EXTRA OUTS D
ONE
2) MOVE R2,R3 ;[1132] NUMBER OF WORDS WRITTEN
HERE
2) LSH R2,-^D9 ;[1132] NUMBER OF PAGES WE ADDED
TO THE EXE FILE
2) ADD T1,R2 ;[1132] NEW FIRST FREE = OLD + C
OUNT
2) LSH T1,2 ;[1132] CONVERT TO BLOCKS FOR US
ETO
2) USETO DC,1(T1) ;[1132] SET FILE POINTER TO FIRS
T FREE BLOCK
2) TXON P4,DATAF ;[1132] NOW IN A DATA DIR ENTRY,
FIRST TIME?
2) JRST XOVNWD ;[1132] YES, GO DUMP OLD DIR ENT
RY AND START NEW
2) ADD P3,R3 ;[1132] MAKE P3 BE THE FIRST FRE
E ADDRESS
2) MOVSI R3,(R3) ;[1132] TURN WORD COUNT INTO PAG
E COUNT IN LH
2) ADD P2,R3 ;[1132] BUMP COUNT IN DIR ENTRY
2) ADD P4,R2 ;[1132] COUNT FILE PAGES WRITTEN
HERE
2) POPJ P, ;[1132] DONE, BACK TO ADVPSC
2)
2)
2) ;HERE TO START A NEW EXE DIRECTORY ENTRY
2)
2) XOVNWD: TXZ P4,ZEROF ;[1132] NO LONGER WRITING AN ABZ
ENTRY
2) TXZN P4,GAPF ;[1132] NOR IN A GAP. WERE WE?
Digital Equipment Corporation 28-AUG-79 Page 250
PCO Log Report
2) PUSHJ P,XCMPRD ;[1132] NO, WRITE CURRENT DIR EN
TRY
2) ADDI P1,(P4) ;[1132] BUMP FILE PAGE NUMBER
2) HRR P4,R2 ;[1132] ACCOUNT FOR PAGES WRITTE
N HERE
2) MOVE P2,P3 ;[1132] FIRST WORD WE WROTE HERE
2) LSH P2,-^D9 ;[1132] FIRST PAGE WE WROTE HERE
2) ADD P3,R3 ;[1132] MAKE P3 POINT TO FIRST W
ORD BEYOND SYMS
2) MOVSI R3,-1000(R3) ;[1132] CONVERT WORD CNT INTO EX
E DIR PAGE CNT
2) ADD P2,R3 ;[1132] NOW HAVE A NEW EXE DIR S
LOT
2) POPJ P, ;[1132] DONE
2)
2)72 ;HERE WHEN DONE WRITING THE MEMORY IMAGE TO THE EXE FILE.
2) ;WRITE THE START ADDRESS BLOCK, DELETE THE TEMP FILES, AND
2) ;RETURN THE EXE DIRECTORY STORAGE TO FREE SPACE.
2)
2) ;**;[1132] Insert @ XCMPRX JNG 30-Jan-79
2) XCMPRX: SKIPE PAG.S1 ;[1132] STILL GOT AN LC TEMP FIL
E?
2) PUSHJ P,LC.DLT ;[1132] YES, DELETE IT
2) SKIPE PAG.S2 ;[1132] HOW ABOUT AN HC TEMP FIL
E?
2) PUSHJ P,HC.DLT ;[1132] YES, DELETE IT
2)
2) IFN TOPS20,<
**************
1)65 USETO DC,@EXEBLK ;NOW TO WRITE THE DIRECTORY
****
2)72
2)73 USETO DC,@EXEBLK ;NOW TO WRITE THE DIRECTORY
**************
1)66
1) XCMPXD: AOBJN W1,CPOPJ ;ALLOCATE IF ENOUGH ROOM
1) PUSH P,T1 ;SAVES SPACE TO SAVE IT HERE
1) USETO DC,@EXEBLK ;SET ON IT
1) MOVE W1,EXEDIR ;PTR TO START
1) HRLI W1,-400 ;NO. TO TRY
1) MOVEI T1,1 ;INCREMENT
1) XCMPXE: MOVE T3,1(W1) ;GET FILE PAGE
1) TRNE T3,-1 ;TEST FOR ALLOCATED BUT ZERO
1) ADDM T1,1(W1) ;INCREMENT REAL PAGE
1) ADDI W1,1 ;
1) AOBJN W1,XCMPXE ;LOOP
1) HRRZ T1,EXEDIR ;
1) SUBI T1,1 ;
1) HRLI T1,-1000 ; FORM IOWD
Digital Equipment Corporation 28-AUG-79 Page 251
PCO Log Report
1) SETZ T2, ;MAKE SURE
1) OUT DC,T1 ;WRITE OUT DIRECTORY
1) CAIA ;OK
1) JRST XCMPER ;ERROR
1) MOVEI T3,4 ;NO. OF BLOCKS WE WILL MOVE BY
1) ADDB T3,EXEBLK ;WHERE REST OF DIRECTORY WILL GO
1) LSH T3,-2 ;NO. OF PAGES
1) SUBI T3,1(P1) ;- NO. OF PAGES TO COPY
1) MOVEI T4,(P1) ;PAGE NO.
1) LSH T4,2 ;BLOCK NO.
1) HRL T4,T3 ;AOBJN PTR
1) XCMPXL: USETI DC,1(T4) ;SET ON INPUT BLOCK
1) IN DC,T1 ;READ FILE BACKWARDS
1) CAIA ;OK
1) JRST XCMPER ;ERROR
1) OUT DC,T1 ;WRITE IT BACK OUT 1 PAGE HIGHER
1) CAIA ;OK
1) JRST XCMPER ;
1) HRRI T4,-5(T4) ;SUBTRACT BUT WORRY ABOUT CARRY
1) AOBJN T4,XCMPXL ;LOOP
1) HRRZ W1,EXEDIR ;RESET DEPOSIT PTR
1) HRLI W1,-1000 ;
1) HRLZ T1,W1 ;
1) HRRI T1,1(W1) ;FORM BLT PTR
1) SETZM (W1) ;
1) BLT T1,777(W1) ;CLEAR DIRECTORY BLOCK
1) AOS T1,P1 ;NEW FILE PAGE
1) LSH T1,2 ;BLOCKS
1) USETO DC,5(T1) ;RESET OUTPUT PTR
1) POP P,T1 ;RESTORE
1) POPJ P, ;
1)
1) XCMPER: PUSH P,[DC]
****
2)73 XCMPER: PUSH P,[DC]
**************
1)100 U (SCRTCH) ;POINTER TO A SCRATCH PAGE
1)
****
2)107 ;**;[1132] Replace @ SCRTCH JNG 30-Jan-79
2) U (SYMPSC) ;[1132] RC BLOCK OF /SYMSEG PSEC
T
2)
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 252
PCO Log Report
*********************
*PCO #:10-LINK -254*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 30-JAN-79
[Programmer] GILBERT
[Routines] LNKERR
[Key Words] LNKSTL LONG MSG
[Source Before Edit] %4A (001132)
[Source After Edit] %4A (001133)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-26576
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 253
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
There is no long message for the LNKSTL message.
**********
[DIAGNOSIS]
Oversight.
**********
[CURE]
Add an appropriate message.
Digital Equipment Corporation 28-AUG-79 Page 254
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0835 30-Jan-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1327 30-Jan-1979
1)1 DECEVR==1132 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1133 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1133 JNG 30-Jan-79 SPR 10-26576
2) ; Add a long message for the LNKSTL message.
2) ; Routine: LNKERR
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 255
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1544 22-Sep-1978
File 2) LINK:LNKERR.MAC[10,645063] created: 1309 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 22-Sep-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 30-Jan-79
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
2)
**************
1)1 DECEVR==1120 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1133 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1133 Add a long message for the LNKSTL message.
2)
**************
1)9 T13 31 31 LVAR (type 13) code not implemented
****
2)9 STL 31 31 High segment code too long
2) T13 31 31 LVAR (type 13) code not implemented
**************
1)10 HASH T13,0,<^_
****
2)10 ;**;[1133] Insert @ the T13 message JNG 30-Jan-79
2) HASH STL,0,<^_
2) The high segment of your program has overflowed the end
of
2) memory. You can move the high segment down by using t
he
2) /SET:.HIGH.:address switch, or you can force your enti
re
2) program into the low segment with the /SEGMENT:LOW switc
h.>
2)
2) HASH T13,0,<^_
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 256
PCO Log Report
*********************
*PCO #:10-LINK -255*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 30-JAN-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] ADDR CHECK EDIT 776 EDIT 1132
[Source Before Edit] %4A (001133)
[Source After Edit] %4A (001134)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27024
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 257
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can get an address check if all of the following
conditions are met:
1. The lowest code or data loaded occurs between 2000
and 377777.
2. The program being loaded is small enough so that
LINK does not have to overflow to disk.
3. LINK is writing an EXE file, either because the
program is too large to fit in memory, or because
the user requested an EXE file with /SAVE.
Also, LINK will fail to write out the correct .JBVER
(location 137) if the lowest location loaded is 2000 or
above.
If edit 776 has been installed, users will not see the
above problems. Instead, LINK will set up an incorrect page
0 (JOBDAT) when all of the following conditions are met:
1. LINK has overflowed to disk, either because the
program was too large to fit in memory, or because
disk overflow was forced by the first location
loaded being above 400000.
2. The program being loaded is small enough so that
LINK is able to read all of it (from the lowest
location loaded on up) back in at the end of
loading.
3. LINK is writing an EXE file.
**********
[DIAGNOSIS]
Digital Equipment Corporation 28-AUG-79 Page 258
PCO Log Report
LINK always tries to write JOBDAT from the DY buffer
(JOBPTR) if the lowest location loaded (LOWLOC) is 2000 or
above, on the assumption that disk overflow has already
occurred. However, if the program is small enough so that
disk overflow has not occurred, and if disk overflow was not
forced by the lowest location being 400000 or higher, then
JOBDAT is in the LC area instead of the DY area. In that
case, LINK will pick up a zero address and try to write its
own JOBDAT into the EXE file.
The missing .JBVER is due to an erroneous output IOWD
in the same area of code.
If edit 776 has been installed, then an error in that
edit will cause LINK to write out the page containing the
lowest location loaded as the JOBDAT area, instead of
writing the correct JOBDAT area.
**********
[CURE]
Do not try to get JOBDAT out of the DY area unless it is
really there, and correct the output IOWD.
Note that this problem was fixed in LINK by edit 1132,
and that this PCO is simply a small patch to fix this
particular problem without having to install all of edit
1132. This edit will never appear in any future release of
LINK, since edit 1132 will be shipped instead.
This edit also supersedes LINK edit 776 (PCO
10-LINK-254), which was an incorrect fix for this same
problem. Edit 776 should be removed before the installation
of this edit.
Digital Equipment Corporation 28-AUG-79 Page 259
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507,4,T10] created: 1904 01-Mar-1978
File 2) LINK:LNKHST.MAC[30,3737] created: 1747 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 27-FEB-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 30-Jan-7
9
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==765 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1134 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1134 JNG 30-Jan-79 SPR 10-26897
2) ; Avoid address check in LNKXIT while writing EXE file if
lowest
2) ; code loaded is between 2000 and 377777, but the program
being
2) ; loaded is not so large that LINK needs to overflow to di
sk.
2) ; Routines: LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 260
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507,4,T10] created: 1503 03-Mar-1978
File 2) LINK:LNKXIT.MAC[30,3737] created: 1824 30-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 30-Jan-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1134 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1134 Avoid address check when not paging but LOWLOC is non-ze
ro.
2)5 SUBTTL ENTER HERE
**************
1)54 MOVE T3,LOWLOC ;[742] GET LOWEST LOCATION
1) CAIL T3,2000 ;[742] LOWEST LOCATION IN PAGE0
OR PAGE 1?
1) JRST XCMPRJ ;[742] NO,
****
2)54 ;**;[1134] Replace @ XCMPRS+9L JNG 30-Jan-79
2) ;**;[1134] This edit will not appear in any future release of LI
NK
2) ;**;[1134] This problem has been fixed in a different way by edi
t 1132
2) ;**;[1134] This edit is solely to avoid having to install all of
edit 1132
2) SKIPE LW.S1 ;[1134] IS JOBDAT IN THE LC OR D
Y AREAS?
2) JRST XCMPRJ ;[742] NO,
**************
1)55 HRLI T1,-.JBDA+1 ;[732]
1) OUT DC,T1 ;OUTPUT PAGE 0
****
2)55 ;**;[1134] Change @ XCMPRJ+2L JNG 30-Jan-79
2) HRLI T1,-.JBDA ;[1134]
2) OUT DC,T1 ;OUTPUT PAGE 0
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 261
PCO Log Report
*********************
*PCO #:10-LINK -256*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) TESTED IN 4A(1134)
[Date Entered] 31-JAN-79
[Programmer] D. NEFF
[Routines] LNKLOD
[Key Words] LOST DATA
[Source Before Edit] %4A (001134)
[Source After Edit] %4A (001135)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26792
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 262
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK may lose up to 17 words of data in the program, replacing them
with zeros, if all of the following conditions are met:
1. The block of data being loaded crosses a page boundary in
the loaded program's address space
2. Data has already been loaded at higher addresses in the
same segment
3. The segment is paging to disk
**********
[DIAGNOSIS]
When the above conditions are true, LINK's window into the overflow
file for the segment can become only one page long. In this case,
an optimization made by edit 716 causes LINK not to expand the
window, but just to leave it alone.
Those words in the block following the page 263undary are then
stored past the end of LINK's window and lost.
**********
[CURE]
Change the optimization check to require the window to be at least
two pages long if the request crosses a page boundary.
Digital Equipment Corporation 28-AUG-79 Page 264
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1937 30-Jan-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1640 31-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 30-Jan-7
9
1) ;COPYRIGHT (C) 1973, 1978, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 31-Jan-7
9
2) ;COPYRIGHT (C) 1973, 1978, 1979 BY
**************
1)1 DECEVR==1134 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1135 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1135 DZN 31-Jan-79 SPR 10-26792
2) ; Force PG.SU to expand anyway if a request crosses a page
boundary
2) ; and the window is not at least two pages long.
2) ; Routine: LNKLOD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 265
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 0835 30-Jan-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1336 31-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 30-Jan-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 31-Jan-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1 ;COPYRIGHT (C) 1973, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1 DECEVR==1132 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1135 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1135 Make PG.SU expand anyway if request crosses page and win
dow only a page.
2)5 SUBTTL LOAD CONTROL
**************
1)11 ;HERE TO MOVE WINDOW UP IN CORE
1) ;DUMP LOWER PART OF WINDOW, BLT DOWN AND READ IN TOP PART
1) ;THIS PART IS MOST LIKELY ZERO
1) PG.SU: CAMG P2,TAB.HB(R) ;[716] THE HIGH ADDR ALREADY OUT
ON DISK?
1) JRST PG.SD ;[716] YES, DON'T BOTHER TO EXPA
ND
1) PUSHJ P,FR.CNT## ;SEE HOW MUCH FREE SPACE WE HAVE
1) ADD T1,UW.S0(R) ;IF WE GIVE IT ALL TO THIS AREA
****
2)11 ;HERE TO MOVE THE WINDOW UP IN MEMORY. IF NECESSARY, DUMP THE LO
WER PART OF THE
2) ;WINDOW AND MOVE DOWN THE REST. THEN EXPAND THE END OF THE WINDO
W IF NECESSARY
2) ;AND READ IN THE UPPER PART WHICH IS USUALLY ZERO. TRY TO KEEP T
HE SIZE OF THE
2) ;WINDOW REASONABLE AS A FIRST APPROXIMATION.
2) PG.SU: MOVE T1,P2 ;[1135] SEE IF REQUEST CROSSES A
PAGE BOUNDARY
2) XOR T1,P3 ;[1135] ..
2) TXNN T1,^-<.IPS-1> ;[1135] ..
Digital Equipment Corporation 28-AUG-79 Page 266
PCO Log Report
2) JRST PG.SU1 ;[1135] NO--NO SWEAT
2) MOVE T1,TAB.AB(R) ;[1135] YES--THEN MAKE SURE AT L
EAST 2 PAGES
2) SUB T1,TAB.LB(R) ;[1135] IN THE WINDOW
2) CAIGE T1,.IPS ;[1135] ..
2) JRST PG.SU2 ;[1135] ONLY 1 PAGE--MUST EXPAND
2) PG.SU1: CAMG P2,TAB.HB(R) ;[1135] THE HIGH ADDR ALREADY OU
T ON DISK?
2) JRST PG.SD ;[716] YES, DON'T BOTHER TO EXPA
ND
2) PG.SU2: PUSHJ P,FR.CNT## ;[1135] SEE HOW MUCH FREE SPACE
WE HAVE
2) ADD T1,UW.S0(R) ;IF WE GIVE IT ALL TO THIS AREA
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 267
PCO Log Report
*********************
*PCO #:10-LINK -257*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 31-JAN-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] I/O TO UNA /SAVE EDIT 1132
[Source Before Edit] %4A (001135)
[Source After Edit] %4A (001136)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26518
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 268
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can get an I/O to unassigned channel error while
writing an EXE file. This will happen if the last word of
either the low or high segment (counting the symbol table if
one is loaded) falls on the last word of a page, and if the
program being loaded is not so large that LINK needs to page
that segment to disk.
**********
[DIAGNOSIS]
When LINK finishes writing its current segment window
into the EXE file, it tests to see if it has just finished
with the segment, and if not, assumes that the segment is
paging and calls the paging routines to advance the window
to the next piece of the segment. Unfortunately, the check
to see if the segment is finished is off by one, so if the
segment ends on the last word of a page, LINK will
erroneously think that it has not yet finished with the
segment, and call the paging routines to advance the window.
If LINK is not paging, this will lead to an I/O to
unassigned channel error, since the overflow files have not
been opened.
**********
[CURE]
Correct the test for end of segment, as shown in the
attached FILCOM.
Note that this edit is an extract of part of edit 1132,
and has been made solely to prevent sites from having to
install all of edit 1132 just to fix this problem. This
edit will not appear in the next release of LINK, since edit
1132 will be present instead.
Digital Equipment Corporation 28-AUG-79 Page 269
PCO Log Report
Digital Equipment Corporation 28-AUG-79 Page 270
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507,4] created: 1904 01-Mar-1978
File 2) LINK:LNKHST.MAC[30,3737] created: 1633 31-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 27-FEB-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 31-Jan-7
9
2) ;COPYRIGHT (C) 1973, 1978 BY
**************
1)1 DECEVR==765 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1136 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;1136 JNG 31-Jan-79 SPR 10-26518
2) ; Avoid IO to unassigned channel in LNKXIT while writing a
n EXE file
2) ; if segment ends on last word of a page and LINK is not p
aging to disk.
2) ; This edit is an extract of part of edit 1132.
2) ; Routine: LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 271
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507,4] created: 1503 03-Mar-1978
File 2) LINK:LNKXIT.MAC[30,3737] created: 1528 31-Jan-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 31-Jan-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1136 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1136 Avoid IO to unassigned channel if segment ends on last w
ord of page.
2)5 SUBTTL ENTER HERE
**************
1)56 CAMLE P3,HC.S0(R) ;FINISHED?
1) JRST [PUSHJ P,XCMPRD ;NO, WRITE IT OUT
****
2)56 ;**;[1136] Change @ XCMPR4+5L JNG 31-Jan-79
2) ;**;[1136] This edit will not appear in the next release of LINK
.
2) ;**;[1136] It is just a small patch to avoid having to install e
dit 1132.
2) CAML P3,HC.S0(R) ;[1136] FINISHED?
2) JRST [PUSHJ P,XCMPRD ;NO, WRITE IT OUT
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 272
PCO Log Report
*********************
*PCO #:10-LINK -259*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 01-FEB-79
[Programmer] GILBERT
[Routines] LNKOLD
[Key Words] PSECTS LOST CODE BLOCK 24
[Source Before Edit] %4A (001136)
[Source After Edit] %4A (001137)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 273
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When loading a module containing mixed low segment and
PSECT code, LINK will lose any low segment code appearing in
the source file before the first PSECT code.
**********
[DIAGNOSIS]
A set of REL blocks (type 24) appear early in a PSECT
REL file to describe all of the PSECTs appearing in the
module. Unfortunately, one of the things LINK does when it
sees a REL block type 24 is perform a set default PSECT
action, as if it had seen a REL block type 22. If the first
code (REL block type 1) appearing in the REL file does not
load into a PSECT, and thus is not preceded by a set
default PSECT block, then LINK will end up loading it into
whatever PSECT was described by the last REL block type 24
seen. The loaded code will then be overwritten when the
code that really belongs in that PSECT is loaded.
**********
[CURE]
Change the processing of REL block type 24 to not
change LINK's default load PSECT (RC.CUR), as shown in the
attached FILCOM.
Digital Equipment Corporation 28-AUG-79 Page 274
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1627 31-Jan-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1803 01-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 31-Jan-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-Feb-79
2)
**************
1)1 DECEVR==1136 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1137 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1137 JNG 1-Feb-79 SPR 20-12411
2) ; Don't change RC.CUR in T.24. Also set default PSECT nam
e to left-
2) ; justified .LOW. (not right-justified) if name not given
in block.
2) ; Routine: LNKOLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 275
PCO Log Report
[FILCOM]
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 30-Jan-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 1-Feb-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1132 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1137 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)5 COMMENT \
****
2)4 ;1137 Don't change RC.CUR in T.24.
2)5 COMMENT \
**************
1)101 IN ADDITION IT ESTABLISHES THE PSECT ORDERING FOR
1) THE POLISH FIXUPS TO FOLLOW
1) *
1) T.24: PUSHJ P,RB.2 ;PSECT NAME
1) JRST [MOVEI T1,24
1) JRST ILIERR]
1) MOVE W3,W1 ;ATTRIBUTE IN W3
1) HRRZM W1,RC.CUR ;GET PSECT INDEX(IT'S ONE LESS,
AOS LATER)
1) JUMPE W2,[MOVE W2,['.LOW.'] ;BLANK PSECT
1) SETZB W1,RC.CUR ;SHOULD BE AT SL
OT 1
1) JRST T.24A]
1) JUMPL W3,[ SETZ W1, ;JUMP IF RELOCATABLE PSE
CT AND
1) JRST T.24A] ;ZERO ORIGIN AND JUMP
1) PUSHJ P,RB.1 ;GET ORIGIN
1) JRST [MOVEI T1,24
1) JRST ILIERR] ;ERROR
1) T.24A: AOS RC.CUR ;GOES IN NEXT SLOT
1) MOVE R,RC.NO ;START AT BACK OF TABLE
1) MOVE T1,@RC.TB ;GET RC BLOCK
1) CAMN W2,RC.NM(T1) ;IS THIS THE ONE WE WANT?
1) JRST [TXZ W1,AT.RP ;FOUND IT, MUST HAVE ORI
G ALREADY
1) IORM W1,RC.AT(T1) ;UPDATE ATTRIBUTES
1) JRST T.24B] ;GO CHECK ORDERING
1) SOJG R,.-3 ;NO, TRY AGAIN
1) EXCH W1,W3 ;.SET0 WANTS ORIGIN IN W3
1) PUSHJ P,.SET0## ;GO CREATE A NEW RELOCATION COUN
TER
Digital Equipment Corporation 28-AUG-79 Page 276
PCO Log Report
1) MOVE R,RC.NO ;GET RELOCATION COUNTER NUMBER
1) T.24B: CAMN R,RC.CUR ;WHERE IT SHOULD BE?
1) JRST LOAD## ;YES
1) MOVE T1,@RC.TB ;NO, GET RC BLOCK
1) EXCH R,RC.CUR ;WHERE IT SHOULD BE
1) EXCH T1,@RC.TB ;PUT IT THERE
1) EXCH R,RC.CUR ;PUT RC.CUR BACK
1) MOVEM T1,@RC.TB ;AND OUT OF PLACE BLOCK
****
2)101 *
2) T.24: PUSHJ P,RB.2 ;PSECT NAME
2) ;**;[1137] Replace @ T.24+1L JNG 1-Feb-79
2) ;**;[1137] This edit replaces the T.24 portion of edit 1132 if i
nstalled.
2) JRST ILIERR ;[1137] BLOCK TOO SHORT
2) ;**;[1137] Install the next line ONLY if edit 1132 has been inst
alled.
2) TXO W1,AT.PS ;[1137] REMEMBER THIS PSECT SEEN
IN THIS MODULE
2) HLLZ W3,W1 ;[1137] SAVE ATTRIBUTES IN W3
2) MOVEI P1,1(W1) ;[1137] SAVE LINK'S PSECT INDEX
IN P1
2) SETZ W1, ;[1137] ASSUME PSECT ORIGIN IS Z
ERO
2) JUMPN W2,T.24A ;[1137] IF NAME SPECIFIED, GO CH
ECK ORIGIN
2) MOVEI P1,1 ;[1137] DEFAULT PSECT IS AT SLOT
1
2) MOVE W2,['.LOW. '] ;[1137] AND ITS NAME IS .LOW.
2) JRST T.24B ;[1137] GO SEE IF ITS ORIGIN IS
CORRECT
2) T.24A: JUMPL W3,T.24B ;[1137] IF NO ORIGIN GIVEN, DON'
T TRY TO GET IT
2) PUSHJ P,RB.1 ;[1137] GET ORIGIN FROM THE REL
FILE
2) JRST ILIERR ;[1137] NOT THERE?
2) T.24B: MOVE R,RC.NO ;[1137] LOOP OVER ALL RC BLOCKS
2) T.24C: MOVE T1,@RC.TB ;[1137] RC BLOCK WHERE THIS PSEC
T MIGHT BE
2) CAME W2,RC.NM(T1) ;[1137] IS IT HERE?
2) SOJG R,T.24C ;[1137] NO, LOOP OVER ALL PSECTS
2) JUMPE R,T.24D ;[1137] IF NOT FOUND, INSERT A N
EW RC BLOCK
2) TXZ W3,AT.RP ;[1137] WE FOUND IT, SO ALREADY
HAVE ORIGIN
2) ;***** SHOULD CHECK HERE FOR CONFLICTING PSECT PROPERTIES *****
2) IORM W3,RC.AT(T1) ;[1137] ACCUMULATE ATTRIBUTES
2) JRST T.24E ;[1137] MAKE SURE IT'S WHERE WE
EXPECT IT
Digital Equipment Corporation 28-AUG-79 Page 277
PCO Log Report
2)102 T.24D: EXCH W1,W3 ;[1137] SET ACS FOR .SET0
2) PUSHJ P,.SET0## ;[1137] SET UP A NEW RC BLOCK
2) MOVE R,RC.NO ;[1137] ITS INDEX IS THE LAST PS
ECT
2) T.24E: CAMN P1,R ;[1137] IS THE RC BLOCK IN THE R
IGHT PLACE?
2) JRST LOAD## ;[1137] YES, DONE
2) MOVE T1,@RC.TB ;[1137] RC BLOCK OF THIS PSECT
2) EXCH R,P1 ;[1137] POINT TO RC BLOCK IN THE
WAY
2) EXCH T1,@RC.TB ;[1137] PUT OUR RC BLOCK WHERE I
T BELONGS
2) EXCH R,P1 ;[1137] BACK TO WHERE OUR PSECT
USED TO BE
2) MOVEM T1,@RC.TB ;AND OUT OF PLACE BLOCK
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 278
PCO Log Report
*********************
*PCO #:10-LINK -260*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 06-FEB-79
[Programmer] GILBERT
[Routines] LNKOLD
[Key Words] LSTSYM ILL MEM RE FORTRAN
[Source Before Edit] %4A (001137)
[Source After Edit] %4A (001140)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26410
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 279
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can get an illegal memory reference when loading a
FORTRAN program. This can happen if the FORTRAN program has
a data element in a COMMON block and an ENTRY of the same
name, and if the program is being loaded without local
symbols (default on TOPS-10).
**********
[DIAGNOSIS]
In this case, FORTRAN generates three adjacent RADIX-50
symbols in a REL block type two in the REL file: a global
definition for the ENTRY name, a local definition for the
COMMON data element name, and an external request that adds
the base of the COMMON block to the previous symbol, namely
the COMMON data element name. When LINK sees the external
request, it checks to see if the symbol it is trying to fix
up is the same as the last symbol loaded, and if so,
processes the fixup.
Unfortunately, when LINK is not loading locals, the
last symbol loaded when the external request is seen is the
global definition for the ENTRY name. Since this symbol has
the same name as the object symbol of the external request,
LINK thinks all is OK and adds the base of the COMMON block
to the value of the entry name. It then gets an illegal
memory reference when attempting to track down all
references to the symbol it just defined and fix them up.
**********
[CURE]
When not loading locals, clear the pointer to the last
symbol loaded every time a local is skipped, so any
following symbol fixups will be ignored.
Digital Equipment Corporation 28-AUG-79 Page 280
PCO Log Report
Digital Equipment Corporation 28-AUG-79 Page 281
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1803 01-Feb-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1520 06-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-Feb-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 6-Feb-79
2)
**************
1)1 DECEVR==1137 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1140 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1140 JNG 6-Feb-79 SPR 10-26410
2) ; Clear LSTSYM when a non-loaded local is encountered.
2) ; Routine: LNKOLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 282
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1827 01-Feb-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1523 06-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 1-Feb-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 6-Feb-79
2)
**************
1)1 DECEVR==1137 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1140 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1140 Clear LSTSYM if a non-loaded local is encountered.
2)
**************
1)25 TRNN FL,R.SYM ;IN LOCAL SYMBOL MODE
****
2)25 ;**;[1140] Change @ SY.LS+1L JNG 6-Feb-79
2) SETZM LSTSYM ;[1140] IN CASE WE DON'T LOAD TH
IS SYMBOL
2) TRNN FL,R.SYM ;IN LOCAL SYMBOL MODE
**************
1)25
1)26 SUBTTL BLOCK TYPE 2 - LOCAL BLOCK HEADER (FAIL)
****
2)26 SUBTTL BLOCK TYPE 2 - LOCAL BLOCK HEADER (FAIL)
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 283
PCO Log Report
*********************
*PCO #:10-LINK -261*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 15-FEB-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] BIG EXE LOWLOC EDIT 1132
[Source Before Edit] %4A (001140)
[Source After Edit] %4A (001141)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-26290
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 284
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
After edit 767 is installed, LINK can write EXE files
that contain extra pages after the end of the low segment.
This can only happen if the lowest location loaded is at
400000 or higher, e.g. if PSECTs are being used.
**********
[DIAGNOSIS]
The EXE file writer writes out the entire area
containing the low segment, on the assumption that the area
contains only enough room to hold the segment. If the
lowest location loaded is above 400000, however, the low
segment area can end up being larger than the minimum
necessary to hold the segment.
**********
[CURE]
Move the EXE file writer's check for end of segment to
before the check for end of segment area.
This edit is an extract of part of edit 1132, and has
been made only to keep users who wish to fix this particular
problem from having to install all of edit 1132. This edit
will not be present in any future release of LINK, since
edit 1132 will be present instead. Note also that this edit
supercedes edit 1136 (another extract of edit 1132), which
should be removed if it has been installed prior to
installing this edit.
Digital Equipment Corporation 28-AUG-79 Page 285
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1520 06-Feb-1979
File 2) DSKC:LNKHST.MAC[30,3737] created: 1709 15-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 6-Feb-79
1) ;COPYRIGHT (C) 1973, 1978, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-Feb-7
9
2) ;COPYRIGHT (C) 1973, 1978, 1979 BY
**************
1)1 DECEVR==1140 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1141 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1141 JNG 15-Feb-79 SPR 10-26290
2) ; Make the EXE file writer stop writing when it passes the
size
2) ; of the user program, instead of writing the entire LC ar
ea.
2) ; This edit supercedes edit 1136 and is an extract of edit
1132.
2) ; Routine: LNKXIT
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 286
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507,4] created: 1503 03-Mar-1978
File 2) DSKC:LNKXIT.MAC[30,3737] created: 1703 15-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 15-Feb-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1141 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1141 Don't make EXE file too big if LC area is larger than ne
cessary.
2)5 SUBTTL ENTER HERE
**************
1)56 MOVEI T3,1(T1) ;ADDRESS ONLY
1) CAMG T3,TAB.AB(R) ;NEXT PAGE IN CORE
1) JRST XCMPR1 ;YES
1) CAMLE P3,HC.S0(R) ;FINISHED?
1) JRST [PUSHJ P,XCMPRD ;NO, WRITE IT OUT
1) JRST XCMPRH] ;TRY HIGH SEG
1) MOVE T3,TAB.AB(R) ;
****
2)56 ;**;[1141] Move up from below @ XCMPR4+2L JNG 15-Feb-7
9
2) ;**;[1141] This edit will not appear in the next release of LINK
.
2) ;**;[1141] It is just an extract of part of edit 1132, to avoid
having
2) ;**;[1141] to install that entire edit. It also supercedes edit
1136,
2) ;**;[1141] (another extract of edit 1132), which should be remov
ed if installed.
2) CAML P3,HC.S0(R) ;[1141] FINISHED?
2) JRST [PUSHJ P,XCMPRD ;[1141] NO, WRITE IT OUT
2) JRST XCMPRH] ;[1141] TRY HIGH SEG
2) MOVEI T3,1(T1) ;ADDRESS ONLY
2) CAMG T3,TAB.AB(R) ;NEXT PAGE IN CORE
2) JRST XCMPR1 ;YES
2) MOVE T3,TAB.AB(R) ;
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 287
PCO Log Report
*********************
*PCO #:10-LINK -262*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) + EDIT 1132
[Date Entered] 16-FEB-79
[Programmer] GILBERT
[Routines] LNKWLD
[Key Words] /SET:.HIGH EDIT 1132
[Source Before Edit] %4A (001141)
[Source After Edit] %4A (001142)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 288
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Various, including looping, losing the runtime symbol
table, and writing a very large overflow file. This will
only happen if a /SET:.HIGH. switch is used after a high
segment already exists to change the current value of the
high segment relocation counter, and only if edit 1132 has
been installed.
**********
[DIAGNOSIS]
An error in edit 1132 caused the high segment
relocation counter to be pointed to the low segment if a
/SET switch is ever used to change its value. This confuses
the rest of LINK tremendously, leading to various errors.
**********
[CURE]
Never cause the high segment relocation counter to
point to the low segment.
Digital Equipment Corporation 28-AUG-79 Page 289
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1709 15-Feb-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1141 16-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-Feb-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 16-Feb-7
9
2)
**************
1)1 DECEVR==1141 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1142 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1142 JNG 16-Feb-79
2) ; Fix problems with multiple /SET:.HIGH.s introduced by ed
it 1132.
2) ; Routine: LNKWLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 290
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 0834 30-Jan-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1136 16-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 30-Jan-7
9
1)
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 16-Feb-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1132 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1142 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1142 Fix problems with /SET introduced by edit 1132.
2)
**************
1)40 SET3: ADDI R,1 ;[1132] NOT THERE - INSERT IN NE
XT FREE SLOT
1) PUSHJ P,.SAVE4## ;[714] SAVE P1-P4
1) MOVX W1,PT.SGN!PT.SYM ;[714] SET FLAGS
****
2)40 ;**;[1142] Move label down @ SET3 JNG 16-Feb-79
2) ADDI R,1 ;[1142] NOT THERE - INSERT IN NE
XT FREE SLOT
2) SET3: PUSHJ P,.SAVE4## ;[1142] SAVE P1-P4
2) MOVX W1,PT.SGN!PT.SYM ;[714] SET FLAGS
**************
1)40 SET4: MOVEI T1,1 ;[1132] ALL PSECTS ARE IN THE LC
AREA
1) MOVEM T1,RC.SG(R) ;[1132] SEGMENT NUMBER
1) EXCH R,T1 ;SWAP, PUT SEG # IN R
****
2)40 ;**;[1142] Move label down @ SET4 JNG 16-Feb-79
2) MOVEI T1,1 ;[1142] ALL PSECTS ARE IN THE LC
AREA
2) MOVEM T1,RC.SG(R) ;[1132] SEGMENT NUMBER
2) SET4: MOVE T1,RC.SG(R) ;[1142] FETCH SEGMENT NUMBER
2) EXCH R,T1 ;SWAP, PUT SEG # IN R
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 291
PCO Log Report
*********************
*PCO #:10-LINK -263*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 16-FEB-79
[Programmer] GILBERT
[Routines] LNKLOD
[Key Words] BAD RST /NOINIT /SET
[Source Before Edit] %4A (001142)
[Source After Edit] %4A (001143)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 292
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The runtime symbol table can end with a symbol name
rather than a module name. This happens if the user types
/NOINITIAL and then some switch that defines a symbol (such
as /SET or /COMMON) before loading anything.
**********
[DIAGNOSIS]
In this case, the switch processing routines add the
symbols to the LS area before JOBDAT or any other module has
been loaded. When the LS area is scanned backwards to build
the runtime symbol table, the last thing seen is a symbol
rather than a module name.
**********
[CURE]
If LS.ADD is called to insert a symbol before any
module names have appeared, generate a fake module name
using the name of the symbol being inserted.
Digital Equipment Corporation 28-AUG-79 Page 293
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1141 16-Feb-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1507 16-Feb-1979
1)1 DECEVR==1142 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1143 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1143 JNG 16-Feb-79 QAR CKS
2) ; Make sure symbols never get into the LS area before a mo
dule name.
2) ; If they try (/NOINITIAL/SET), dummy up a module name fro
m the symbol.
2) ; Routine: LNKLOD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 294
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1336 31-Jan-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1457 16-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 31-Jan-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 16-Feb-7
9
2)
**************
1)1 DECEVR==1135 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1143 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1143 Fake a module name if LS.ADD called with a symbol before
a module seen.
2)
**************
1)24 LS.ADD::MOVE T1,LSYM ;GET SYMBOL TABLE POINTER
1) HRRM T1,LSTSYM ;STORE REL POINTER TO NEXT SYMBO
L
****
2)24 ;**;[1143] Insert @ LS.ADD JNG 16-Feb-79
2) LS.ADD::SKIPN @GS.LB ;[1143] USER TYPE /NOINITIAL?
2) PUSHJ P,LS.CHK ;[1143] YES, SEE IF NEED A DUMMY
MODULE NAME
2) LSADD: MOVE T1,LSYM ;[1143] GET SYMBOL TABLE POINTER
2) HRRM T1,LSTSYM ;STORE REL POINTER TO NEXT SYMBO
L
**************
1)25 LS.ADE::MOVE T1,LSYM ;SYMBOL TABLE PTR.
1) HRRM T1,LSTSYM ;REL PTR. TO NEXT SYMBOL
****
2)25 ;**;[1143] Insert @ LS.ADE JNG 16-Feb-79
2) LS.ADE::SKIPN @GS.LB ;[1143] USER TYPE /NOINITIAL?
2) PUSHJ P,LS.CHK ;[1143] YES, SEE IF NEED TO FAKE
A MODULE NAME
2) MOVE T1,LSYM ;SYMBOL TABLE PTR.
2) HRRM T1,LSTSYM ;REL PTR. TO NEXT SYMBOL
**************
1)26 SUBTTL GLOBAL SYMBOL STORE
****
2)25
2) ;HERE IF USER TYPED /NOINITIAL. IF USER TYPES /SET, /COMMON, ET
C. BEFORE
Digital Equipment Corporation 28-AUG-79 Page 295
PCO Log Report
2) ;LOADING ANYTHING, THEN WE NEED TO INSERT A MODULE NAME SO SYMBO
LS WILL
2) ;NOT OCCUR OUTSIDE OF A MODULE. USE THE SYMBOL NAME FOR THE MOD
ULE NAME.
2)
2) ;**;[1143] Insert @ LS.ADE+14L JNG 16-Feb-79
2) LS.CHK: MOVE T1,LSYM ;[1143] GET SIZE OF LS AREA SO F
AR
2) CAIN T1,1 ;[1143] EMPTY?
2) TXNN W1,PT.SYM ;[1143] YES, BUT IS THIS A SYMBO
L?
2) POPJ P, ;[1143] NO, NOT THE SPECIAL CASE
2) MOVEM T1,NAMPTR ;[1143] CREATING A NEW MODULE
2) AOS PRGNO ;[1143] REMEMBER ONE MORE
2) SPUSH <W1,W3,T2> ;[1143] SAVE CALLER'S ARGS
2) MOVX W1,PT.SGN!PT.TTL ;[1143] THIS IS A TITLE
2) SETZ W3, ;[1143] NO PREVIOUS PTR
2) PUSHJ P,LSADD ;[1143] INSERT IN LS AREA
2) SPOP <T2,W3,W1> ;[1143] RESTORE ACS
2) SETZM LSTSYM ;[1143] SINCE NOT REALLY A SYMBO
L
2) POPJ P, ;[1143] RETURN TO LS.ADD OR LS.A
DE
2)
2)26 SUBTTL GLOBAL SYMBOL STORE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 296
PCO Log Report
*********************
*PCO #:20-LINK -011*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 19-FEB-79
[Programmer] D. NEFF
[Routines] LNKERR LNKLOG LNKPAR LNKXIT
[Key Words] KIL PA1050
[Source Before Edit] %4A (001143)
[Source After Edit] %4A (001144)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:20-12473
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 297
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If LINK must run the loaded program from an .EXE file (either too
large or /SAVE/EXECUTE specified), PA1050 is left in memory even
though the loaded program does not use TOPS-10 UUOs.
**********
[DIAGNOSIS]
PA1050's simulation of the RUN UUO does not clear away PA1050
itself, under the assumption that pages 700 and up do not matter to
user programs.
**********
[CURE]
Rewrite LINK's run code to not use the RUN UUO, but to do the work
itself. Unmap all of memory unless /DEBUG:DDT is specified, in
which case do not unmap UDDT.
Note that since universal files are changed as a result of this
edit, all of the LINK sources must be recompiled following
installation of the edit.
Digital Equipment Corporation 28-AUG-79 Page 298
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1507 16-Feb-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 2053 17-Feb-1979
1)1 DECEVR==1143 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1144 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1144 DZN 16-Feb-79 SPR 20-12473
2) ; Clean up code to run the .EXE file so that PA1050 is not
left in
2) ; memory on TOPS-20, and so that more of the final message
s use .ERR.
2) ; instead of OUTSTRs.
2) ; Routines: LNKERR, LNKLOG, LNKLOW, LNKPAR, LNKWLD, LNKXIT
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 299
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 0833 30-Jan-1979
File 2) LINK:LNKPAR.MAC[10,645063] created: 0052 17-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 30-Jan-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 16-Feb-7
9
2)
**************
1)1 DECEVR==1132 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1144 ;DEC EDIT VERSION
2)
**************
1)5
****
2)5 ;1144 Juggle fields in .ERR. and .ETC. words to get more flags
, add .EN.
2)
**************
1)12
1)
1)13 ;FIXUP TYPES
****
2)13 ;FIXUP TYPES
**************
1)16
1)17 SUBTTL PROTOTYPE SCAN BLOCK
****
2)17 SUBTTL PROTOTYPE SCAN BLOCK
**************
1)17
1)18 SUBTTL PROTOTYPE DATA BLOCK
****
2)18 SUBTTL PROTOTYPE DATA BLOCK
**************
1)26
1)27 ;MACRO TO INITIALIZE REL FILE INPUT IN LNKNEW
****
2)27 ;MACRO TO INITIALIZE REL FILE INPUT IN LNKNEW
**************
1)28 ;.ERR. MACRO GENERATES USUAL CALLS TO ERROR/LOG MODULE
1) ;GENERAL FORM IS .ERR. (TYP,FLG,VER,LVL,SEV,CODE,TXT)
1) ;TYP IS OFFSET TO LOG/ERROR ENTRY
1) ;FLG IS SOME FLAGS FOR SPECIAL CASES, SUCH AS
1) ; .EP CODE IS POINTER TO ERROR WORD
1) ; .EC ERROR OUTPUT IS CONTINUED
Digital Equipment Corporation 28-AUG-79 Page 300
PCO Log Report
1) ; .EE ERROR MAY BE EDITED AND JOB CONTINUE
1) ; .EB PRINT BLANK LINE IN LOG AFTER THIS MESSA
GE
1)
1) ;VER IS VERBOSITY LEVEL (NOT USED YET)
1) ;LVL IS ASSIGNED TYPE-OUT LEVEL
1) ;SEV IS ASSIGNED SEVERITY LEVEL
1) ;CODE IS ASSIGNED MESSAGE NMEMONIC
1) ;TXT IS TEXT OF MESSAGE
1)
1) DEFINE .ERR. (TYP,FLG,VER,LVL,SEV,CODE,TXT)<
1) IFL L%MAX-LVL,<LVL=L%MAX>
1) %LVL==LVL-.LVL
1) IFGE %LVL,<
1) IFL V%MAX-VER,<VER=V%MAX>
1) IFL S%MAX-SEV,<SEV=S%MAX>
1) IFNB <TYP>,<
1) ERRUUO ER%'TYP
1) >
1) IFNB <CODE>,<
1) IFNB <TXT>,<
1) EXP <FLG>+<VER>B<B%VER>+<SEV>B<B%SEV>+<LVL>B<B%LVL>+<[.ER'COD
E::ASCIZ \CODE \
1)
ASCIZ \TXT\]>>
1) IFB <TXT>,<
1) IF2,<
1) IFNDEF .ER'CODE,<EXTERN .ER'CODE>
1) >
1) EXP <FLG>+<VER>B<B%VER>+<SEV>B<B%SEV>+<LVL>B<B%LVL>+<.ER'CODE
>>
1) >
1) IFB <CODE>,<
1) EXP <FLG>+<VER>B<B%VER>+<SEV>B<B%SEV>+<LVL>B<B%LVL>+<[ ASCIZ
\TXT\]>>
1) >
****
2)28 ;**;[1144] Replace .ERR. macro DZN 16-Feb-79
2) ;.ERR. MACRO GENERATES USUAL CALLS TO ERROR/LOG MODULE. GENERAL
FORM IS:
2) ;
2) ; .ERR. (TYP,FLG,VER,LVL,SEV,CODE,TXT)
2) ; .ETC. (TYP,FLG,,,,CODE,TXT)
2) ; ...
2) ;
2) ;TYP TYPE OF ERROR, USED AS DISPATCH, ONE OF:
2) ; MS PRINTS SELF-EXPLANATORY MESSAGE
2) ; LRE LOOKUP/RENAME/ENTER ERROR, I/O CHANNEL ON STACK,
PRINTS REASON
Digital Equipment Corporation 28-AUG-79 Page 301
PCO Log Report
2) ; AND FILE
2) ; I INIT/OPEN ERROR, I/O CHANNEL ON STACK, PRINTS DE
VICE
2) ; ST I/O ERROR, CHANNEL ON STACK, PRINTS STATUS AND F
ILE
2) ;FLG LOGICAL 'OR' OF SPECIAL CASE FLAGS, SUCH AS:
2) ; .EP CODE IS POINTER TO ERROR WORD
2) ; .EC ERROR OUTPUT IS CONTINUED (MORE .ETC.'S COMING)
2) ; .EE ERROR MAY BE EDITED AND JOB CONTINUED
2) ; .EB PRINT BLANK LINE IN LOG AFTER THIS MESSAGE
2) ; .EN .ERR. WITHOUT MESSAGE (JUST CODE)
2) ;VER VERBOSITY LEVEL, ONE OF:
2) ; V%S ONLY PREFIX AVAILABLE (LNKxxx)
2) ; V%M PREFIX AND FIRST LINE AVAILABLE
2) ; V%L PREFIX, FIRST LINE AND LONG EXPLANATION AVAILABL
E
2) ;LVL ASSIGNED TYPE-OUT LEVEL (WHETHER TO PRINT)
2) ;SEV ASSIGNED SEVERITY LEVEL (WHETHER [, % OR ?)
2) ;CODE MESSAGE NMEMONIC (THE xxx IN LNKxxx)
2) ;TXT TEXT OF MESSAGE
2)
2) DEFINE .ERR.(TYP,FLG,VER,LVL,SEV,CODE,TXT)<
2) IFL L%MAX-LVL,<LVL=L%MAX>
2) %LVL==LVL-.LVL
2) IFGE %LVL,<
2) IFL V%MAX-VER,<VER=V%MAX>
2) IFL S%MAX-SEV,<SEV=S%MAX>
2) IFNB <TYP>,<
2) ERRUUO ER%'TYP
2) >
2) IFNB <CODE>,<
2) ..PTR==1 ;;[1144] ASSUME POINTER TO MESSA
GE
2) IFNB <TXT>,<..PTR==0> ;;[1144] TEXT SPECIFIED--NO POIN
TER
2) IFN <<FLG>&.EN>,<..PTR==0>;;[1144] TEXT EXPLICTLY MISSING-
-NO POINTER
2) IFE ..PTR,< ;;[1144] GENERATE TEXT HERE
2) EXP <FLG>+<VER>B<B%VER>+<SEV>B<B%SEV>+<LVL>B<B%LVL>+<^_
2) [
2) .ER'CODE::ASCIZ \CODE \
2) IFE <<FLG>&.EN>,<ASCIZ \TXT\>
2) ]^_
2) >
2) >
2) IFN ..PTR,< ;;[1144] GENERATE POINTER TO MES
SAGE
2) IF2,<
2) IFNDEF .ER'CODE,<EXTERN .ER'CODE>
Digital Equipment Corporation 28-AUG-79 Page 302
PCO Log Report
2) >
2) EXP <FLG>+<VER>B<B%VER>+<SEV>B<B%SEV>+<LVL>B<B%LVL>+<.ER
'CODE>
2) >
2) PURGE ..PTR ;;[1144]
2) >
2) IFB <CODE>,<
2) EXP <FLG>+<VER>B<B%VER>+<SEV>B<B%SEV>+<LVL>B<B%LVL>+<[ ASC
IZ \TXT\]>
2) >
2) >
**************
1)28
1)29 ;CONTINUED ERROR WORDS HAVE SIMILAR FORM
1) ;DIFFERENCES ARE
1) ;TYP IS STORED IN LVL FIELD
1) ;VER IS USUALLY BLANK
1) ;LVL IS USUALLY BLANK
1) ;SEV IS USUALLY BLANK
1) ;CODE IS LOCATION OF ERROR POINTER
1) ;
1)
****
2)29 ;CONTINUED ERROR WORDS HAVE SIMILAR FORM. DIFFERENCES ARE:
2) ;TYP INTERNALLY STORED IN LVL FIELD, ONE OF:
2) ; STR ASCII STRING, TXT IS MESSAGE, OR CODE IS ADDRESS
OF IT
2) ; SBX CODE IS ADDRESS OF SIXBIT WORD
2) ; OCT CODE IS ADDRESS OF OCTAL WORD
2) ; DEC CODE IS ADDRESS OF DECIMAL WORD
2) ; FSP CODE IS I/O CHANNEL, PRINT THE FILE SPEC
2) ; ASC CODE IS ADDRESS OF ASCII CHARACTER
2) ; COR CODE IS ADDRESS OF CORE SIZE, PRINT nK OR nP
2) ; JMP CODE IS ADDRESS OF NEW LIST OF .ETC.'S
2) ;VER BLANK
2) ;LVL BLANK
2) ;SEV BLANK
2) ;CODE SET UP ACCORDING TO TYPE ABOVE
2) ;TXT BLANK, OR ASCII TEXT IF .EP NOT SPECIFIED AND TYP = STR
2)
**************
1)29
1)
1)
1)30 ;DEFINE ALL MAIN ERROR TYPES
****
2)30 ;DEFINE ALL MAIN ERROR TYPES
**************
1)31 ;BIT POSITIONS
Digital Equipment Corporation 28-AUG-79 Page 303
PCO Log Report
1) B%VER==:^D5 ;VERBOSITY FIELD
1) B%SEV==:^D11 ;SEVERITY FIELD
1) B%LVL==:^D17 ;LEVEL FIELD
1)
****
2)31 ;**;[1144] Replace @B%VER-1L DZN 16-Feb-79
2) ; 0 5 67 8 12 13 17 18 35
2) ; !-------------------------------------------------------
!
2) ; ! Flags !VB!SEVERE!LOG LVL ! ADDRESS OF ARGUMENT
!
2) ; !-------------------------------------------------------
!
2)
2) ;FLAGS
2) .EP==1B0 ;[1144] WORD IS A POINTER, **MUST** BE S
IGN BIT
2) .EC==1B1 ;[1144] WORD IS CONTINUED
2) .EE==1B2 ;[1144] ERROR CAN BE EDITED
2) .EB==1B3 ;[1144] PRINT BLANK LINE IN LOG AFTER TH
IS MESSAGE
2) .EN==1B4 ;[1144] .ERR. WITHOUT MESSAGE (JUST CODE
)
2)
2) ;BIT POSITIONS
2) B%VER==:^D7 ;[1144] VERBOSITY FIELD
2) B%SEV==:^D12 ;[1144] SEVERITY FIELD
2) B%LVL==:^D17 ;LEVEL FIELD
2)
2) ;MAXIMUM VALUES
2) V%MAX==:3 ;[1144] VERBOSITY FIELD
2) S%MAX==:37 ;[1144] SEVERITY FIELD
2) L%MAX==:37 ;[1144] LEVEL FIELD
2)
2) ;FIELD POSITIONS
2) F%VER==:<V%MAX>B<B%VER> ;[1144] VERBOSITY FIELD
2) F%SEV==:<S%MAX>B<B%SEV> ;[1144] SEVERITY FIELD
2) F%LVL==:<L%MAX>B<B%LVL> ;[1144] LEVEL FIELD
2)
**************
1)31
1) ;SEVERITY
****
2)31 ;SEVERITY
**************
1)31 ;MAXIMUM VALUES
1) V%MAX==:3
1) L%MAX==:37
1) S%MAX==:37
1)
1) DEFINE LEVELS (ITEM,LEVEL)<
Digital Equipment Corporation 28-AUG-79 Page 304
PCO Log Report
****
2)31 ;**;[1144] Delete @L%F+2L DZN 16-Feb-79
2) DEFINE LEVELS (ITEM,LEVEL)<
**************
1)31 ;FLAGS
1) .EP==1B0 ;WORD IS A POINTER
1) .EC==1B1 ;WORD IS CONTINUED
1) .EE==1B2 ;ERROR CAN BE EDITED
1) .EB==1B3 ;PRINT BLANK LINE IN LOG AFTER THIS MESS
AGE
1)
1) %ENT==1B0 ;ENTER ERROR
****
2)31 ;**;[1144] Delete @.EP-1L DZN 16-Feb-79
2) %ENT==1B0 ;ENTER ERROR
**************
1)32
1)33 DEFINE SWTCHS<
****
2)33 DEFINE SWTCHS<
**************
1)34
1)
1)
1)35 SUBTTL DEFAULT VALUES
****
2)35 SUBTTL DEFAULT VALUES
**************
1)36 \
1)
1)
1)37 SUBTTL PRE-DEFINED KEYWORDS
****
2)37 SUBTTL PRE-DEFINED KEYWORDS
**************
1)39
1)40 SUBTTL OVERLAY TYPE KEY WORDS
****
2)40 SUBTTL OVERLAY TYPE KEY WORDS
**************
1)41
1)41
Digital Equipment Corporation 28-AUG-79 Page 305
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOW.MAC[30,4507] created: 1625 22-Sep-1978
File 2) LINK:LNKLOW.MAC[10,645063] created: 0049 17-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC 22-Sep-78-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 16-Feb-79
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2)
**************
1)1 DECEVR==1120 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1144 ;DEC EDIT VERSION
2)
**************
1)1
1) SALL
****
2)1 SALL
**************
1)2
****
2)2 ;1144 Add DDTMAP to flag that DDT has been mapped in.
2)
**************
1)4
1)
1)5 SUBTTL PAGING DATA
****
2)5 SUBTTL PAGING DATA
**************
1)5
1)6 SUBTTL SYMBOL TABLE DATA
****
2)6 SUBTTL SYMBOL TABLE DATA
**************
1)9
1)10 ;I/O BUFFER HEADERS
****
2)10 ;I/O BUFFER HEADERS
**************
1)11
Digital Equipment Corporation 28-AUG-79 Page 306
PCO Log Report
1)
1)12 ;FULL WORD SWITCHES
****
2)12 ;FULL WORD SWITCHES
**************
1)12 EXECSW::BLOCK 1 ;EXECUTION SWITCH
1) DEBUGSW::BLOCK 1 ;-1 IF START AT .JBDDT
1) DDEBUG::BLOCK 1 ;DEFAULT DEBUGGING AID
1) FORLIB::BLOCK 1 ;EITHER FORSE OR FOROTS
****
2)12 ;**;[1144] Replace @EXECSW DZN 16-Feb-79
2) EXECSW::BLOCK 1 ;[1144] -1,,x IF /EXECUTE, x = A
DDR TO START
2) DEBUGSW::BLOCK 1 ;[1144] -1,,INDEX IF /DEBUG, 0,,
INDEX IF /TEST
2) DDEBUG::BLOCK 1 ;DEFAULT DEBUGGING AID
2) DDTMAP::BLOCK 1 ;[1144] -1 IF DDT HAS BEEN MAPPE
D IN
2) FORLIB::BLOCK 1 ;EITHER FORSE OR FOROTS
**************
1)12
1)
1)13 NEGOFF==:400
****
2)13 NEGOFF==:400
**************
1)13
1)14 SUBTTL PLOT DATA STORAGE
****
2)14 SUBTTL PLOT DATA STORAGE
**************
1)15
1)
1)16 ;DATA REQUIRED FOR OVERLAYS
****
2)16 ;DATA REQUIRED FOR OVERLAYS
**************
Digital Equipment Corporation 28-AUG-79 Page 307
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1309 30-Jan-1979
File 2) LINK:LNKERR.MAC[10,645063] created: 0039 17-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 30-Jan-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 16-Feb-79
2)
**************
1)1 DECEVR==1133 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1144 ;DEC EDIT VERSION
2)
**************
1)1
1)
1)2 SUBTTL REVISION HISTORY
****
2)2 SUBTTL REVISION HISTORY
**************
1)2
****
2)2 ;1144 Add long messages for LNKNSA, LNKDLT, LNKXCT, LNKDEB and
LNKGFE.
2)
**************
1)4
1)
1)
1)5 SUBTTL HASH MACROS
****
2)5 SUBTTL HASH MACROS
**************
1)6
1)7 SUBTTL HASH TABLE
****
2)7 SUBTTL HASH TABLE
**************
1)9 DEB * 1 [name] execution
1) DLT * 1 Execution deleted
****
2)9 DEB * 1 [Debugger] execution
2) DLT * 1 Execution deleted
**************
1)9 GSE 31 31 (Indexed file LOOKUP, ENTER, or RENAME e
rror)
****
2)9 GFE 31 31 GTJFN% JSYS failed for [file]
2) GSE 31 31 (Indexed file LOOKUP, ENTER, or RENAME e
Digital Equipment Corporation 28-AUG-79 Page 308
PCO Log Report
rror)
**************
1)9 XCT * 1 [name] Execution
1) ZSV 8 8 Zero switch value illegal
****
2)9 XCT * 1 [Name] execution
2) ZSV 8 8 Zero switch value illegal
**************
1)10 ;(There is no long text for the DEB message.)
1)
1) ;(There is no long text for the DLT message.)
1)
****
2)10 ;**;[1144] Replace before DNA long message DZN 16-Feb-7
9
2) HASH DEB,0,<^_
2) LINK is beginning program execution at the named debugg
er
2) which you have specified.>
2)
2) HASH DLT,0,<^_
2) Though you have asked for program execution, LINK cann
ot
2) proceed due to earlier fatal compiler or LINK errors.>
2)
**************
1)10 HASH GSE,@
****
2)10 ;**;[1144] Insert before LNKGST long message DZN 16-Feb-7
8
2) HASH GFE,0,<^_
2) While attempting to run your program from the named fil
e,
2) LINK received an error from the monitor. This message
is
2) not expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
2)
2) HASH GSE,@
**************
1)10 ;(There is no long text for the NSA message.)
1)
****
2)10 ;**;[1144] Replace before LNKOAS long message DZN 16-Feb-7
9
2) HASH NSA,0,<^_
Digital Equipment Corporation 28-AUG-79 Page 309
PCO Log Report
2) Your program does not have a starting address. This c
an
2) happen if you neglect to load a main program. Progr
am
2) execution, if requested, will be suppressed unless y
ou
2) specified debugger execution.>
2)
**************
1)10 ;(There is no long text for the XCT message.)
1)
****
2)10 ;**;[1144] Replace before LNKZSV long message DZN 16-Feb-7
9
2) HASH XCT,0,<^_
2) LINK is beginning execution of your program.>
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 310
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOG.MAC[30,4507] created: 1431 01-Mar-1978
File 2) LINK:LNKLOG.MAC[10,645063] created: 0045 17-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG 27-Feb-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 16-Feb-79
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2)
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1144 ;DEC EDIT VERSION
2)
**************
1)1
1)2 SUBTTL REVISION HISTORY
****
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL ENTER HERE FROM LINK-10
1) ;UUO TYPE IS IN AC T1
****
2)2 ;START OF VERSION 4A.
2) ;1144 Support .EN (no message specified with .ETC.).
2)
2)3 SUBTTL ENTER HERE FROM LINK
2) ;UUO TYPE IS IN AC T1
**************
1)4 HRRZ T1,P1 ;ADDRESS OF MESSAGE STRING
****
2)4 ;**;[1144] Insert before ER.MS+4L DZN 16-Feb-79
2) TXNE P1,.EN ;[1144] SEE IF THERE'S A MESSAGE
TO PRINT
2) JRST ERRNXT ;[1144] NO--DON'T PRINT ANYTHING
2) HRRZ T1,P1 ;ADDRESS OF MESSAGE STRING
**************
1)4 LDB T1,BTHPTR ;GET SEVERITY AND VERBOSITY
1) AOS UUOTRAP ;ADVANCE RETURN POINTER
1) MOVE P1,@UUOTRAP ;GET ADDRESS OF OUTPUT INFO
Digital Equipment Corporation 28-AUG-79 Page 311
PCO Log Report
1) DPB T1,BTHPTR ;STORE SEVERITY AGAIN
1) TRNN P1,-1 ;IF ZERO , ITS ON THE STACK
****
2)4 ;**;[1144] Replace @ERRNXT+2L DZN 16-Feb-79
2) LDB T1,VSPTR ;[1144] GET VERBOSITY AND SEVERI
TY
2) AOS UUOTRAP ;ADVANCE RETURN POINTER
2) MOVE P1,@UUOTRAP ;GET ADDRESS OF OUTPUT INFO
2) DPB T1,VSPTR ;[1144] STORE VERBOSITY AND SEVE
RITY AGAIN
2) TRNN P1,-1 ;IF ZERO , ITS ON THE STACK
**************
1)5
1)6 ;HERE WHEN LOG FILE GETS ERROR
****
2)6 ;HERE WHEN LOG FILE GETS ERROR
**************
1)7
1)8 ERXIT: MOVEI T1,FINMES ;TELL USER WE CLOSED FILE
****
2)8 ERXIT: MOVEI T1,FINMES ;TELL USER WE CLOSED FILE
**************
1)8
1)9 NOERR: TXNN P1,.EC ;MORE TO DO?
****
2)9 NOERR: TXNN P1,.EC ;MORE TO DO?
**************
1)10 TLNE P1,(77B<B%SEV>) ;DO WE HAVE SEVERITY?
1) JRST ERLRE2 ;YES
****
2)10 ;**;[1144] Replace @ER.LRE+1L DZN 16-Feb-79
2) TXNE P1,F%SEV ;[1144] DO WE HAVE SEVERITY?
2) JRST ERLRE2 ;YES
**************
1)10 DPB T3,[POINT 12,P1,B%LVL] ;STORE SEV AND LEVEL
1) LDB T3,SEVPTR ;GET SEVERITY
****
2)10 ;**;[1144] Replace @ER.LRE+12L DZN 16-Feb-79
2) DPB T3,SLPTR ;[1144] STORE SEVERITY AND LEVEL
2) LDB T3,SEVPTR ;GET SEVERITY
**************
1)10 TLO P1,(<S%F>B<B%SEV>) ;MARK AS FATAL
1) ERLRE2: PUSHJ P,CHKCHN ;IF EDITABLE, SEE IF FATAL
****
2)10 ;**;[1144] Replace @ER.LRE+17L DZN 16-Feb-79
2) TXO P1,F%SEV ;[1144] MARK AS FATAL
2) ERLRE2: PUSHJ P,CHKCHN ;IF EDITABLE, SEE IF FATAL
**************
1)10 HRRZ T1,P1 ;ADDRESS OF MESSAGE
Digital Equipment Corporation 28-AUG-79 Page 312
PCO Log Report
1) OUTVIA .TSTRG## ;OUTPUT ON TTY AND/OR LOG
1) POP P,T4 ;RESTORE CHAN PLUS FLAGS
1) IFE FTSINGLE,<
****
2)10 ;**;[1144] Insert before ERLRE2+3L DZN 16-Feb-79
2) TXNE P1,.EN ;[1144] SEE IF THERE'S TEXT TO P
RING
2) JRST ERLRE3 ;[1144] NO--DON'T PRINT ANYTHING
2) HRRZ T1,P1 ;ADDRESS OF MESSAGE
2) OUTVIA .TSTRG## ;OUTPUT ON TTY AND/OR LOG
2) ERLRE3: POP P,T4 ;[1144] RESTORE CHAN PLUS FLAGS
2) IFE FTSINGLE,<
**************
1)11 ERLRE3: HRRZ T1,P1 ;POINT TO SCAN BLOCK
1) ERFSPC: OUTVIA .TEBLK ;OUTPUT LOOKUP BLOCK
****
2)11 ;**;[1144] Replace @ERLRE3 DZN 16-Feb-79
2) HRRZ T1,P1 ;[1144] POINT TO SCAN BLOCK
2) ERFSPC: OUTVIA .TEBLK ;OUTPUT LOOKUP BLOCK
**************
1)11
1)
1)12 IFE FTSINGLE,<
****
2)12 IFE FTSINGLE,<
**************
1)13 HRRZ T1,P1 ;GET MESSAGE
1) OUTVIA .TSTRG##
1) POP P,T4 ;GET CHAN#
1) PUSHJ P,CHKCHN ;SETUP CHAN# IF EDITABLE
****
2)13 ;**;[1144] Insert before ER.I+2L DZN 16-Feb-79
2) TXNE P1,.EN ;[1144] ANY MESSAGE TO PRINT?
2) JRST ERI1 ;[1144] NO--DON'T PRINT ANYTHING
2) HRRZ T1,P1 ;GET MESSAGE
2) OUTVIA .TSTRG##
2) ERI1: POP P,T4 ;[1144] GET CHAN#
2) PUSHJ P,CHKCHN ;SETUP CHAN# IF EDITABLE
**************
1)13
1)
1)14 ;STATUS CHECK ERRORS
****
2)14 ;STATUS CHECK ERRORS
**************
1)14 HRRZ T1,P1 ;GET MESSAGE
1) OUTVIA .TSTRG##
1) MOVEI T1,[ASCIZ \ STATUS \]
1) OUTVIA .TSTRG##
Digital Equipment Corporation 28-AUG-79 Page 313
PCO Log Report
****
2)14 ;**;[1144] Replace @ER.ST+2L DZN 16-Feb-79
2) TXNE P1,.EN ;[1144] ANY MESSAGE TO TYPE?
2) JRST ERST1 ;[1144] NO--DON'T PRINT ANYTHING
2) HRRZ T1,P1 ;GET MESSAGE
2) OUTVIA .TSTRG##
2) MOVX T1," " ;[1144] SEPARATE MESSAGE FROM RE
ST
2) OUTVIA .TCHAR## ;[1144] ..
2) ERST1: MOVEI T1,[ASCIZ \Status \] ;[1144]
2) OUTVIA .TSTRG##
**************
1)14 MOVEI T1,[ASCIZ \ FOR \]
1) OUTVIA .TSTRG##
****
2)14 ;**;[1144] Replace @ER.ST+12L DZN 16-Feb-79
2) MOVEI T1,[ASCIZ \for \] ;[1144]
2) OUTVIA .TSTRG##
**************
1)14
1)
1)15 ;INPUT CHAN CHECK
****
2)15 ;INPUT CHAN CHECK
**************
1)16
1)
1)17 ;CORE ARG EITHER K OR P (DECIMAL)
****
2)17 ;CORE ARG EITHER K OR P (DECIMAL)
**************
1)17
1)18 ;RELATIVE POINTER TO TRIPLET(S) IN LS AREA
****
2)18 ;RELATIVE POINTER TO TRIPLET(S) IN LS AREA
**************
1)18
1)19 SUBTTL USEFUL SUBROUTINES
****
2)19 SUBTTL USEFUL SUBROUTINES
**************
1)22
1)
1)23 ;UNSTCK REMOVES TOP DATA ITEM FROM STACK
****
2)23 ;UNSTCK REMOVES TOP DATA ITEM FROM STACK
**************
1)23 VERPTR: POINT 3,P1,B%VER ;VERBOSITY LEVEL
1) SEVPTR: POINT 6,P1,B%SEV ;SEVERITY LEVEL
Digital Equipment Corporation 28-AUG-79 Page 314
PCO Log Report
1) BTHPTR: POINT 9,P1,B%SEV ;SEVERITY AND VERBOSITY
1) LVLPTR: POINT 6,P1,B%LVL ;OUTPUT MESSAGE LEVEL
1)
1)
****
2)23 ;**;[1144] Replace @VERPTR DZN 16-Feb-79
2) VERPTR: POINTR P1,F%VER ;[1144] VERBOSITY LEVEL
2) SEVPTR: POINTR P1,F%SEV ;[1144] SEVERITY LEVEL
2) LVLPTR: POINTR P1,F%LVL ;[1144] OUTPUT MESSAGE LEVEL
2)
2) VSPTR: POINTR P1,<F%VER!F%SEV>;[1144] VERBOSITY AND SEVERITY
2) SLPTR: POINTR P1,<F%SEV!F%LVL>;[1144] SEVERITY AND MESSAGE LEV
EL
2)
**************
1)24
1)25 ;.TSBLK --TYPE GETSEG BLOCK (NOT SAME AS .TFBLK##)
****
2)25 ;.TSBLK --TYPE GETSEG BLOCK (NOT SAME AS .TFBLK##)
**************
1)25
1)26 ;STANDARD ERROR MESSAGES - USED EVERYWHERE
****
2)26 ;STANDARD ERROR MESSAGES - USED EVERYWHERE
**************
1)27
1)27
Digital Equipment Corporation 28-AUG-79 Page 315
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1136 16-Feb-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 2047 17-Feb-1979
1)1 EXTERN LNKFIO,LNKCOR,LNKLOG,LNKMAP
****
2)1 IFN TOPS20,<SEARCH MACSYM,MONSYM>
2) EXTERN LNKFIO,LNKCOR,LNKLOG,LNKMAP
**************
1)1 DECEVR==1142 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1144 ;DEC EDIT VERSION
2)
**************
1)1
1)2 SUBTTL REVISION HISTORY
****
2)2 SUBTTL REVISION HISTORY
**************
1)3
****
2)3 ;1144 Remember if we mapped in DDT as a result of /DEBUG:DDT o
n TOPS-20.
2)
**************
1)4
1)5 ;HERE TO FILL IN DEFAULTS FOR INPUT DEVICE
****
2)5 ;HERE TO FILL IN DEFAULTS FOR INPUT DEVICE
**************
1)12
1)13 ;HERE TO HANDLE SWITCHES
****
2)13 ;HERE TO HANDLE SWITCHES
**************
1)13
1)
1)
1)
1)14 ;HERE TO STORE SWITCHES THAT CAN NOT BE EXECUTED UNTIL FILE IS O
PENED
****
2)14 ;HERE TO STORE SWITCHES THAT CAN NOT BE EXECUTED UNTIL FILE IS O
PENED
**************
1)14
1)
1)15 SUBTTL DISPATCH TABLE FOR SWITCHES
****
2)15 SUBTTL DISPATCH TABLE FOR SWITCHES
Digital Equipment Corporation 28-AUG-79 Page 316
PCO Log Report
**************
1)15
1)16 SUBTTL SWITCH ACTION
****
2)16 SUBTTL SWITCH ACTION
**************
1)16
1)17 IFE TOPS20,<
****
2)17 IFE TOPS20,<
**************
1)17
1)
1)18 %COUNTER:
****
2)18 %COUNTER:
**************
1)19 JRST DDT10X ;SPECIAL FOR TENEX DDT
1) >
****
2)19 ;**;[1144] Replace @DEBUG1+34L DZN 16-Feb-79
2) JRST MAPDDT ;[1144] MAP IN UDDT RIGHT NOW
2) >
**************
1)19
1)20 SPCDDT: SKIPN MNTYPE ;HAVE WE LOADED A MAIN PROGRAM Y
ET?
****
2)20 SPCDDT: SKIPN MNTYPE ;HAVE WE LOADED A MAIN PROGRAM Y
ET?
**************
1)21 ;HERE FOR TENEX DDT
1) IFN TOPS20,<
1) DDT10X: MOVSI T1,100001 ;
1) HRROI T2,[ASCIZ /SYS:UDDT.EXE/]
1) GTJFN
1) JRST TXDDTR ;FAILED
1) PUSH P,T1 ;DDT JFN
1) MOVEI T1,400000 ;LINK-10 EV
1) GEVEC
1) POP P,T1
1) PUSH P,T2
1) HRLI T1,400000 ;THIS FORK
1) GET
1) MOVEI T1,400000
1) GEVEC ;DDT'S EV
1) MOVE T3,LC.LB ;OFFSET
1) MOVEM T2,.JBDDT(T3)
1) POP P,T2
Digital Equipment Corporation 28-AUG-79 Page 317
PCO Log Report
1) SEVEC ;RESTORE LINK-10'S EVEC
1) TRO FL,L.SYM ;SHOULD BE ON BY DEFAULT
1) SETOM NULSPC
1) SETZM F.NAME(P1)
1) JRST LNKWLD ;FORGET DDT REQUEST AND GET NEXT
FILE
****
2)21 ;**;[1144] Revamp @DDT10X DZN 16-Feb-79
2) ;HERE FOR /DEBUG:DDT ON TOPS-20. SINCE THERE IS NO .REL FILE FOR
DDT ON TOPS-20,
2) ;WE MUST MERGE UDDT.EXE RIGHT INTO THE CORE IMAGE. IN THE EVENT
THAT THE PROGRAM
2) ;LOADS INTO MEMORY, SIMPLY MAP DDT INTO LINK'S ADDRESS SPACE NOW
AND IT WILL BE
2) ;PROPERLY PLACED WHEN LOADING IS COMPLETED. IF LINK MUST (OR IS
REQUESTED TO)
2) ;WRITE AN .EXE FILE, UDDT WILL NOT BE THERE, BUT AN EXEC DDT COM
MAND WILL THEN
2) ;MERGE IN DDT. IF DDT IS ALREADY MAPPED IN, LEAVE IT ALONE. THIS
HAPPENS IF LINK
2) ;IS BEING DEBUGGED.
2)
2) IFN TOPS20,<
2) MAPDDT: MOVX T1,<.FHSLF,,770>;[1144] SEE IF PAGE 770 EXISTS
2) RPACS ;[1144] ..
2) TXNN T2,PA%EX ;[1144] ..
2) JRST MAPDD1 ;[1144] NO--CAN'T BE ANY DDT THE
RE
2) MOVE T1,770000 ;[1144] SEE IF IT'S DDT THAT'S T
HERE
2) CAMN T1,[JRST 770002];[1144] CROCK, BUT THIS IS WHAT
EXEC DOES
2) JRST MAPDD2 ;[1144] IT'S DDT--DON'T DESTROY
IT
2) MAPDD1: MOVX T1,GJ%OLD!GJ%SHT;[1144] NO DDT THERE--LOAD IT
2) HRROI T2,[ASCIZ /SYS:UDDT.EXE/]
2) GTJFN ;[1144] FIND UDDT
2) ERJMP TXDDTR ;[1144] FAILED
2) PUSH P,T1 ;[1144] SAVE JFN FOR UDDT
2) MOVX T1,.FHSLF ;[1144] SAVE LINK'S CURRENT ENTR
Y VECTOR
2) GEVEC ;[1144] ..
2) POP P,T1 ;[1144] GET BACK JFN FOR UDDT
2) PUSH P,T2 ;[1144] REMEMBER LINK'S ENTRY VE
CTOR
2) HRLI T1,.FHSLF ;[1144] NOW BRING IN UDDT WHICH
2) GET ;[1144] DESTROYS LINK'S ENTRY
VECTOR
2) MOVX T1,.FHSLF ;[1144] SO RESTORE LINK'S ENTRY
Digital Equipment Corporation 28-AUG-79 Page 318
PCO Log Report
VECTOR
2) POP P,T2 ;[1144] ..
2) SEVEC ;[1144] ..
2) MAPDD2: SETOM NULSPC ;[1144] REMEMBER TO THROW AWAY T
HIS SPEC
2) SETZM F.NAME(P1) ;[1144] ..
2) SETOM DDTMAP ;[1144] REMEMBER THAT WE'VE MAPP
ED DDT
2) JRST LNKWLD ;FORGET DDT REQUEST AND GET NEXT
FILE
**************
1)21
1)22 ;TABLE OF NAMES OF DEBUGGING AIDS
****
2)22 ;TABLE OF NAMES OF DEBUGGING AIDS
**************
1)25
1)26 ;INCLUDE/EXCLUDE SWITCHES
****
2)26 ;INCLUDE/EXCLUDE SWITCHES
**************
1)34
1)35 .LOCALS:
****
2)35 .LOCALS:
**************
1)38
1)39 %SET:
****
2)39 %SET:
**************
1)39
1)40 ;**;[1132] Change @ SET2 JNG 30-Jan-79
****
2)40 ;**;[1132] Change @ SET2 JNG 30-Jan-79
**************
1)40
1)41 %SEVERITY:
****
2)41 %SEVERITY:
**************
1)41
1)42 %SYMSEG: PUSHJ P,STRLSW ;[705] WAIT TIL FILE LOA
DED
****
2)42 %SYMSEG: PUSHJ P,STRLSW ;[705] WAIT TIL FILE LOA
DED
**************
1)43
Digital Equipment Corporation 28-AUG-79 Page 319
PCO Log Report
1)44 %SYSLIBRARY:
****
2)44 %SYSLIBRARY:
**************
1)44
1)45 %USERLIBRARY:
****
2)45 %USERLIBRARY:
**************
1)47
1)48 ;**;[1122] Replace @%VERSION DZN 5-Oct-78
****
2)48 ;**;[1122] Replace @%VERSION DZN 5-Oct-78
**************
1)50
1)51 %XPN:
****
2)51 %XPN:
**************
1)51
1)52 %LOG:
****
2)52 %LOG:
**************
1)54
1)55 .SKIP:
****
2)55 .SKIP:
**************
1)55
1)56 .MTAPE:
****
2)56 .MTAPE:
**************
1)56
1)57 %ZERO:
****
2)57 %ZERO:
**************
1)57
1)58 CHKLSW: MOVE T3,IO.CHN ;GET CHAN
****
2)58 CHKLSW: MOVE T3,IO.CHN ;GET CHAN
**************
1)64
1)65 ;ERROR MESSAGES
****
2)65 ;ERROR MESSAGES
**************
Digital Equipment Corporation 28-AUG-79 Page 320
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1219 30-Jan-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 2146 17-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 30-Jan-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 16-Feb-79
2)
**************
1)1 EXTERN LNKCOR,LNKLOG,LNKFIO
****
2)1 IFN TOPS20,<SEARCH MACSYM, MONSYM>
2) EXTERN LNKCOR,LNKLOG,LNKFIO
**************
1)1 DECEVR==1132 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1144 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1144 Zap PA1050 but not DDT on /EXECUTE, /DEBUG when running
from .EXE file.
2)
**************
1)8
1)9 ;HERE TO READ IN FIRST 10 WORDS OF HIGH SEGMENT
****
2)9 ;HERE TO READ IN FIRST 10 WORDS OF HIGH SEGMENT
**************
1)11
1)12 UDFGB0: TXNE W1,S.LST ;IS THIS THE LAST BLOCK
****
2)12 UDFGB0: TXNE W1,S.LST ;IS THIS THE LAST BLOCK
**************
1)19
1)20 IFN FTOVERLAY,<
****
2)20 IFN FTOVERLAY,<
**************
1)24
1)
1)
1)25 ;HERE TO READ MORE SYMBOLS IF THEY ARE ON DSK
****
2)25 ;HERE TO READ MORE SYMBOLS IF THEY ARE ON DSK
**************
1)29
1)30 ;HERE WHEN WE HAVE TO OUTPUT CORE
Digital Equipment Corporation 28-AUG-79 Page 321
PCO Log Report
****
2)30 ;HERE WHEN WE HAVE TO OUTPUT CORE
**************
1)31
1)
1)32 ;HERE IF TOP OF SYMBOL TABLE IS ALREADY IN CORE
****
2)32 ;HERE IF TOP OF SYMBOL TABLE IS ALREADY IN CORE
**************
1)34
1)35 SYDONE: SKIPE PAG.S1 ;PAGING LOW SEG?
****
2)35 SYDONE: SKIPE PAG.S1 ;PAGING LOW SEG?
**************
1)35
1)36 SUBTTL ROUTINES FOR SYMBOLS
****
2)36 SUBTTL ROUTINES FOR SYMBOLS
**************
1)47 ;NOW SETUP STARTING ADDRESS FOR
EXECUTION
1) SETZ T1, ;INITIALLY ZERO
1) SKIPE EXECSW ;GO INTO EXECUTION?
1) MOVE T1,STADDR ;YES, ASSUME .JBSA
1) SKIPGE DEBUGSW ;UNLESS DEBUG
1) MOVE T1,.JBDDT(P1) ;INWHICH CASE ASSUME DDT SETUP
1) HRRM T1,EXECSW ;IN ANY CASE STORE BACK IN EXECS
W
****
2)47 ;**;[1144] Replace @JOBST0+3L DZN 16-Feb-79
2)
2) ; ..
2)
2)48 ; ..
2)
2) ;COMPUTE ADDRESS AT WHICH TO START PROGRAM. IF A DEBUGGER IS LOA
DED, THIS IS NOT
2) ;NECESSARILY THE MAIN PROGRAM'S START ADDRESS, BUT DEPENDS ON TH
E DEBUGGER.
2)
2) SETZ T1, ;[1144] ASSUME WE DON'T START PR
OGRAM
2) SKIPE EXECSW ;GO INTO EXECUTION?
2) MOVE T1,STADDR ;YES, ASSUME .JBSA
2) HRRZ T2,DEBUGSW ;[1144] IF DEBUGGING, DEBUGGER'S
START ADDRESS
2) SKIPGE DEBUGSW ;[1144] TAKES PRIORITY SO
2) MOVE T1,@STLOCN(T2) ;[1144] FIND IT
2) HRRM T1,EXECSW ;IN ANY CASE STORE BACK IN EXECS
Digital Equipment Corporation 28-AUG-79 Page 322
PCO Log Report
W
**************
1)48 ;HERE TO SETUP REST OF VESTIGIAL JOBDAT AREA
****
2)48
2) DEFINE KEYMAC(A,B)<
2) XALL ;;[1144] GIVE A GOOD LIS
TING
2) IFIDN <A><DEB>,< ;;[1144] SELECT ONLY DEB
UGGING KEYWORDS
2) %%1==-1 ;;[1144] SKIP DUMMY ENTR
Y
2) IRP B,< ;;[1144] CHECK EACH KEYW
ORD
2) IFGE %%1,< ;;[1144] THAT IS NOT T
HE DUMMY
2) IFN <%%1&1>,< ;;[1144] AND IS A DEGU
GGER NAME
2) %%2==0 ;;[1144] ASSUME WE WON'T
FIND A DEBUGGER
2) IFN TOPS20,< ;;[1144] TOPS-20 UDDT IS
SPECIAL
2) IFIDN <B><DDT>,< ;;[1144] CHECK FOR DDT D
EBUGGER
2) [770000] ;UDDT STARTS AT 770000
2) %%2==1 ;;[1144] REMEMBER WE FOU
ND A DEBUGGER
2) >
2) >
2) IFIDN <B><FORDDT>,< ;;[1144] FORDDT IS SPECI
AL
2) STADDR ;FORDDT FORCES START ADDRESS TO
ITSELF
2) %%2==1 ;;[1144] REMEMBER WE FOU
ND A DEBUGGER
2) >
2) IFIDN <B><COBDDT>,< ;;[1144] COBDDT IS SPECI
AL
2) STADDR ;COBDDT GETS CONTROL FROM COBOL
PROGRAM
2) %%2==1 ;;[1144] REMEMBER WE FOU
ND A DEBUGGER
2) >
2) IFE %%2,< ;;[1144] IF IT WASN'T AB
OVE DEBUGGERS
2) .JBDDT(P1) ;OTHER DEBUGGERS SET .JBDDT
2) >
2) >
2) >
Digital Equipment Corporation 28-AUG-79 Page 323
PCO Log Report
2) %%1==%%1+1 ;;[1144] ADVANCE TO NEXT
ENTRY
2) >
2) >
2) PURGE %%1,%%2 ;;[1144] CLEAN UP AFTERW
ARD
2) SALL ;;[1144] ..
2) >
2)
2) STLOCN: KEYWORDS
2)
2)49 ;HERE TO SETUP REST OF VESTIGIAL JOBDAT AREA
**************
1)51
1) ;HERE TO OPEN XPN FILE (IF NOT PAGING) USING LC
****
2)52 ;HERE TO OPEN XPN FILE (IF NOT PAGING) USING LC
**************
1)56
1) JBEXEA: SKIPN T1,LS.LB ;TO BOTTOM OF LS, IF IT'S THERE
****
2)57 JBEXEA: SKIPN T1,LS.LB ;TO BOTTOM OF LS, IF IT'S THERE
**************
1)57
1)58 ;HERE TO WRITE THE EXE FILE, COMPRESSING OUT ALL-ZERO PAGES
****
2)59 ;HERE TO WRITE THE EXE FILE, COMPRESSING OUT ALL-ZERO PAGES
**************
1)74
1)75 ;HERE WHEN CURRENT WINDOW IS FULL
****
2)76 ;HERE WHEN CURRENT WINDOW IS FULL
**************
1)77
1)78 ;NOW TO MOVE DOWN THE REMAINING DATA IN THE BUFFER PRIOR TO
****
2)79 ;NOW TO MOVE DOWN THE REMAINING DATA IN THE BUFFER PRIOR TO
**************
1)78
1)79 SUBTTL RUN UUO
1)
****
2)80 SUBTTL FINAL LOADING CLEAN-UP
2)
**************
1)79 JRST ENDSAV ;[616] NO, DO RUN UUO OR EXIT
1)
****
2)80 ;**;[1144] Replace @ENDCMP+19L DZN 16-Feb-79
2) JRST ENDSAV ;[1144] NO, RUN PROGRAM OR EXIT
Digital Equipment Corporation 28-AUG-79 Page 324
PCO Log Report
2)
**************
1)79 JRST RUNUUO ;YES, DO RUN UUO ON FILE
1) SKIPN N.ZER## ;RUN SWITCH PENDING?
****
2)80 ;**;[1144] Replace @ENDSAV+2L DZN 16-Feb-79
2) JRST RUNEXE ;[1144] YES, RUN THE .EXE FILE
2) SKIPN N.ZER## ;RUN SWITCH PENDING?
**************
1)79
1)80 ENDCLR: PHASE 0
****
2)81 ENDCLR: PHASE 0
**************
1)80
1)81 DEFINE KEYMAC (A,B)<
****
2)82 DEFINE KEYMAC (A,B)<
**************
1)82 ;HERE FOR RUN UUO
1) RUNUUO: SKIPN STADDR ;WARN USER IF NO STARTING ADDRES
S
1) OUTSTR [ASCIZ \[LNKNSA No start address]
1) \]
1) SKIPN STADDR
1) AOSA T2,ERRNO ;PREVENT EXECUTION IF NO START A
DDRESS
1) MOVE T2,ERRNO ;SAVE ERROR COUNT, GETS WIPED OU
T
1) SKIPL DEBUGSW ;IF DDT
1) SKIPA P1,STADDR ;NO
1) MOVE P1,EXECSW ;NEED TO START AT IT
1) SUB P1,STADDR ;OFFSET OR 0
1) MOVE T1,[%RHIGH,,%RLOW]
1) BLT T1,%RUN ;MOVE DOWN RUN UUO
1) SKIPGE DEBUGSW ;IF DEBUGGING
1) JRST RUNUUD ;YES
1) JUMPN T2,RUNUU2 ;ERRORS, TOO BAD U LOSE
1) SKIPN T2,RUNAME ;GET NAME TO CALL CORE IMAGE
1) MOVE T2,LODNAM ;USE DEFAULT IF NOT SET
1) MOVE T4,[POINT 7,%DEXM]
1) SETZ T1, ;CLEAR RECEIVING AC
1) LSHC T1,6 ;GET NEXT CHAR
1) ADDI T1," " ;INTO ASCII
1) IDPB T1,T4
1) JUMPN T2,.-4 ;MORE TO DO
1) IDPB T2,T4 ;MAKE SURE A 0 THERE
1)
1)83 ;**;[1125] Insert @ RUNUU1 JNG 1-Nov-78
1) RUNUU1:
Digital Equipment Corporation 28-AUG-79 Page 325
PCO Log Report
1) IFE FTEXE,<
1) SKIPN T1,IO.PTR+HC ;[1125] GET HIGH SEG POINTER
1) > ;END IFE FTEXE
1) MOVE T1,IO.PTR+LC ;SETTLE FOR LOW SEG IF NO HIGH
1) MOVE T2,I.DEV(T1) ;GET DEVICE
1) MOVEM T2,%RUN+0 ;RUN DEVICE
1) MOVE T2,I.NAM(T1) ;FILE NAME
1) MOVEM T2,%RUN+1
1) ;**;[1125] Insert @ RUNUU1+6L JNG 1-Nov-78
1) IFE FTEXE,<
1) SKIPN T1,IO.PTR+LC ;[1125] MAKE SURE POINTING AT LO
W SEG
1) JRST RUNUU3 ;[1125] HISEG ONLY, USE .LOW
1) MOVE T2,I.EXT(T1) ;[1125] MAY AS WELL USE KNOWN EX
T
1) TLNN T2,-1 ;[1125] EXTENSION KNOWN?
1) RUNUU3: MOVSI T2,'LOW' ;[1125] NO, USE .LOW
1) > ;END IFE FTEXE
1) IFN FTEXE,<
1) MOVE T2,I.EXT(T1) ;[1125] GET EXTENSION OF EXE FIL
E
1) > ;END IFN FTEXE
1) HLLZM T2,%RUN+2 ;[1125] STORE EXTENSION & ZERO D
ATE
1) SETZM %RUN+3 ;CLEAR DATE TIME
1) SETZM %RUN+4 ;PPN
1) MOVE T1,RUNCOR ;CORE FOR RUN UUO IF SET
1) ADD T1,RUNCOR+1 ;IN CASE LK+HK
1) MOVEM T1,%RUN+5
1) CAIGE T1,%RUN+7 ;USE LARGER OF WHAT WE WANT AND
WHAT WE NEED
1) MOVEI T1,%RUN+7
1) HRLI T1,1 ;REMOVE HIGH SEG IN EITHER CASE
1) MOVEI T2,%RUN ;ADDRESS OF RUN BLOCK
1) HRL T2,P1 ;GET OFFSET
1) JRST %RLOW ;GO TO LOW SEG
1)
1)
1)
1)84 RUNUUD: MOVE T1,DEBUGSW ;GET DEB INDEX
1) DMOVE T1,@DEBNAM(T1) ;GET NAME (POSSIBLE 6 CHARS PLU
S NULL)
1) DMOVEM T1,%DEXM ;STORE IT
1) CAMN T1,[ASCII \COBDD\]
1) SETZ P1, ;START AT MAIN PROG IF COBOL
1) IFE FTKIONLY,<
1) MOVE T1,[ASCIZ \[LNKDEB \] ;
1) MOVE T1+1,1+[ASCIZ \[LNKDEB \] ;
1) > ;END IFE FTKIONLY
Digital Equipment Corporation 28-AUG-79 Page 326
PCO Log Report
1) IFN FTKIONLY,<
1) DMOVE T1,[ASCIZ \[LNKDEB \] ;
1) > ;END IFN FTKIONLY
1) DMOVEM T1,%DEXH
1) JRST RUNUU1 ;RETURN
1)
1) RUNUU2: OUTSTR DLTTXT
1) JRST ENDZAP ;AND DELETE USER
1) DLTTXT: ASCIZ \?LNKDLT Execution Deleted\
1)
1)85 ;ENTER WITH :-
1) ;T1 = ARG FOR CORE UUO
1) ;T2 = ARG FOR RUN UUO
1)
1) %RHIGH:
1) PHASE .TEMP
1) %RLOW: CORE T1,
1) JFCL
1) OUTSTR %DEXH
1) OUTSTR %DEXM ;NAME OF DEBUGGER
1) OUTSTR %REXM ;TELL USER
1) RUN T2,
1) HALT
1) EXIT
1) %DEXH: ASCIZ \[LNKXCT \
1) %DEXM: EXP 0,0
1) %REXM: ASCIZ \ Execution]
1) \
1)
1) %RUN:
1) DEPHASE
1)
****
2)83 SUBTTL RUN THE PROGRAM
2)
2) ;**;[1144] Revamp @RUNUUO DZN 16-Feb-79
2) RUNEXE: SKIPE STADDR ;[1144] INFORM USER IF NO START
ADDRESS
2) JRST RUNEX1 ;[1144] NO
2) AOS ERRNO ;[1144] DON'T START PROGRAM IF N
O START ADDR
2) .ERR. (MS,0,V%L,L%F,S%I,NSA,<No start address>)
2) RUNEX1: SKIPE ERRNO ;[1144] DON'T RUN IF ANY ERRORS
2) SKIPGE DEBUGSW ;[1144] UNLESS DEBUGGING
2) JRST RUNEX2 ;[1144] DO RUN PROGRAM
2) RUNDLT: .ERR. (MS,0,V%L,L%F,S%F,DLT,<Execution deleted>)
2) JRST ENDZAP ;[1144] JUST ZERO MEMORY AND EXI
T
2)
Digital Equipment Corporation 28-AUG-79 Page 327
PCO Log Report
2)84 SUBTTL RUN THE PROGRAM FROM EXE FILE -- TOPS-20
2)
2) IFN TOPS20,<
2) RUNEX2: MOVE T1,[R%ACS,,ACS] ;[1144] COPY RUN CODE TO WRITABL
E PLACE
2) BLT T1,ACS+R%17 ;[1144] ..
2) MOVE T1,[POINT 7,RUNSPC] ;[1144] BUILD TOPS-20 FILE S
PEC OF .EXE FILE
2) MOVE T4,IO.PTR+LC ;[1144] ..
2) MOVE T2,I.DEV(T4) ;[1144] COPY DEVICE NAME
2) PUSHJ P,SIXTO7 ;[1144] ..
2) MOVX T2,":" ;[1144] COPY DEVICE DELIMITER
2) IDPB T2,T1 ;[1144] ..
2) MOVE T2,I.NAM(T4) ;[1144] COPY FILE NAME
2) PUSHJ P,SIXTO7 ;[1144] ..
2) MOVX T2,"." ;[1144] COPY FILE TYPE DELIMIT
ER
2) IDPB T2,T1 ;[1144] ..
2) HLLZ T2,I.EXT(T4) ;[1144] COPY FILE TYPE
2) PUSHJ P,SIXTO7 ;[1144] ..
2) SETZ T2, ;[1144] TURN INTO ASCIZ STRING
WITH A NUL
2) IDPB T2,T1 ;[1144] ..
2) MOVX T1,GJ%OLD+GJ%SHT;[1144] GO FIND THE FILE
2) HRROI T2,RUNSPC ;[1144] ..
2) GTJFN ;[1144] ..
2) ERJMP GFEERR ;[1144] GETJFN FAILED FOR EXE FI
LE
2) HRRM T1,ACS+R%16 ;[1144] PUT JFN IN GET JSYS ARGU
MENT
2) MOVE T1,EXECSW ;[1144] GET ADDRESS TO START PRO
GRAM
2) HRRM T1,ACS+R%15 ;[1144] STORE IN FINAL JRST
2) MOVEI T1,1000 ;[1144] ASSUME WE'LL UNMAP ALL M
EMORY PAGES
2) SKIPE DDTMAP ;[1144] SEE IF WE MAPPED IN DDT
VIA /DEB:DDT
2) MOVEI T1,764 ;[1144] YES--DON'T UNMAP IT THEN
2) HRRM T1,ACS+R%3 ;[1144] STORE IN PMAP JSYS ARGUM
ENT
2) PUSHJ P,EXEMES ;[1144] PRINT PROGRAM EXECUTION
MESSAGE
2)
2) ;FINAL EXECUTION. SET PROGRAM NAME, SET NEW SYMBOL TABLE POINTER
S IF DDT, MOVE
2) ;SUICIDE CODE TO ACS AND JUMP TO IT.
2)
2) SKIPN T1,RUNAME ;[1144] SET PROGRAM NAME
2) MOVE T1,LODNAM ;[1144] ..
Digital Equipment Corporation 28-AUG-79 Page 328
PCO Log Report
2) SETNM ;[1144] ..
2) SKIPN DDTMAP ;[1144] SEE IF /DEB:DDT SPECIFIE
D
2) JRST RUNEX3 ;[1144] NO--DON'T SET UP SYMBOL
TABLE PTRS
2) MOVE T1,JOB116 ;[1144] YES--FORCE-FEED SYMBOL T
ABLE PTRS TO DDT
2) MOVEM T1,@770001 ;[1144] AT LAST MINUTE FOR LIN
K DEBUGGERS
2) MOVE T1,JOB117 ;[1144] ..
2) MOVEM T1,@770002 ;[1144] ..
2) RUNEX3: MOVE R%17,[ACS,,R%0] ;[1144] COPY POKED CODE TO ACS
2) BLT R%17,R%17 ;[1144] ..
2) JRST R%4 ;[1144] GO UMMAP PAGES, BRING IN
PROG AND START
2)
2)85 ;SIXTO7 CONVERTS A SIXBIT WORD TO AN ASCII STRING WITHOUT TRAILI
NG SPACES.
2) ;CALL:
2) ; T1/ <BYTE POINTER TO STRING>
2) ; T2/ <SIXBIT WORD TO CONVERT>
2) ;RETURNS WITH T1 UPDATED, T2 AND T3 DESTROYED.
2)
2) SIXTO7: JUMPE T2,CPOPJ ;[1144] DONE IF SIXBIT HAS GONE
TO 0
2) SETZ T3, ;[1144] CLEAR DESTINATION AC
2) ROTC T2,6 ;[1144] EXTRACT NEXT SIXBIT CHAR
ACTER
2) ADDI T3,"A"-'A' ;[1144] CONVERT TO ASCII
2) IDPB T3,T1 ;[1144] STORE IN DESTINATION STR
ING
2) JRST SIXTO7 ;[1144] LOOP UNTIL DONE
2)
2) GFEERR: .ERR. (MS,.EC,V%L,L%F,S%F,GFE,<GTJFN% JSYS failed for
>)
2) .ETC. (STR,,,,,RUNSPC)
2)
2) ;FINAL SUICIDE CODE FOR RUNNING A PROGRAM ON TOPS-20.
2)
2) R%ACS: PHASE 0 ;[1144] GET INTO THE ACS
2) R%0:! 0 ;[1144] SEED FOR ZEROING ACS WHE
N DONE
2) R%1:! -1 ;[1144] PMAP ARGUMENTS TO UNMAP
ALL OF MEMORY
2) R%2:! .FHSLF,,0 ;[1144] ..
2) R%3:! PM%CNT+.-. ;[1144] UNLESS /DEB:DDT THEN D
ON'T UNMAP UDDT
2) R%4:! PMAP ;[1144] BEGINNING OF SUICIDE COD
E--UNMAP PAGES
2) R%5:! MOVE R%1,R%16 ;[1144] LOAD GET ARGUMENT
2) R%6:! GET ;[1144] BRING IN PROGRAM
Digital Equipment Corporation 28-AUG-79 Page 329
PCO Log Report
2) R%7:! JSYS 147 ;[1144] DO RESET JSYS TO CLEAR P
SI, ETC.
2) R%10:! DMOVEM R%14,.JBBLT ;[1144] MOVE LAST CODE TO JOBDAT
2) R%11:! JRST .JBBLT ;[1144] AND JUMP TO IT
2) R%12:! 0 ;[1144] UNUSED
2) R%13:! 0 ;[1144] UNUSED
2) R%14:! BLT R%17,R%17 ;[1144] CODE IN JOBDAT--CLEAR AL
L ACS
2) R%15:! JRST .-. ;[1144] POKED TO PROGRAM EXECUTI
ON ADDRESS
2) R%16:! .FHSLF,,.-. ;[1144] POKED TO GET JSYS ARGUME
NT
2) R%17:! R%0,,R%1 ;[1144] BLT ARGUMENT TO CLEAR AC
S
2) DEPHASE
2) > ;[1144] END OF IFN TOPS20
2)
2)86 SUBTTL RUN THE PROGRAM FROM EXE FILE -- TOPS-10
2)
2) IFE TOPS20,<
2) RUNEX2: MOVE T1,[U%LOW,,LOW] ;[1144] MOVE DOWN FINAL RUN UUO
CODE
2) BLT T1,U%END ;[1144] ..
2) IFE FTEXE,<
2) SKIPN T1,IO.PTR+HC ;[1144] GET HIGH SEG POINTER
2) > ;END IFE FTEXE
2) MOVE T1,IO.PTR+LC ;[1144] SETTLE FOR LOW SEG IF NO
HIGH
2) MOVE T2,I.DEV(T1) ;[1144] SET UP RUN UUO DEVICE
2) MOVEM T2,U%RUNB+0 ;[1144] ..
2) MOVE T2,I.NAM(T1) ;[1144] SET UP FILE NAME
2) MOVEM T2,U%RUNB+1 ;[1144] ..
2) IFE FTEXE,<
2) SKIPN T1,IO.PTR+LC ;[1144] MAKE SURE POINTING AT LO
W SEG
2) JRST RUNEX3 ;[1144] HISEG ONLY, USE .LOW
2) MOVE T2,I.EXT(T1) ;[1144] MAY AS WELL USE KNOWN EX
T
2) TLNN T2,-1 ;[1144] EXTENSION KNOWN?
2) RUNEX3: MOVSI T2,'LOW' ;[1144] NO, USE .LOW
2) > ;END IFE FTEXE
2) IFN FTEXE,<
2) MOVE T2,I.EXT(T1) ;[1144] GET EXTENSION OF EXE FIL
E
2) > ;END IFN FTEXE
2) HLLM T2,U%RUNB+2 ;[1144] STORE EXTENSION
2) MOVE T1,RUNCOR ;[1144] LOW SEGMENT SIZE FROM /R
UNCOR:
2) ADD T1,RUNCOR+1 ;[1144] AND HIGH SEG SIZE
Digital Equipment Corporation 28-AUG-79 Page 330
PCO Log Report
2) MOVEM T1,U%RUNB+5 ;[1144] STORE AS RUN UUO ARGUMEN
T
2) CAIGE T1,U%END ;[1144] PREPARE TO SHRINK MEMORY
TO LARGER
2) MOVEI T1,U%END ;[1144] OF WHAT WE NEED AND WH
AT PROGRAM NEEDS
2) HRRM T1,U%CORA ;[1144] STORE AS CORE UUO ARGUME
NT
2) HRRZ T1,EXECSW ;[1144] COMPUTE RUN UUO OFFSET
2) SUB T1,STADDR ;[1144] IN CASE WE START A DEB
UGGER
2) HRLM T1,U%RUNA ;[1144] STORE IN RUN UUO ARGUMEN
T
2) PUSHJ P,EXEMES ;[1144] PRINT PROGRAM EXECUTION
MESSAGES
2) JRST LOW ;[1144] GO SHRINK AND RUN PROGRA
M
2)
2)87 ;FINAL SUICIDE CODE FOR RUNNING A PROGRAM ON TOPS-10.
2)
2) U%LOW: PHASE .TEMP ;[1144] LOW MUST BE FIRST IN .TE
MP
2) DMOVE T1,U%CORA ;[1144] LOAD UP CORE AND RUN UUO
ARGS
2) CORE T1, ;[1144] REMOVE HIGH SEG AND SHRI
NK LOW SEG
2) JFCL ;[1144] DON'T WORRY IF FAILURE
2) RUN T2, ;[1144] RUN THE PROGRAM
2) HALT ;[1144] CAN'T--MONITOR PRINTS US
EFUL MESSAGE
2) EXIT ;[1144] IN CASE USER TYPES CONTI
NUE
2) U%RUNB: .-. ;[1144] RUN UUO DEVICE
2) .-. ;[1144] FILE NAME
2) .-.,,0 ;[1144] EXTENSION
2) 0 ;[1144] UNUSED
2) 0 ;[1144] PPN (FILE WRITTEN ON [
-])
2) .-. ;[1144] MEMORY ARGUMENT
2) U%CORA: 1,,.-. ;[1144] CORE UUO ARG, POKED WITH
LOW SEG SIZE
2) U%RUNA: .-.,,U%RUNB ;[1144] RUN UUO ARG, POKED WITH
RUN OFFSET
2) U%END=.-1 ;[1144] LAST LOCATION IN PHASED
CODE
2) DEPHASE ;[1144] BACK TO THE REAL WORLD
2) LOWLEN==.-U%LOW ;[1144] LENGTH OF PHASED CODE FO
R LATER
2) > ;END IFN TOPS10
2)
Digital Equipment Corporation 28-AUG-79 Page 331
PCO Log Report
2)88 SUBTTL RUN THE PROGRAM FROM EXE FILE -- SUBROUTINES
2)
2) ;TERMES GIVES THE LINK TERMINATION MESSAGE AND CLOSES THE LOG FI
LE IF ANY. IF
2) ;NECESSARY, THE LOG FILE IS RENAMED TO THE PROPER NAME AS WELL.
2)
**************
1)86
****
2)88 ;**;[1144] Insert after FINMES+1L DZN 16-Feb-79
2) ;EXEMES GIVES THE PROGRAM EXECUTION MESSAGE. THIS INCLUDES THE N
AME OF THE
2) ;PROGRAM, OR THE DEBUGGER IF /DEBUG WAS SPECIFIED.
2)
2) EXEMES: SKIPE T1,DEBUGSW ;[1144] IF DEBUGGING
2) JRST EXEME1 ;[1144] THEN [LNKDEB debugger ex
ecution]
2) SKIPN T1,RUNAME ;[1144] ELSE [LNKXIT program exe
cution]
2) MOVE T1,LODNAM ;[1144] GET PROGRAM NAME TO PRIN
T
2) .ERR. (MS,.EC!.EN,V%L,L%F,S%I,XCT)
2) .ETC. (SBX,.EC!.EP,,,,T1)
2) .ETC. (JMP,.EC,,,,EXEME2)
2)
2) EXEME1: MOVEI T1,@DEBNAM(T1) ;[1144] LOAD UP ASCIZ DEBUGGER N
AME
2) .ERR. (MS,.EC!.EN,V%L,L%F,S%I,DEB)
2) .ETC. (STR,.EC!.EP,,,,T1)
2) EXEME2: .ETC. (STR,,,,,,< execution>)
2) POPJ P, ;[1144] DONE
2)
2)89
**************
1)91
1)
1)92 ;HERE TO SEE IF WE CAN GET ENOUGH CORE TO FINISH THIS LOAD
****
2)95 ;HERE TO SEE IF WE CAN GET ENOUGH CORE TO FINISH THIS LOAD
**************
1)95
1)96 JBGCHU: ;HERE TO MOVE HIGH UP
****
2)99 JBGCHU: ;HERE TO MOVE HIGH UP
**************
1)96
1)97 ;HERE TO MOVE WINDOW UP IN EITHER AREA
****
2)100 ;HERE TO MOVE WINDOW UP IN EITHER AREA
**************
Digital Equipment Corporation 28-AUG-79 Page 332
PCO Log Report
1)101 MOVE T1,[DLTTXT,,%TMES]
1) BLT T1,%TMES+5
****
2)104 ;**;[1144] Replace @JBNEX+4L DZN 16-Feb-79
2) MOVE T1,[[ASCIZ /?LNKDLT Execution Deleted/],,%TMES]
;[1144]
2) BLT T1,%TMES+5
**************
1)102
1)103 JBEX3: MOVE T1,DEBUGSW ;GET INDEX TO DEBUG NAME
****
2)106 JBEX3: MOVE T1,DEBUGSW ;GET INDEX TO DEBUG NAME
**************
1)104
1)105 %TMES: ASCIZ \[LNKXCT \
****
2)108 %TMES: ASCIZ \[LNKXCT \
**************
1)105
1)106 %0: .-. ;BLT POINTER
****
2)109 %0: .-. ;BLT POINTER
**************
1)106
1)107 SUBTTL DATA AREAS
****
2)110 SUBTTL DATA AREAS
**************
1)107 U (LSCNT) ;COUNT OF WORDS LEFT IN THIS 128
WORD BLOCK
****
2)110 ;**;[1144] Insert before LSCNT DZN 16-Feb-79
2) IFE TOPS20,<
2) U (LOW,LOWLEN) ;[1144] LOW CODE FOR RUN UUO--MU
ST BE FIRST
2) >
2) IFN TOPS20,<
2) U (ACS,20) ;[1144] PLACE TO WORK ON SUICIDE
CODE
2) U (RUNSPC,4) ;[1144] ASCIZ FILE SPEC FOR EXE
FILE
2) > ;END IFN TOPS20
2) U (LSCNT) ;COUNT OF WORDS LEFT IN THIS 128
WORD BLOCK
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 333
PCO Log Report
*********************
*PCO #:20-LINK -012*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)+1144
[Date Entered] 23-FEB-79
[Programmer] D. NEFF
[Routines] LNKWLD LNKXIT
[Key Words] /DEB BROKE
[Source Before Edit] %4A (001144)
[Source After Edit] %4A (001145)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:20-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 334
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When LINK edit 1144 is installed, the EXEC's DEBUG command or
explicit specification of /DEBUG:DDT to LINK does not set up the
DDT symbol table pointers or load local symbols. This only happens
if LINK can load the program directly into memory (i.e., does not
have to write an .EXE file).
**********
[DIAGNOSIS]
The method of determining whether DDT was mapped in as a result of
/DEBUG:DDT was changed by edit 1144, but the load-and-go code was
not modified to reflect the change.
Also, one too many intructions were removed from the code to load
DDT, causing LINK to forget to load local symbols for the next
file.
**********
[CURE]
Check properly whether DDT was loaded, and force loading of locals
for the next file.
Digital Equipment Corporation 28-AUG-79 Page 335
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 2053 17-Feb-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1617 22-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 16-Feb-7
9
1) ;COPYRIGHT (C) 1973, 1978, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 22-Feb-7
9
2) ;COPYRIGHT (C) 1973, 1978, 1979 BY
**************
1)1 DECEVR==1144 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1145 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1145 DZN 22-Feb-79
2) ; Load local symbols and store symbol table pointers on TO
PS-20 if
2) ; /DEBUG:DDT and leaving program in memory. Broken by edit
1144.
2) ; Routines: LNKXIT, LNKWLD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 336
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 2047 17-Feb-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1622 22-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 16-Feb-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 22-Feb-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1144 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECEVR==1145 ;DEC EDIT VERSION
2) ;CALLING SEQUENCE
**************
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)3 ;1145 Load locals if /DEBUG:DDT on TOPS-20. Broken by edit 114
4.
2)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)21 MAPDD2: SETOM NULSPC ;[1144] REMEMBER TO THROW AWAY T
HIS SPEC
1) SETZM F.NAME(P1) ;[1144] ..
****
2)21 ;**;[1145] Insert @MAPDD2 DZN 22-Feb-79
2) MAPDD2: TRO FL,L.SYM ;[1145] LOAD LOCALS (TURNED OFF
EARLIER)
2) SETOM NULSPC ;[1145] REMEMBER TO THROW AWAY T
HIS SPEC
2) SETZM F.NAME(P1) ;[1144] ..
**************
Digital Equipment Corporation 28-AUG-79 Page 337
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 2146 17-Feb-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 1529 22-Feb-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 16-Feb-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 22-Feb-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1144 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1145 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;1145 Set up symbol table pointers on TOPS-20 if no .EXE file
written; broken by 1144.
2)5 SUBTTL ENTER HERE
**************
1)102 MOVE T2,.JBDDT(T1) ;GET DDT ADDRESS
1) IFN TOPS20,<
1) HRRZ T1,T2 ;GET ADDRESS
1) CAIE T1,770000 ;IDDT?
1) JRST JBEX1A ;NO
1) MOVE T2,LC.LB ;GET BASE
1) MOVE T1,.JBSYM(T2) ;
1) MOVEM T1,@770001 ;GIVE SYMBOLS TO DDT
1) MOVE T1,.JBUSY(T2) ;
1) MOVEM T1,@770002 ;AND UNDEFS
1) SETZ T2, ;AND DON'T STORE IN .JBDDT
1) JBEX1A:>
1)103 ;NOW PUT PHASED CODE INTO LOW SEG
****
2)102 ;**;[1145] Replace @JBEX10+12L DZN 22-Feb-79
2) IFN TOPS20,<
2) SKIPN DDTMAP ;[1145] DDT MAPPED FROM /DEBUG:D
DT?
2) JRST JBEX1A ;[1145] NO--NOTHING TO DO
2) MOVE T2,.JBSYM(T1) ;[1145] YES--FORCE-FEED SYMBOL T
ABLE
2) MOVEM T2,@770001 ;[1145] TO DDT
2) MOVE T2,.JBUSY(T1) ;[1145] ..
2) MOVEM T2,@770002 ;[1145] ..
2) JBEX1A:
2) >
2) MOVE T2,.JBDDT(T1) ;[1145] GET DEBUGGER ADDRESS
2)103 ;NOW PUT PHASED CODE INTO LOW SEG
**************
Digital Equipment Corporation 28-AUG-79 Page 338
PCO Log Report
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 339
PCO Log Report
*********************
*PCO #:10-LINK -264*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) TESTED IN 4A(1145)
[Date Entered] 09-MAR-79
[Programmer] D. NEFF
[Routines] LNKXIT LNKERR
[Key Words] /SAVE MORE
[Source Before Edit] %4A (001145)
[Source After Edit] %4A (001146)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-26290
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 340
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Various symptoms are possible. Some examples are:
1. When loading a PSECTed program with large gaps between
PSECTs, LINK will create the pages in the gaps if the
program is loaded into memory but not if the program is
written with /SAVE.
2. `?LNKRME REMAP error' results if the high segment origin
of a two-segment program is set lower than the combined
length of LINK's low segment and the program's low
segment.
**********
[DIAGNOSIS]
1. LINK cannot in general load a program sprinkled with
non-existent pages. There is only monitor support for
LINK to set up non-existent pages below the high segment
(the REMAP UUO). Programs with non-existent pages
elsewhere must be written to an .EXE file.
2. In this case, LINK is requesting that the REMAP UUO move
the prospective high segment down. This is not possible
since this would overlay the low segment.
The common problem is that LINK's checks for deciding to write an
.EXE file instead of loading the program into memory are
insufficient.
**********
[CURE]
Digital Equipment Corporation 28-AUG-79 Page 341
PCO Log Report
Restructure the code in LNKXIT so that all checks used to determine
whether to load the program or write an .EXE file are in one place.
Then add the above cases to the checks. Since these cases are more
general than the current condition of not enough memory, change the
LNKNCL and LNKNCX messages to LNKPCL and LNKPCX.
The effect of this edit is to cause LINK to force .EXE file
generation for those cases in which LINK cannot leave the program
in memory.
There are several points to consider when installing this edit.
1. The FILCOMs show the edit installation assuming that edits
1113 and 1132 were previously installed. If this is not
the case, simply ignore the references to these edits.
2. The majority of the changes in LNKXIT.MAC are simply
moving code around to centralize the checks for a complex
program. The FILCOM therefore contains information
indicating how to move the code around, so that deleting
and retyping of the moved code should not be necessary.
Digital Equipment Corporation 28-AUG-79 Page 342
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1617 22-Feb-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1157 08-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 22-Feb-7
9
1) ;COPYRIGHT (C) 1973, 1978, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 8-Mar-79
2) ;COPYRIGHT (C) 1973, 1978, 1979 BY
**************
1)1 DECEVR==1145 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1146 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1146 DZN 8-Mar-79 SPR 10-26290
2) ; Change the 'Not enough core to load' message to 'Program
too complex'.
2) ; Then cause more cases to force .EXE file generation (e.g
., PSECTs above
2) ; high segment, gaps between PSECTS).
2) ; Routines: LNKPAR, LNKXIT, LNKERR
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 343
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 0039 17-Feb-1979
File 2) LINK:LNKERR.MAC[12,4700] created: 1156 08-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 16-Feb-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 8-Mar-79
2)
**************
1)1 DECEVR==1144 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1146 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1146 Delete long messages for LNKNCL, LNKNCX; add LNKPCL, LNK
PCX.
2)
**************
1)9 NCL 8 8 Not enough core to load job, saved as [f
ile]
1) NCX 8 1 Not enough core to load and execute jo
b, will
1) run from [file]
1) NEB 8 8 No end block seen for [module]
****
2)9 NEB 8 8 No end block seen for [module]
**************
1)9 PEF 31 8 Premature end of file in [file]
****
2)9 PCL 8 8 Program too complex to load, saving as [
file]
2) PCX 8 1 Program too complex to load and execute,
will run from [file]
2) PEF 31 8 Premature end of file in [file]
**************
1)10 HASH NCL,0,<^_
1) Your program is too large to load from LINK. LINK h
as
1) saved it as an .EXE file on disk and cleared your us
er
1) memory. You can use a GET or RUN command to load the .E
XE
1) file. If it is still too large: use a larger machin
e;
1) obtain a larger core limit; or define an overl
ay
1) structure for your program.>
Digital Equipment Corporation 28-AUG-79 Page 344
PCO Log Report
1)
1) HASH NCX,0,<^_
1) Your program is too large to load into memory; LINK sav
ed
1) it as an .EXE file on disk. LINK will automatical
ly
1) execute the program with a RUN monitor call, but the .E
XE
1) file will not be deleted.>
1)
1) HASH NEB,0,<^_
****
2)10 ;**;[1146] Delete LNKNCL and LNKNCX long messages DZN
8-Mar-79
2) HASH NEB,0,<^_
**************
1)10 HASH PEF,0,<^_
****
2)10 ;**;[1146] Insert LNKPCL and LNKPCX long messages before LNKPEF
DZN 8-Mar-79
2) IFE TOPS20,<
2) HASH PCL,0,<^_
2) Your program is too complex to load into memory for one
of
2) the following reasons:
2)
2) 1. There are page gaps between PSECTs (except bel
ow
2) the high segment).
2)
2) 2. There are PSECTs above the origin of the hi
gh
2) segment.
2)
2) 3. Your program will not fit in memory along wi
th
2) LINK's final placement code.
2)
2) LINK has saved your program as an .EXE file on disk a
nd
2) cleared your user memory. You can use a GET or R
UN
2) command to load the .EXE file.>
2)
2) HASH PCX,0,<^_
2) Your program is too complex to load into memory for one
of
2) the following reasons:
2)
Digital Equipment Corporation 28-AUG-79 Page 345
PCO Log Report
2) 1. There are page gaps between PSECTs (except bel
ow
2) the high segment).
2)
2) 2. There are PSECTs above the origin of the hi
gh
2) segment.
2)
2) 3. Your program will not fit in memory along wi
th
2) LINK's final placement code.
2)
2) LINK will save your program as an .EXE file on disk a
nd
2) automatically run it, but the .EXE file will not
be
2) deleted.>
2) > ;END IFE TOPS20
2)
2) IFN TOPS20,<
2) HASH PCL,0,<^_
2) Your program is too complex to load into memory for one
of
2) the following reasons:
2)
2) 1. There are page gaps between PSECTs (except bel
ow
2) the high segment).
2)
2) 2. There are PSECTs above the origin of the hi
gh
2) segment.
2)
2) 3. Your program will not fit in memory along wi
th
2) LINK's final placement code.
2)
2) 4. One or more PSECTs has the read-only attribute.
2)
2) LINK has saved your program as an .EXE file on disk a
nd
2) cleared your user memory. You can use a GET or R
UN
2) command to load the .EXE file.>
2)
2) HASH PCX,0,<^_
2) Your program is too complex to load into memory for one
of
2) the following reasons:
2)
Digital Equipment Corporation 28-AUG-79 Page 346
PCO Log Report
2) 1. There are page gaps between PSECTs (except bel
ow
2) the high segment).
2)
2) 2. There are PSECTs above the origin of the hi
gh
2) segment.
2)
2) 3. Your program will not fit in memory along wi
th
2) LINK's final placement code.
2)
2) 4. One or more PSECTs has the read-only attribute.
2)
2) LINK will save your program as an .EXE file on disk a
nd
2) automatically run it, but the .EXE file will not
be
2) deleted.>
2) > ;END IFN TOPS20
2)
2) HASH PEF,0,<^_
**************
Digital Equipment Corporation 28-AUG-79 Page 347
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1529 22-Feb-1979
File 2) LINK:LNKXIT.MAC[12,4700] created: 1302 08-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 22-Feb-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 8-Mar-79
2)
**************
1)1 DECEVR==1145 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1146 ;DEC EDIT VERSION
2)
**************
1)4
1)5 SUBTTL ENTER HERE
****
2)4 ;1146 Force writing an .EXE file more often, especially with P
SECTs.
2) SUBTTL ENTER HERE
**************
1)35 SAVTST: SKIPE IO.PTR+%VC ;SAVE FILE REQUIRED?
1) JRST JBSAVE ;YES
1) JRST JBEXIT ;NO, EXECUTE OR FORM CORE IMAGE
1)
****
2)34 ;**;[1146] Replace @REMVLS+15L DZN 8-Mar-79
2) JRST SAVTST ;[1146] DONE WITH SYMBOLS
2)
**************
1)42 SUBTTL GENERATE .EXE (OR .XPN/.SHR/.HGH/.LOW) FILE
1)
1) ;SOME JOBDAT LOCATIONS WE NEED TO KNOW
1) .JBHSO==75 ;PAGE # OF HIGH SEG ORIGIN
1) .JBSDD==114 ;SAVED .JBDDT
1) .JBS41==122 ;SAVED .JB41
1) EXTERN .JBREN
1) JOBHSA==0 ;HIGH .JBSA
1) JOBH41==1 ;HIGH .JB41
1) JOBHRN==3 ;HIGH .JBHRL & .JBREN
1) JOBHSO==7 ;PAGE # OF HIGH SEG ORIGIN IN HIGH
1)
1) ;HERE TO SETUP SAVED LOCATIONS
1) JBSAVE: .ERR. (MS,0,V%L,L%I,S%I,CSF,<Creating saved file>)
1) SKIPE PAG.S1 ;PAGING?
1) SKIPA P1,JOBPTR ;YES
1) MOVE P1,LC.LB ;NO, USE INCORE ADDRESS
1) SKIPE PAG.S2 ;PAGING HIGH SEG?
1) SKIPA P2,JBHPTR ;YES, LOAD CORRECT OFFSET
Digital Equipment Corporation 28-AUG-79 Page 348
PCO Log Report
1) MOVE P2,HC.LB ;LOAD UP OFFSET
1) IFE FTEXE,<
1) MOVE T2,.JBDDT(P1) ;GET DDT START
1) MOVEM T2,.JBSDD(P1) ;TO SAFE PLACE
1) MOVE T2,.JB41(P1) ;SAME FOR UUO HANDLER
1) MOVEM T2,.JBS41(P1)
1) >
1) PUSHJ P,JOBSET ;SETUP REST OF JOBDAT
1) HLRZ T1,.JBSA(P1) ;ALSO SETUP RIGHT HALF OF .JBCOR
1) IFN FTOVERLAY,<
1) SKIPL LNKMAX ;SEEN ANY?
1) SKIPN JOB116 ;YES, AND WANT SYMBOLS?
1) CAIA ;NO
1) HLRZ T1,.JBCOR(P1) ;INCLUDE SYMBOLS
1) >
1) IOR. T1,.PGSIZ ;TO HIGHEST LOC REQUIRED
1) HRRM T1,.JBCOR(P1) ;SO SAVE GET WORKS
1) ;**;[1132] Insert @ JBSAVE+23L JNG 30-Jan-79
1) SKIPL SYMSEG ;[1132] SYMBOLS IN A PSECT?
1) JRST JBSAVX ;[1132] NO, SKIP THIS
1) HLRE T1,.JBSYM(P1) ;[1132] YES, GET -LENGTH OF TABL
E
1) HRRZ T2,.JBSYM(P1) ;[1132] GET FIRST ADDR OF TABLE
1) SUB T2,T1 ;[1132] COMPUTE FIRST FREE AFTER
TABLE
1) CAMLE T2,HC.S1 ;[1132] UPDATE AMOUNT OF CODE IN
LC AREA
1) MOVEM T2,HC.S1 ;[1132] BUT NEVER DECREASE
1) CAMLE T2,HL.S1 ;[1132] ALSO UPDATE SIZE OF SEGM
ENT
1) MOVEM T2,HL.S1 ;[1132] NEVER DECREASE
1) JBSAVX:
1) IFN FTEXE,<JRST JBEXE> ;SET UP TO WRITE AN EXE FILE
1) IFE FTEXE,<
1) SKIPN HC.LB ;ANYTHING IN HIGH SEG?
1) JRST JBNOHI ;NO, JUST SAVE LOW SEG
1) PUSHJ P,HJBSET ;SETUP VESTIGIAL JOB DATA AREA (
HIGH)
1) SKIPN PAG.S2 ;PAGING HIGH SEG?
1) JRST JBSHGH ;NO, JUST SAVE IT
1)
1)43 ;JUST WRITE OUT LAST PAGES
1) ;AND JBHDA (0-7 RELATIVE)
1) ;AND EITHER RENAME OR COPY FILE
1) ;TO RIGHT F/S
1) HRLZ T1,LW.S2 ;LOWER WINDOW
1) HRR T1,UW.S2 ;UPPER WINDOW
1) PUSHJ P,HC.OUT## ;OUTPUT LAST BLOCKS
1)
Digital Equipment Corporation 28-AUG-79 Page 349
PCO Log Report
1) SETZM LW.S2 ;START BACK AT ZERO
1) MOVEI T1,.IPM ;READ IN FIRST
1) PUSHJ P,HC.IN## ;READ IT BACK
1) PUSHJ P,BLTJHA ;COPY FIRST 10 WORDS BACK
1) ;WE NOW HAVE A HIGH SEG FILE ON
DSK
1) ;BUT IS IT THE RIGHT W/S
1) MOVE T2,IO.PTR+%VC ;[606] TO CHANNEL
1) PUSHJ P,DVPRO. ;[606] GET THE PROTECTION RIGHT
1) MOVEI T1,HC ;FROM HIGH CODE OVERFLOW
1) MOVEI T2,%VC ;TO SAVE FILE
1) PUSHJ P,DVMOV. ;RENAME OR COPY
1) JRST JBSHDL ;RENAMED, REMOVE HC AREA
1)
1) ;HERE IF NOT PAGING. WRITE OUT THE HIGH SEGMENT FILE.
1) JBSHGH: MOVEI R,2 ;POINT TO HIGH SEGMENT
1) PUSHJ P,SAVINI ;OPEN SAVE FILE
1) JBSHG1: MOVE T1,HC.AB ;GET LENGTH OF HIGH CODE AREA
1) SUB T1,HC.LB
1) SKIPN PAG.S2 ;PAGING (NOT ALL IN CORE)
1) SKIPE .JBDDT(P1) ;OR DDT LOADED?
1) JRST JBSHGN ;USE ALL OF AREA
1) CAMLE T1,HL.S2 ;UNLESS SMALLER THAN HIGHEST LOC
1) MOVE T1,HL.S2 ;USE HIGHEST LOC LOADED
1) JBSHGN: MOVN T1,T1 ;IOWD IS NEG
1) HRLZ T1,T1 ;IN LEFT HALF
1) HRR T1,HC.LB ;GET ADDRESS OF FIRST WORD
1) HRRI T1,-1(T1) ;-1
1) SETZ T2, ;TERMINATE LIST
1) OUT DC,T1 ;DUMP CORE IMAGE AS IS
1) JRST JBSHGR ;OK
1) PUSH P,[DC]
1) .ERR. (ST,,V%L,L%F,S%F,SOE,<SAVE file output error>)
1)
1)44 JBSHGR: MOVEI T1,DC ;MAKE SURE CHAN# SETUP
1) MOVEM T1,IO.CHN
1) PUSHJ P,DVRLS.## ;RELEASE DEVICE
1)
1)
1) ;HERE AFTER HI SEG SAVED. DELETE POSSIBLE .HGH/.SHR & .LOW FILES
1) JBSHDL: MOVEI T1,TC ;CHAN#
1) MOVEM T1,IO.CHN
1) MOVE T1,IO.PTR+%VC ;PSEUDO CHAN#
1) MOVEM T1,IO.PTR+TC ;INCASE OF ERROR
1) PUSHJ P,DVCHN.## ;T1 POINTS TO DATA BLOCK ON RETU
RN
1) MOVSI T2,(Z TC,) ;RESET CHAN # IN AC FIELD
1) MOVEM T2,I.CHN(T1) ;SINCE %VC IS THERE CURRENTLY
1) SKIPE T2,SSNAME ;GET REQUIRED NAME
Digital Equipment Corporation 28-AUG-79 Page 350
PCO Log Report
1) JRST .+3 ;USUALLY ITS GIVEN
1) SKIPN T2,RUNAME ;IF NOT TRY /RUNAME
1) MOVE T2,LODNAM ;DEFAULT AS LAST RESORT
1) MOVEM T2,I.NAM(T1) ;DELETE THIS FILE
1) PUSH P,T2 ;SAVE NAME FOR .LOW
1) HLLZ T2,SSEXT ;GET EXT WE WANT
1) TLC T2,331732 ;DELETE OTHER ONE
1) MOVEM T2,I.EXT(T1)
1) PUSHJ P,DVOPN.## ;OPEN DEVICE
1) MOVEI T1,TC ;SET CHAN#
1) PUSHJ P,DVDEL.##
1) JFCL
1) PUSHJ P,DVCHN.##
1) POP P,I.NAM(T1) ;RESTORE NAME
1) PUSH P,I.EXT(T1) ;[575] SAVE EXTENSION IN CASE /E
XEC
1) HRLZ T2,SSEXT ;INCASE USER SUPPLIED EXT
1) SKIPN T2 ;DELETE IT INCASE ONLY HIGH
1) MOVSI T2,'LOW'
1) MOVEM T2,I.EXT(T1) ;AND DELETE THIS ALSO
1) PUSHJ P,DVOPN.## ;OPEN CHAN AGAIN
1) MOVEI T1,TC ;SET CHAN#
1) PUSHJ P,DVDEL.##
1) JFCL
1) ;FALL THROUGH TO NEXT PAGE
1)
1)45 ;HERE TO SETUP LOW SEG FILE SPEC
1) PUSHJ P,DVCHN.## ;[575] POINT BACK AT I/O DATA BL
OCK
1) POP P,I.EXT(T1) ;[575] RESTORE EXTENSION IN CASE
/EXEC
1) HRLZ T1,SSEXT ;INCASE USER SUPPLIED
1) SKIPN T1
1) MOVSI T1,'LOW' ;IF ANY LOW SEG STUFF
1) MOVEM T1,SSEXT ;EXT IS NOW LOW NOT SAV
1) MOVEI T1,HC.IX ;ALL DONE WITH HIGH SEG CODE ARE
A
1) PUSHJ P,XX.ZAP ;SO GET RID OF IT
1) MOVE T1,IO.PTR+DC ;BUT SAVE FILE SPEC
1) MOVEM T1,IO.PTR+HC ;IN CASE /EXEC
1) JRST JBSLOW ;NOW SAVE LOW SEG
1) JBNOHI: HRLZ T1,SSEXT ;INCASE USER SUPPLIED IT
1) SKIPN T1
1) IFE TOPS20,<
1) MOVSI T1,'SAV' ;EXT IS NOW SAV NOT LOW
1) >
1) IFN TOPS20,<
1) MOVSI T1,'EXE' ;EXT IS NOW EXE NOT LOW
1) >
Digital Equipment Corporation 28-AUG-79 Page 351
PCO Log Report
1) MOVEM T1,SSEXT
1) ;FALL INTO JBSLOW
1)
1)46 ;JOBDAT IS NOW SETUP - IF PAGING WRITE OUT REST OF CORE IMAGE
1) ;AND READ IN AS MUCH AS POSSIBLE FOR CORE COMPRESSOR
1) JBSLOW: SKIPN PAG.S1 ;PAGING?
1) JRST JBSAV3 ;NO, JUST OUTPUT CORE IMAGE
1) HRLZ T1,LW.S1 ;GET LOWER WINDOW
1) HRR T1,UW.S1 ;TO UPPER
1) PUSHJ P,LC.OUT## ;OUTPUT IT ALL
1) ;NOW TO SEE IF WE CAN READ ALL OF CORE FILE BACK INTO CORE
1) ; IF NOT READ IN AS MUCH AS POSSIBLE
1) SETZM LW.S1 ;START AT LOWEST LOCATION
1) MOVE T1,DY.AB ;HIGHEST LOC WE CAN NOT USE
1) MOVEM T1,DY.UB ;TELL LNKCOR ABOUT IT
1) ADDI T1,1
1) MOVEM T1,LC.LB ;BACKUP IF WE CAN
1) SKIPN T1,LS.LB ;CAN ONLY USE TO BOTTOM OF LS
1) ;AREA IF IT'S STILL THERE
1) SKIPA T1,.JBREL ;IF IT'S NOT, CAN USE ALL OF COR
E
1) SUBI T1,1 ;LAST TO USE IS START OF LS - 1
1) MOVEM T1,LC.UB ;RESET POINTERS
1) MOVEM T1,LC.AB ;FOR CONSISTENCY
1) SUB T1,LC.LB ;MINUS WHAT WE ALREADY HAVE
1) MOVEM T1,UW.S1 ;ASSUME IT WON'T FIT
1) CAMGE T1,HC.S1 ;ENOUGH EXTRA FOR ALL OF FILE?
1) JRST JBSAV1 ;NO, DO IT THE HARD WAY
1) MOVE T1,HC.S1 ;WE NEED ONLY THIS MUCH
1) IORI T1,.IPM ;ROUNDED UP
1) MOVE T2,T1 ;CAN ALSO CUT BACK LC.AB
1) ADD T2,LC.LB ;TO WHAT WE ACTUALLY NEED
1) MOVEM T2,LC.AB ;TO SAVE TIME
1) PUSHJ P,LC.IN## ;READ WHAT WE CAN
1) PUSHJ P,LC.DLT ;DELETE LC FILE UNLESS .XPN WANT
ED
1) JRST JBSAV2 ;AND COPY 0-137 BACK INTO CORE
1)
1) JBSAV1: PUSHJ P,LC.IN## ;READ BACK AS MUCH CORE AS WE CA
N
1) JBSAV2: PUSHJ P,BLTJDA ;BLT .JBDA TO LOW SEG
1) JBSAV3: MOVE T1,LC.LB ;JOBDAT NOW SETUP IN CORE
1) SKIPN .JBDDT(T1) ;ALWAYS SAVE IF DDT LOADED
1) SKIPN HC.S2 ;ANY HIGH SEG (HC.LB IS ZERO BY
NOW)
1) JRST JBSAV4 ;NO, SO MUST WANT LOW SEG
1) MOVE T1,HC.S1 ;YES, SEE IF LOW SEG CONTAINS DA
TA
1) CAIG T1,.JBDA ;IF .JBCOR GREATER THAN 137
Digital Equipment Corporation 28-AUG-79 Page 352
PCO Log Report
1) JRST ENDSAV ;NO, SO NO LOW SEG FILE
1) JBSAV4: MOVEI R,1 ;POINT TO LOW SEGMENT
1) PUSHJ P,SAVINI ;INIT/ENTER SAV FILE
1) SKIPE IO.PTR+%XC ;WANT .XPN FILE?
1) SKIPE IO.PTR+LC ;BUT NOT PAGING
1) JRST ZCMPRS ;NO, NOW FOR ZERO COMPRESSOR
1) PUSHJ P,WRTXPN ;WRITE IT OUT
1) JRST ZCMPRS ;AND COMPRESS CORE IMAGE
1)
1) > ;END OF IFE FTEXE
1)
1)47 ;HERE TO SETUP REST OF JOBDAT AREA
1) ;ENTER WITH P1 POINTING TO JOBDAT AREA
1) ;AND P2 TO HIGH DATA AREA (0 IF NO HIGH SEG)
1)
****
2)41 ;**;[1146] Move 5 pages starting at JBSAVE down where indicated
2) ;**;[1146] below. Then insert this code before JOBSET-3L
2) ;**;[1146] DZN 8-Mar-79
2) SUBTTL FINISH JOBDAT AND DECIDE TO LOAD OR SAVE
2)
2) ;DETERMINE IF WE CAN LOAD THE PROGRAM INTO MEMORY OR MUST WRITE
AN .EXE FILE
2) ;INSTEAD. WE MUST WRITE AN .EXE FILE IF ANY OF THE FOLLOWING ARE
SATISFIED:
2) ;
2) ; 1. USER SPECIFIED /SAVE (SCAN BLOCK ALREADY SET UP).
2) ; 2. THERE ARE PAGE GAPS BETWEEN PSECTS, EXCEPT BELOW .HIGH.
(BEWARE THAT
2) ; OVERLAPS DO NOT COUNT AS GAPS).
2) ; 3. THERE ARE ANY PSECTS ABOVE THE HIGH SEGMENT.
2) ; 4. ON TOPS-20, ANY PSECT HAS THE READ-ONLY ATTRIBUTE.
2) ; 5. THE PROGRAM WILL NOT FIT IN MEMORY WITH LINK'S FINAL PLA
CEMENT CODE
2) ; (THIS INCLUDES THE CASE IN WHICH THE REMAP UUO WOULD HAV
E TO MOVE THE
2) ; HIGH SEGMENT DOWN).
2)
2) SAVTST: PUSHJ P,JOBSET ;[1146] FINISH SETTING UP JOBDAT
2) PUSHJ P,HJBSET ;[1146] AND VESTIGIAL JOBDAT
2) SKIPE IO.PTR+%VC ;[1146] SAVE FILE REQUIRED?
2) JRST JBSAVE ;YES
2)
2) ;TEST FOR GAPS BETWEEN PSECTS, PSECTS ABOVE THE HIGH SEGMENT AND
TOPS-20 WRITE-
2) ;LOCKED PSECTS.
2)
2) MOVE T1,HL.S1 ;[1146] SEE IF LOW SEG (CONTAINS
ALL PSECTS)
2) SKIPE HC.S2 ;[1146] HITS HIGH SEG (IF ANY)
WHICH CHECKS
Digital Equipment Corporation 28-AUG-79 Page 353
PCO Log Report
2) CAMG T1,LL.S2 ;[1146] FOR PSECTS ABOVE HIGH
SEG ORIGIN
2) SKIPA ;[1146] NO--OK SO FAR
2) JRST JBCMPX ;[1146] YES--CAN'T LOAD IT
2) MOVEI R,0 ;[1146] START AT .ABS.
2) MOVE W1,@RC.TB ;[1146] GET POINTER TO ITS RELOC
BLOCK
2) MOVE T1,RC.HL(W1) ;[1146] START WITH ITS HIGH LIMI
T
2) ADDI R,1 ;[1146] ADVANCE TO .LOW. FOR CHE
CKS
2) MOVX T4,2 ;[1146] # OF SEG CONTAINING ONLY
.HIGH.
2) SAVTS1: MOVE W2,@RC.TB ;[1146] GET POINTER TO THIS RELO
C BLOCK
2) IFN TOPS20,<
2) MOVE T2,RC.AT(W2) ;[1146] CHECK PSECT ATTRIBUTES F
OR READ-ONLY
2) TXNE T2,AT.RO ;[1146] ..
2) JRST JBCMPX ;[1146] CAN'T SET UP READ-ONLY P
AGES IN MEMORY
2) >
2) CAML T1,RC.HL(W2) ;[1146] DOES PREVIOUS PSECT ENGU
LF THIS ONE?
2) JRST SAVTS3 ;[1146] YES--NO GAP POSSIBLE YET
2) CAMN T4,RC.SG(W2) ;[1146] POSSIBLE GAP BELOW .HIGH
.?
2) JRST SAVTS2 ;[1146] YES--OK. USUAL CASE
2) MOVEI T2,-1(T1) ;[1146] COMPUTE LAST PAGE USED
2) LSH T2,-9 ;[1146] ..
2) LDB T3,[POINTR RC.IV(W2),^-^O777] ;[1146] GET FIRST
PAGE USED BY NEXT PSECT
2) SUB T3,T2 ;[1146] COMPUTE # PAGES BETWEEN
THIS AND LAST
2) SOJG T3,JBCMPX ;[1146] CAN'T LEAVE GAPS IN MEMO
RY
2) SAVTS2: MOVE T1,RC.HL(W2) ;[1146] SO FAR SO GOOD--ADVANCE
TO NEXT PSECT
2) SAVTS3: MOVE W1,W2 ;[1146] ADVANCE TO NEXT PSECT
2) CAMGE R,RC.NO ;[1146] LOOKED AT ALL PSECTS?
2) AOJA R,SAVTS1 ;[1146] NO--LOOK AT NEXT
2)
2) ; ..
2)
2)42 ; ..
2)
2) ;COMPUTE HOW MUCH MEMORY IT WILL TAKE TO HOLD THE PROGRAM.
2)
2) MOVE T1,DY.AB ;[1146] START WITH HIGHEST ADDR
Digital Equipment Corporation 28-AUG-79 Page 354
PCO Log Report
LINK NEEDS
2) ADD T1,HC.S1 ;[1146] ADD LENGTH OF ACTUALLY L
OADED CODE
2) IOR. T1,.PGSIZ ;[1146] ..
2) SKIPE HC.S2 ;[1146] HIGH SEG EXISTS
2) CAMGE T1,LL.S2 ;[1146] AND ORIGIN BELOW WHERE
WE CAN PUT IT?
2) SKIPA ;[1146] NO--OK
2) JRST JBCMPX ;[1146] YES--REMAP WOULD FAIL SO
TOO COMPLEX
2) SKIPN PAG.S1 ;[1146] PAGING LOW SEGMENT
2) SKIPE PAG.S2 ;[1146] OR HIGH SEG?
2) SKIPA ;[1146] YES--SEE IF ALL WILL FIT
IN
2) JRST JBLOAD ;[1146] NO--IT FITS NOW SO JUST
SHUFFLE
2) ADD T1,HL.S2 ;[1146] ADD LENGTH OF HIGH SEGME
NT
2) IOR. T1,.PGSIZ ;[1146] ..
2) TLNE T1,-1 ;[732] OVERFLOWED INTO THE LH?
2) JRST JBCMPX ;[1146] YES--CAN'T FIT SO WRITE
.EXE FILE
2) IFE TOPS20,< ;[1113] SEE IF WE CAN EXPAND ON
TOPS-10
2) CAMG T1,.JBREL ;DO WE HAVE ENOUGH ALREADY?
2) JRST JBLOAD ;[1146] YES, READ IN REST OF TEM
P FILE
2) CORE T1, ;NO TRY FOR IT
2) JRST JBCMPX ;[1146] WON'T FIT--WRITE .EXE FI
LE
2) MOVEI T1,HG.TAB ;OK, BUT DON'T FORGET TO GIVE IT
TO SOMEONE
2) SKIPN TAB.LB(T1) ;USUAL LOOP
2) SOJA T1,.-1
2) MOVE T2,.JBREL
2) MOVEM T2,TAB.UB(T1)
2) >
2) IFN TOPS20,< ;[1113] WE'RE AS BIG AS WE CAN G
ET ON TOPS-20
2) CAMLE T1,.JBREL ;[1113] DO WE HAVE ENOUGH ALREAD
Y?
2) JRST JBCMPX ;[1146] NO--PROGRAM WON'T FIT WI
TH LINK
2) >
2) JRST JBLOAD ;[1146] PROGRAM WILL FIT--GO BRI
NG IT IN
2)
2)43 ;HERE TO SET UP THE REST OF THE JOBDAT AREA. ENTER WITH P1 POINT
ING TO JOBDAT
Digital Equipment Corporation 28-AUG-79 Page 355
PCO Log Report
2) ;AREA AND P2 TO VESTIGIAL JOBDAT (0 IF NO HIGH SEGMENT).
2)
**************
1)50 ;HERE TO DELETE LC FILE
****
2)46 ;**;[1146] Insert before LC.DLT-5L DZN 8-Mar-79
2) SUBTTL FORCE nnnLNK/SAVE
2)
2) ;HERE IF USER DID NOT SPECIFY /SAVE BUT PROGRAM IS TOO COMPLEX (
TOO LARGE, PSECT
2) ;GAPS, ETC.) TO LOAD. DUMMY UP A SCAN BLOCK AS IF THE USER TYPED
nnnLNK/SAVE,
2) ;PRINT A WARNING AND FALL INTO .EXE WRITING CODE.
2)
2) JBCMPX: MOVEI T2,F.LEN ;[1146] SET UP FILE SPEC
2) PUSHJ P,DY.GET## ;AS THOUGH WE HAD SEEN /SAVE
2) MOVE P1,T1 ;STORE POINTER TO "SCAN" BLOCK
2) HLLZ T2,JOBNUM ;SIXBIT JOBNUMBER
2) HRRI T2,'LNK' ;REST OF NAME
2) MOVEM T2,F.NAME(T1)
2) MOVEM T2,SSNAME ;HERE ALSO
2) IFE FTEXE,<
2) MOVSI T2,'HGH' ;MARK NON-SHAREABLE
2) SKIPN HL.S2 ;IF NO HIGH
2) MOVSI T2,'SAV' ;SO MESSAGE IS CORRECT
2) >
2) IFN FTEXE,<
2) MOVSI T2,'EXE' ;SO MESSAGE IS CORRECT
2) >
2) MOVEM T2,F.EXT(T1)
2) MOVEM T2,SSEXT ;FOR SAVE FILE
2) MOVSI T2,'DSK' ;MAKE SURE IT GOES ON DSK
2) MOVEM T2,F.DEV(T1) ;INCASE DEFAULTS SCREWED UP BY N
OW
2) PUSHJ P,DVOUT.## ;SETUP DATA BLOCK
2) %VC,,.IODPR ;ON FAKE CHAN IN DUMP MODE
2) SKIPE EXECSW ;WANT TO EXECUTE?
2) JRST JBCMP1 ;[1146] YES--LNKPCX
2) .ERR. (MS,.EC,V%L,L%W,S%W,PCL,<Program too complex to
load, saving as >)
2) .ETC. (JMP,.EC,,,,JBCMP2)
2) JBCMP1: .ERR. (MS,.EC,V%L,L%W,S%I,PCX,<Program too complex to
load and execute, will run from >)
2) JBCMP2: .ETC. (FSP,,,,,%VC)
2) ; JRST JBSAVE ;[1146] FALL THROUGH TO WRITE .E
XE FILE
2)
2)47 ;**;[1146] Place 5 pages here from JBSAVE above. Then make minor
2) ;**;[1146] changes as noted. DZN 8-Mar-79
2) SUBTTL GENERATE .EXE (OR .XPN/.SHR/.HGH/.LOW) FILE
2)
Digital Equipment Corporation 28-AUG-79 Page 356
PCO Log Report
2) ;SOME JOBDAT LOCATIONS WE NEED TO KNOW
2) .JBHSO==75 ;PAGE # OF HIGH SEG ORIGIN
2) .JBSDD==114 ;SAVED .JBDDT
2) .JBS41==122 ;SAVED .JB41
2) EXTERN .JBREN
2) JOBHSA==0 ;HIGH .JBSA
2) JOBH41==1 ;HIGH .JB41
2) JOBHRN==3 ;HIGH .JBHRL & .JBREN
2) JOBHSO==7 ;PAGE # OF HIGH SEG ORIGIN IN HIGH
2)
2) ;HERE TO SETUP SAVED LOCATIONS
2) JBSAVE: .ERR. (MS,0,V%L,L%I,S%I,CSF,<Creating saved file>)
2) ;**;[1146] Delete @JBSAVE+1L DZN 8-Mar-79
2) IFE FTEXE,<
2) MOVE T2,.JBDDT(P1) ;GET DDT START
2) MOVEM T2,.JBSDD(P1) ;TO SAFE PLACE
2) MOVE T2,.JB41(P1) ;SAME FOR UUO HANDLER
2) MOVEM T2,.JBS41(P1)
2) >
2) ;**;[1146] Delete @JBSAVE+13L DZN 8-Mar-79
2) HLRZ T1,.JBSA(P1) ;ALSO SETUP RIGHT HALF OF .JBCOR
2) IFN FTOVERLAY,<
2) SKIPL LNKMAX ;SEEN ANY?
2) SKIPN JOB116 ;YES, AND WANT SYMBOLS?
2) CAIA ;NO
2) HLRZ T1,.JBCOR(P1) ;INCLUDE SYMBOLS
2) >
2) IOR. T1,.PGSIZ ;TO HIGHEST LOC REQUIRED
2) HRRM T1,.JBCOR(P1) ;SO SAVE GET WORKS
2) ;**;[1132] Insert @ JBSAVE+23L JNG 30-Jan-79
2) SKIPL SYMSEG ;[1132] SYMBOLS IN A PSECT?
2) JRST JBSAVX ;[1132] NO, SKIP THIS
2) HLRE T1,.JBSYM(P1) ;[1132] YES, GET -LENGTH OF TABL
E
2) HRRZ T2,.JBSYM(P1) ;[1132] GET FIRST ADDR OF TABLE
2) SUB T2,T1 ;[1132] COMPUTE FIRST FREE AFTER
TABLE
2) CAMLE T2,HC.S1 ;[1132] UPDATE AMOUNT OF CODE IN
LC AREA
2) MOVEM T2,HC.S1 ;[1132] BUT NEVER DECREASE
2) CAMLE T2,HL.S1 ;[1132] ALSO UPDATE SIZE OF SEGM
ENT
2) MOVEM T2,HL.S1 ;[1132] NEVER DECREASE
2) JBSAVX:
2) IFN FTEXE,<JRST JBEXE> ;SET UP TO WRITE AN EXE FILE
2) IFE FTEXE,<
2) SKIPN HC.LB ;ANYTHING IN HIGH SEG?
2) JRST JBNOHI ;NO, JUST SAVE LOW SEG
2) ;**;[1146] Delete @JBSAVX+5L DZN 8-Mar-79
Digital Equipment Corporation 28-AUG-79 Page 357
PCO Log Report
2) SKIPN PAG.S2 ;PAGING HIGH SEG?
2) JRST JBSHGH ;NO, JUST SAVE IT
2)
2)48 ;JUST WRITE OUT LAST PAGES
2) ;AND JBHDA (0-7 RELATIVE)
2) ;AND EITHER RENAME OR COPY FILE
2) ;TO RIGHT F/S
2) HRLZ T1,LW.S2 ;LOWER WINDOW
2) HRR T1,UW.S2 ;UPPER WINDOW
2) PUSHJ P,HC.OUT## ;OUTPUT LAST BLOCKS
2)
2) SETZM LW.S2 ;START BACK AT ZERO
2) MOVEI T1,.IPM ;READ IN FIRST
2) PUSHJ P,HC.IN## ;READ IT BACK
2) PUSHJ P,BLTJHA ;COPY FIRST 10 WORDS BACK
2) ;WE NOW HAVE A HIGH SEG FILE ON
DSK
2) ;BUT IS IT THE RIGHT W/S
2) MOVE T2,IO.PTR+%VC ;[606] TO CHANNEL
2) PUSHJ P,DVPRO. ;[606] GET THE PROTECTION RIGHT
2) MOVEI T1,HC ;FROM HIGH CODE OVERFLOW
2) MOVEI T2,%VC ;TO SAVE FILE
2) PUSHJ P,DVMOV. ;RENAME OR COPY
2) JRST JBSHDL ;RENAMED, REMOVE HC AREA
2)
2) ;HERE IF NOT PAGING. WRITE OUT THE HIGH SEGMENT FILE.
2) JBSHGH: MOVEI R,2 ;POINT TO HIGH SEGMENT
2) PUSHJ P,SAVINI ;OPEN SAVE FILE
2) JBSHG1: MOVE T1,HC.AB ;GET LENGTH OF HIGH CODE AREA
2) SUB T1,HC.LB
2) SKIPN PAG.S2 ;PAGING (NOT ALL IN CORE)
2) SKIPE .JBDDT(P1) ;OR DDT LOADED?
2) JRST JBSHGN ;USE ALL OF AREA
2) CAMLE T1,HL.S2 ;UNLESS SMALLER THAN HIGHEST LOC
2) MOVE T1,HL.S2 ;USE HIGHEST LOC LOADED
2) JBSHGN: MOVN T1,T1 ;IOWD IS NEG
2) HRLZ T1,T1 ;IN LEFT HALF
2) HRR T1,HC.LB ;GET ADDRESS OF FIRST WORD
2) HRRI T1,-1(T1) ;-1
2) SETZ T2, ;TERMINATE LIST
2) OUT DC,T1 ;DUMP CORE IMAGE AS IS
2) JRST JBSHGR ;OK
2) PUSH P,[DC]
2) .ERR. (ST,,V%L,L%F,S%F,SOE,<SAVE file output error>)
2)
2)49 JBSHGR: MOVEI T1,DC ;MAKE SURE CHAN# SETUP
2) MOVEM T1,IO.CHN
2) PUSHJ P,DVRLS.## ;RELEASE DEVICE
2)
Digital Equipment Corporation 28-AUG-79 Page 358
PCO Log Report
2)
2) ;HERE AFTER HI SEG SAVED. DELETE POSSIBLE .HGH/.SHR & .LOW FILES
2) JBSHDL: MOVEI T1,TC ;CHAN#
2) MOVEM T1,IO.CHN
2) MOVE T1,IO.PTR+%VC ;PSEUDO CHAN#
2) MOVEM T1,IO.PTR+TC ;INCASE OF ERROR
2) PUSHJ P,DVCHN.## ;T1 POINTS TO DATA BLOCK ON RETU
RN
2) MOVSI T2,(Z TC,) ;RESET CHAN # IN AC FIELD
2) MOVEM T2,I.CHN(T1) ;SINCE %VC IS THERE CURRENTLY
2) SKIPE T2,SSNAME ;GET REQUIRED NAME
2) JRST .+3 ;USUALLY ITS GIVEN
2) SKIPN T2,RUNAME ;IF NOT TRY /RUNAME
2) MOVE T2,LODNAM ;DEFAULT AS LAST RESORT
2) MOVEM T2,I.NAM(T1) ;DELETE THIS FILE
2) PUSH P,T2 ;SAVE NAME FOR .LOW
2) HLLZ T2,SSEXT ;GET EXT WE WANT
2) TLC T2,331732 ;DELETE OTHER ONE
2) MOVEM T2,I.EXT(T1)
2) PUSHJ P,DVOPN.## ;OPEN DEVICE
2) MOVEI T1,TC ;SET CHAN#
2) PUSHJ P,DVDEL.##
2) JFCL
2) PUSHJ P,DVCHN.##
2) POP P,I.NAM(T1) ;RESTORE NAME
2) PUSH P,I.EXT(T1) ;[575] SAVE EXTENSION IN CASE /E
XEC
2) HRLZ T2,SSEXT ;INCASE USER SUPPLIED EXT
2) SKIPN T2 ;DELETE IT INCASE ONLY HIGH
2) MOVSI T2,'LOW'
2) MOVEM T2,I.EXT(T1) ;AND DELETE THIS ALSO
2) PUSHJ P,DVOPN.## ;OPEN CHAN AGAIN
2) MOVEI T1,TC ;SET CHAN#
2) PUSHJ P,DVDEL.##
2) JFCL
2) ;FALL THROUGH TO NEXT PAGE
2)
2)50 ;HERE TO SETUP LOW SEG FILE SPEC
2) PUSHJ P,DVCHN.## ;[575] POINT BACK AT I/O DATA BL
OCK
2) POP P,I.EXT(T1) ;[575] RESTORE EXTENSION IN CASE
/EXEC
2) HRLZ T1,SSEXT ;INCASE USER SUPPLIED
2) SKIPN T1
2) MOVSI T1,'LOW' ;IF ANY LOW SEG STUFF
2) MOVEM T1,SSEXT ;EXT IS NOW LOW NOT SAV
2) MOVEI T1,HC.IX ;ALL DONE WITH HIGH SEG CODE ARE
A
2) PUSHJ P,XX.ZAP ;SO GET RID OF IT
Digital Equipment Corporation 28-AUG-79 Page 359
PCO Log Report
2) MOVE T1,IO.PTR+DC ;BUT SAVE FILE SPEC
2) MOVEM T1,IO.PTR+HC ;IN CASE /EXEC
2) JRST JBSLOW ;NOW SAVE LOW SEG
2) JBNOHI: HRLZ T1,SSEXT ;INCASE USER SUPPLIED IT
2) SKIPN T1
2) IFE TOPS20,<
2) MOVSI T1,'SAV' ;EXT IS NOW SAV NOT LOW
2) >
2) IFN TOPS20,<
2) MOVSI T1,'EXE' ;EXT IS NOW EXE NOT LOW
2) >
2) MOVEM T1,SSEXT
2) ;FALL INTO JBSLOW
2)
2)51 ;JOBDAT IS NOW SETUP - IF PAGING WRITE OUT REST OF CORE IMAGE
2) ;AND READ IN AS MUCH AS POSSIBLE FOR CORE COMPRESSOR
2) JBSLOW: SKIPN PAG.S1 ;PAGING?
2) JRST JBSAV3 ;NO, JUST OUTPUT CORE IMAGE
2) HRLZ T1,LW.S1 ;GET LOWER WINDOW
2) HRR T1,UW.S1 ;TO UPPER
2) PUSHJ P,LC.OUT## ;OUTPUT IT ALL
2) ;NOW TO SEE IF WE CAN READ ALL OF CORE FILE BACK INTO CORE
2) ; IF NOT READ IN AS MUCH AS POSSIBLE
2) SETZM LW.S1 ;START AT LOWEST LOCATION
2) MOVE T1,DY.AB ;HIGHEST LOC WE CAN NOT USE
2) MOVEM T1,DY.UB ;TELL LNKCOR ABOUT IT
2) ADDI T1,1
2) MOVEM T1,LC.LB ;BACKUP IF WE CAN
2) SKIPN T1,LS.LB ;CAN ONLY USE TO BOTTOM OF LS
2) ;AREA IF IT'S STILL THERE
2) SKIPA T1,.JBREL ;IF IT'S NOT, CAN USE ALL OF COR
E
2) SUBI T1,1 ;LAST TO USE IS START OF LS - 1
2) MOVEM T1,LC.UB ;RESET POINTERS
2) MOVEM T1,LC.AB ;FOR CONSISTENCY
2) SUB T1,LC.LB ;MINUS WHAT WE ALREADY HAVE
2) MOVEM T1,UW.S1 ;ASSUME IT WON'T FIT
2) CAMGE T1,HC.S1 ;ENOUGH EXTRA FOR ALL OF FILE?
2) JRST JBSAV1 ;NO, DO IT THE HARD WAY
2) MOVE T1,HC.S1 ;WE NEED ONLY THIS MUCH
2) IORI T1,.IPM ;ROUNDED UP
2) MOVE T2,T1 ;CAN ALSO CUT BACK LC.AB
2) ADD T2,LC.LB ;TO WHAT WE ACTUALLY NEED
2) MOVEM T2,LC.AB ;TO SAVE TIME
2) PUSHJ P,LC.IN## ;READ WHAT WE CAN
2) PUSHJ P,LC.DLT ;DELETE LC FILE UNLESS .XPN WANT
ED
2) JRST JBSAV2 ;AND COPY 0-137 BACK INTO CORE
2)
Digital Equipment Corporation 28-AUG-79 Page 360
PCO Log Report
2) JBSAV1: PUSHJ P,LC.IN## ;READ BACK AS MUCH CORE AS WE CA
N
2) JBSAV2: PUSHJ P,BLTJDA ;BLT .JBDA TO LOW SEG
2) JBSAV3: MOVE T1,LC.LB ;JOBDAT NOW SETUP IN CORE
2) SKIPN .JBDDT(T1) ;ALWAYS SAVE IF DDT LOADED
2) SKIPN HC.S2 ;ANY HIGH SEG (HC.LB IS ZERO BY
NOW)
2) JRST JBSAV4 ;NO, SO MUST WANT LOW SEG
2) MOVE T1,HC.S1 ;YES, SEE IF LOW SEG CONTAINS DA
TA
2) CAIG T1,.JBDA ;IF .JBCOR GREATER THAN 137
2) JRST ENDSAV ;NO, SO NO LOW SEG FILE
2) JBSAV4: MOVEI R,1 ;POINT TO LOW SEGMENT
2) PUSHJ P,SAVINI ;INIT/ENTER SAV FILE
2) SKIPE IO.PTR+%XC ;WANT .XPN FILE?
2) SKIPE IO.PTR+LC ;BUT NOT PAGING
2) JRST ZCMPRS ;NO, NOW FOR ZERO COMPRESSOR
2) PUSHJ P,WRTXPN ;WRITE IT OUT
2) JRST ZCMPRS ;AND COMPRESS CORE IMAGE
2)
2) > ;END OF IFE FTEXE
2)
2)52 ;HERE TO DELETE LC FILE
**************
1)93 SUBTTL HERE WHEN NOT ENOUGH CORE TO LOAD OR EXECUTE JOB
1)
1) ;WHEN THERE IS NOT ENOUGH CORE TO LOAD OR EXECUTE JOB
1) ;BUT USER DID NOT SPECIFY A SAV FILE
1) ;GIVE WARNING AND CREATE A SAV FILE
1) ;AND IF /EXECUTE , RUN IT
1)
1) JBNC: MOVEI T2,F.LEN ;SETUP FAKE FILE SPEC
1) PUSHJ P,DY.GET## ;AS THOUGH WE HAD SEEN /SAVE
1) MOVE P1,T1 ;STORE POINTER TO "SCAN" BLOCK
1) HLLZ T2,JOBNUM ;SIXBIT JOBNUMBER
1) HRRI T2,'LNK' ;REST OF NAME
1) MOVEM T2,F.NAME(T1)
1) MOVEM T2,SSNAME ;HERE ALSO
1) IFE FTEXE,<
1) MOVSI T2,'HGH' ;MARK NON-SHAREABLE
1) SKIPN HL.S2 ;IF NO HIGH
1) MOVSI T2,'SAV' ;SO MESSAGE IS CORRECT
1) >
1) IFN FTEXE,<
1) MOVSI T2,'EXE' ;SO MESSAGE IS CORRECT
1) >
1) MOVEM T2,F.EXT(T1)
1) MOVEM T2,SSEXT ;FOR SAVE FILE
1) MOVSI T2,'DSK' ;MAKE SURE IT GOES ON DSK
1) MOVEM T2,F.DEV(T1) ;INCASE DEFAULTS SCREWED UP BY N
OW
Digital Equipment Corporation 28-AUG-79 Page 361
PCO Log Report
1) PUSHJ P,DVOUT.## ;SETUP DATA BLOCK
1) %VC,,.IODPR ;ON FAKE CHAN IN DUMP MODE
1) SKIPN EXECSW ;WANT TO EXECUTE?
1) TDZA T1,T1 ;NO
1) MOVEI T1,1 ;YES
1) PUSHJ P,@[EXP JBNCM1,JBNCM2](T1) ;PRINT MESSAGE
1) JRST JBSAVE ;AND TREAT AS IF /SAVE SEEN
1)
1) JBNCM1: .ERR. (MS,.EC,V%L,L%W,S%W,NCL,<Not enough core to load
job, saved as >)
1) .ETC. (FSP,,,,,%VC)
1) POPJ P,
1)
1) JBNCM2: .ERR. (MS,.EC,V%L,L%W,S%I,NCX,<Not enough core to load
and execute job, will run from >)
1) .ETC. (FSP,,,,,%VC)
1) POPJ P,
1)
1)94 SUBTTL HERE TO BLT DOWN AREA AND EITHER GO TO EXECUTION OR EXI
T
1)
1) ;HERE TO CHECK FOR HIGH SEG AND MAKE SURE IT'S ON A K BOUNDARY
1) JBEXIT: PUSHJ P,JOBSET ;SETUP REST OF JOBDAT
1) PUSHJ P,HJBSET ;AND VESTIGIAL JOB DATA AREA
1) SKIPN PAG.S1 ;SEE IF PAGING LOW
1) SKIPE PAG.S2 ;OR HIGH
1) PUSHJ P,JBCC ;YES, SEE IF ENOUGH CORE
1) SKIPE IO.PTR+%XC ;DO WE WANT .XPN FILE
1) SKIPE IO.PTR+LC ;AND DON'T ALRADY HAVE AN OVERFL
OW FILE
1) CAIA ;NOT BOTH TRUE
1) PUSHJ P,WRTXPN ;WRITE OUT CURRENT CORE IMAGE
1) SKIPE T1,HC.LB ;ANY HIGH SEG CODE
1) IFN TOPS20,<
1) TRNN T1,.PGSIZ ;[650] ON A PAGE BOUND ALREADY?
1) JRST JBEX1 ;[650] YES, EXPECTED
1) SUBI T1,1001 ;[650] NO, FIND NEXT LOWER PAGE
1) > ;END IFN TOPS20
1) IFE TOPS20,<
1) TDNN T1,.PGSIZ ;[650] ON A (K/P) BOUND?
1) JRST JBEX1 ;[650] YES, WHAT LUCK
1) SUB T1,.PGSIZ ;[650] NO, NEXT LOWER PAGE
1) SUBI T1,2 ;[650] 1 FOR EVEN PAGE, 1 FOR LO
W END
1) > ;END OF IFE TOPS20
1) IOR. T1,.PGSIZ ;[650] UP TO CORE BLOCK BOUND
1) CAMGE T1,LC.AB ;ENOUGH SPARE TO BLT DOWN?
1) JRST JBEXUP ;NO MOVE UPWARDS
1) ADDI T1,1 ;PUT THE 1 BACK
Digital Equipment Corporation 28-AUG-79 Page 362
PCO Log Report
1) HRL T1,HC.LB ;FROM,,TO BLT POINTER
1) MOVE T2,HC.AB
1) SUB T2,HC.LB ;GET LENGTH
1) ADDI T2,(T1) ;LAST ADD TO BLT
1) HRRZM T1,HC.LB ;NEW LOW BASE
1) MOVEM T2,HC.AB ;NEW HIGH BASE
1) BLT T1,-1(T2) ;MOVE DATA
1) ;NOW TO ZERO REST OF AREA UP TO
K BOUND
1) HRRZI T1,-1(T2) ;GET TOP DATA WORD
1) IOR. T1,.PGSIZ ;[650] UP TO CORE BLOCK BOUND
1) SETZM (T2) ;ZERO FIRST WORD
1) HRLI T2,1(T2) ;FORM BLT POINTER
1) MOVS T2,T2 ;RIGHT WAY ROUND
1) BLT T2,(T1) ;ZERO JUNK
1) JRST JBEX1 ;NOW FOR REMAP
1)
1)95 ;HERE TO SEE IF WE CAN GET ENOUGH CORE TO FINISH THIS LOAD
1) ;IF WE CAN DO SO (UNLESS ALREADY ENOUGH)
1) ;IF NOT CREATE A SAVE FILE AND TRY TO RUN IT
1)
1) P0==P1-1 ;TO MAKE CODE EASIER TO READ
1)
1) JBCC: MOVE T1,HL.S2 ;GET HIGH SEG STUFF
1) IFE TOPS20,<
1) TDZE T1,.PGSIZ ;BUT MUST BE IN K OR P
1) >
1) IFN TOPS20,<
1) TRZE T1,.PGSIZ
1) >
1) IOR. T1,.PGSIZ ;SO ROUND UP
1) ADD T1,HC.S1 ;ADD HIGHEST DATA LOCATION REQUI
RED
1) ADD T1,DY.AB ;TOP OF SPACE WE STILL NEED
1) IFE TOPS20,<
1) TDZE T1,.PGSIZ ;ROUND UP
1) >
1) IFN TOPS20,<
1) TRZE T1,.PGSIZ
1) >
1) IOR. T1,.PGSIZ ;TO NEXT K OR P
1) ADDI T1,1 ;UP TO NEXT BLOCK
1) TLNE T1,-1 ;[732] OVERFLOWED INTO THE LH?
1) JRST JBNC ;[732] DO IT THE HARD WAY.
1) ;**;[1113] Insert after JBCC+19L DZN 25-Aug-78
1) IFE TOPS20,< ;[1113] SEE IF WE CAN EXPAND ON
TOPS-10
1) CAMG T1,.JBREL ;DO WE HAVE ENOUGH ALREADY?
1) JRST JBGC ;YES, READ IN REST OF TEMP FILE
Digital Equipment Corporation 28-AUG-79 Page 363
PCO Log Report
1) CORE T1, ;NO TRY FOR IT
1) JRST JBNC ;NO LUCK, DO IT THE HARD WAY
1) MOVEI T1,HG.TAB ;OK, BUT DON'T FORGET TO GIVE IT
TO SOMEONE
1) SKIPN TAB.LB(T1) ;USUAL LOOP
1) SOJA T1,.-1
1) MOVE T2,.JBREL
1) MOVEM T2,TAB.UB(T1)
1) ;**;[1113] Insert after JBCC+28L DZN 25-Aug-78
1) >
1) IFN TOPS20,< ;[1113] WE'RE AS BIG AS WE CAN G
ET ON TOPS-20
1) CAMLE T1,.JBREL ;[1113] DO WE HAVE ENOUGH ALREAD
Y?
1) JRST JBNC ;[1113] NO--GO DO IT THE HARD WA
Y
1) >
1) ;FALL INTO JBGC TO READ IN READ
IN REST OF TEMP FILE
1)
1)96 ;HERE TO READ IN HIGH/LOW TEMP FILES
1) ;IN ORDER TO MINIMIZE DSK TRANSFERES CURRENT CODE WILL NOT
1) ;BE OUTPUT AND REREAD, RATHER WE WILL BLT CODE TO CORRECT PLACE
1) ;AND READ IN REST ARROUND IT
1) ;AT THE END THE TEMP FILES WILL BE DELETED
1)
1) JBGC: DMOVE P1,LC.LB ;SAVE THE CURRENT LOCATIONS
1) DMOVE P3,LC.AB ; SO WE CAN MOVE DATA
1) MOVE T1,DY.AB ;TOP OF FIXED AREA
1) ADDI T1,1 ;NEXT FREE
1) MOVEM T1,LC.LB ;MAKE LOWEST FOR LOW CODE
1) ADD T1,HC.S1 ;HOW MUCH WE NEED
1) IORI T1,.IPM ;BLOCK BOUND
****
2)95 ;**;[1146] Delete entire page @JBNC and down through JBEXIT+4L
2) ;**;[1146] on next page. Move JBEXIT+5L through the end of the p
age
2) ;**;[1146] down where indicated below. Delete entire page @JBCC.
2) ;**;[1146] Then replace @JBGC-6L DZN 8-Mar-79
2) SUBTTL LOAD PROGRAM INTO MEMORY
2)
2) ;HERE TO BRING THE ENTIRE PROGRAM INTO MEMORY. IF NOT PAGING, TH
IS ONLY INVOLVES
2) ;COMPACTING THE LC AND HC AREAS DOWN TOWARD 0 AS FAR AS POSSIBLE
. IF PAGING,
2) ;MINIMIZE DISK TRANSFERS BY MOVING THE WINDOW (VIA BLT OR POP LO
OP) TO ITS FINAL
2) ;LOCATION, THEN READING IN THE REST OF THE APPROPRIATE OVERFLOW
FILE AROUND THE
Digital Equipment Corporation 28-AUG-79 Page 364
PCO Log Report
2) ;WINDOW.
2)
2) JBLOAD: DMOVE P1,LC.LB ;SAVE THE CURRENT LOCATIONS
2) DMOVE P3,LC.AB ; SO WE CAN MOVE DATA
2) MOVE T1,DY.AB ;TOP OF FIXED AREA
2) ADDI T1,1 ;NEXT FREE
2) MOVEM T1,LC.LB ;MAKE LOWEST FOR LOW CODE
2) ADD T1,HC.S1 ;HOW MUCH WE NEED
2) ;**;[1146] Insert before JBGC+6L DZN 8-Mar-79
2) SUBI T1,1 ;[1146] LB + LENGTH - 1 FOR LAST
NEEDED
2) IORI T1,.IPM ;BLOCK BOUND
**************
1)96 IORI T1,.IPM ;BLOCK BOUND
****
2)95 ;**;[1146] Insert before JBGC+16L DZN 8-Mar-79
2) SUBI T1,1 ;[1146] LB + LENGTH - 1 FOR LAST
NEEDED
2) IORI T1,.IPM ;BLOCK BOUND
**************
1)97 POPJ P, ;RETURN
1)
1)
1)98 ;HERE TO MOVE CODE FOR EITHER SEG AND READ IN DATA
1)
1) JBGCMV: MOVE T1,TAB.LB(R) ;BASE
1) ADD T1,LW.S0(R) ;PLUS WINDOW OFFSET
1) CAME T1,P0(R) ;IF WHERE WE SHOULD BE DO NOTHIN
G
1) PUSHJ P,[CAMG T1,P0(R) ;OTHERWISE MOVE UP OR DO
WN
1) JRST JBGCD ;DOWN
1) JRST JBGCU] ;UP
1) ;NOW FOR REST OF CODE
1) SKIPN PAG.S0(R) ;HOWEVER IF THIS SEGMENT NOT PAG
ED
1) POPJ P, ;WE MUST BE IN RIGHT PLACE ALREA
DY
1) HRRZ T1,LW.S0(R) ;GET LOWER WINDOW
1) SOJL T1,.+3 ;DONE IF WAS ZERO
1) SETZM LW.S0(R) ;NOW POINT TO BASE
1) PUSHJ P,@[EXP LC.IN##,HC.IN##]-1(R)
1) MOVE T1,HC.S0(R) ;HIGHEST DATA WE NEED
1) IORI T1,.IPM ;UP TO BOUND
1) CAMG T1,UW.S0(R) ;IF WE'VE ALREADY GOT IT IN
1) JRST .+5 ;JUST IGNORE
1) EXCH T1,UW.S0(R) ;GET BASE
1) HRLZI T1,1(T1) ;FIRST LOC TO READ
1) HRR T1,UW.S0(R) ;LAST
Digital Equipment Corporation 28-AUG-79 Page 365
PCO Log Report
1) PUSHJ P,@[EXP LC.IN##,HC.IN##]-1(R)
1) ;NOW TO ZERO JUNK AT TOP
1) HRRZ T1,TAB.AB(R) ;TOP IN USE OR KNOWN TO BE ZERO
1) CAMN T1,TAB.UB(R) ;ALL TAKEN?
1) POPJ P, ;YES
1) HRLI T1,1(T1) ;FIRST TO ZERO
1) SETZM 1(T1) ;CLEAR IT
1) ADDI T1,2 ;FORM BLT PTR
1) BLT T1,@TAB.UB(R) ;ALL THE WAY
1) POPJ P, ;ALL DONE
1)
1)99 JBGCHU: ;HERE TO MOVE HIGH UP
****
2)96 ;**;[1146] Replace @JBGCZ1+1L DZN 8-Mar-79
2) JRST JBEXIT ;[1146] PROGRAM NOW ALL IN MEMOR
Y
2)
2)97 ;**;[1146] Swap pages @JBGCMV and JBGCHU DZN 8-Mar-79
2) JBGCHU: ;HERE TO MOVE HIGH UP
**************
1)100 ;HERE TO MOVE WINDOW UP IN EITHER AREA
****
2)98 ;**;[1146] (Swapped as noted above). Make minor changes below.
2) ;**;[1146] DZN 8-Mar-79
2) ;HERE TO MOVE CODE FOR EITHER SEG AND READ IN DATA
2)
2) ;**;[1146] Insert before JBCHMV DZN 8-Mar-79
2) P0==P1-1 ;[1146] USED FOR REFERENCING P1
OR P2 VIA R
2)
2) JBGCMV: MOVE T1,TAB.LB(R) ;BASE
2) ADD T1,LW.S0(R) ;PLUS WINDOW OFFSET
2) CAME T1,P0(R) ;IF WHERE WE SHOULD BE DO NOTHIN
G
2) PUSHJ P,[CAMG T1,P0(R) ;OTHERWISE MOVE UP OR DO
WN
2) ;**;[1146] Replace @JBGCMV+4L DZN 8-Mar-79
2) PJRST JBGCD ;[1146] DOWN
2) PJRST JBGCU] ;[1146] UP
2) ;NOW FOR REST OF CODE
2) SKIPN PAG.S0(R) ;HOWEVER IF THIS SEGMENT NOT PAG
ED
2) POPJ P, ;WE MUST BE IN RIGHT PLACE ALREA
DY
2) HRRZ T1,LW.S0(R) ;GET LOWER WINDOW
2) SOJL T1,.+3 ;DONE IF WAS ZERO
2) SETZM LW.S0(R) ;NOW POINT TO BASE
2) PUSHJ P,@[EXP LC.IN##,HC.IN##]-1(R)
2) MOVE T1,HC.S0(R) ;HIGHEST DATA WE NEED
2) IORI T1,.IPM ;UP TO BOUND
2) CAMG T1,UW.S0(R) ;IF WE'VE ALREADY GOT IT IN
Digital Equipment Corporation 28-AUG-79 Page 366
PCO Log Report
2) JRST .+5 ;JUST IGNORE
2) EXCH T1,UW.S0(R) ;GET BASE
2) HRLZI T1,1(T1) ;FIRST LOC TO READ
2) HRR T1,UW.S0(R) ;LAST
2) PUSHJ P,@[EXP LC.IN##,HC.IN##]-1(R)
2) ;NOW TO ZERO JUNK AT TOP
2) HRRZ T1,TAB.AB(R) ;TOP IN USE OR KNOWN TO BE ZERO
2) CAMN T1,TAB.UB(R) ;ALL TAKEN?
2) POPJ P, ;YES
2) HRLI T1,1(T1) ;FIRST TO ZERO
2) SETZM 1(T1) ;CLEAR IT
2) ADDI T1,2 ;FORM BLT PTR
2) BLT T1,@TAB.UB(R) ;ALL THE WAY
2) POPJ P, ;ALL DONE
2)
2)99 ;HERE TO MOVE WINDOW UP IN EITHER AREA
**************
1)101 ;HERE TO MOVE CODE UP TO A K BOUND SO REMAP WILL WORK
****
2)100 ;**;[1146] Place saved code from JBEXIT here, then make minor ch
anges
2) ;**;[1146] as indicated. DZN 8-Mar-79
2) SUBTTL HERE TO BLT DOWN AREA AND EITHER GO TO EXECUTION OR EXIT
2)
2) ;HERE TO CHECK FOR HIGH SEG AND MAKE SURE IT'S ON A K BOUNDARY
2) JBEXIT: SKIPE IO.PTR+%XC ;[1146] DO WE WANT .XPN FILE
2) SKIPE IO.PTR+LC ;AND DON'T ALRADY HAVE AN OVERFL
OW FILE
2) CAIA ;NOT BOTH TRUE
2) PUSHJ P,WRTXPN ;WRITE OUT CURRENT CORE IMAGE
2) SKIPE T1,HC.LB ;ANY HIGH SEG CODE
2) IFN TOPS20,<
2) TRNN T1,.PGSIZ ;[650] ON A PAGE BOUND ALREADY?
2) JRST JBEX1 ;[650] YES, EXPECTED
2) SUBI T1,1001 ;[650] NO, FIND NEXT LOWER PAGE
2) > ;END IFN TOPS20
2) IFE TOPS20,<
2) TDNN T1,.PGSIZ ;[650] ON A (K/P) BOUND?
2) JRST JBEX1 ;[650] YES, WHAT LUCK
2) SUB T1,.PGSIZ ;[650] NO, NEXT LOWER PAGE
2) SUBI T1,2 ;[650] 1 FOR EVEN PAGE, 1 FOR LO
W END
2) > ;END OF IFE TOPS20
2) IOR. T1,.PGSIZ ;[650] UP TO CORE BLOCK BOUND
2) CAMGE T1,LC.AB ;ENOUGH SPARE TO BLT DOWN?
2) JRST JBEXUP ;NO MOVE UPWARDS
2) ADDI T1,1 ;PUT THE 1 BACK
2) HRL T1,HC.LB ;FROM,,TO BLT POINTER
2) MOVE T2,HC.AB
Digital Equipment Corporation 28-AUG-79 Page 367
PCO Log Report
2) SUB T2,HC.LB ;GET LENGTH
2) ADDI T2,(T1) ;LAST ADD TO BLT
2) HRRZM T1,HC.LB ;NEW LOW BASE
2) MOVEM T2,HC.AB ;NEW HIGH BASE
2) BLT T1,-1(T2) ;MOVE DATA
2) ;NOW TO ZERO REST OF AREA UP TO
K BOUND
2) HRRZI T1,-1(T2) ;GET TOP DATA WORD
2) IOR. T1,.PGSIZ ;[650] UP TO CORE BLOCK BOUND
2) SETZM (T2) ;ZERO FIRST WORD
2) HRLI T2,1(T2) ;FORM BLT POINTER
2) MOVS T2,T2 ;RIGHT WAY ROUND
2) BLT T2,(T1) ;ZERO JUNK
2) JRST JBEX1 ;NOW FOR REMAP
2)
2)101 ;HERE TO MOVE CODE UP TO A K BOUND SO REMAP WILL WORK
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 368
PCO Log Report
*********************
*PCO #:10-LINK -266*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 14-MAR-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] BAD EXE LOWLOC
[Source Before Edit] %4A (001146)
[Source After Edit] %4A (001147)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 369
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can write an incorrect EXE file under the
following conditions:
1. The lowest location loaded is at 400000 or above.
2. The lowest location loaded is not loaded first,
i.e., the load is not monotonic.
3. LINK is paging to disk.
4. The last location loaded is fairly near to the
first location loaded.
**********
[DIAGNOSIS]
Under the above conditions, the lowest location loaded
will be in the middle of the LC area window. If that
happens, LINK will move the bottom of the LC window up to
point to the lowest location loaded, but will not bother to
adjust the size of the LC area or the top of the window, so
the physical and virtual limits of the LC area disagree as
to how large the area is. This disagreement violates
assumptions made in the EXE file writer.
**********
[CURE]
When moving up the bottom of the virtual window, move
up the bottom of the area as well by giving the bottom of
the area to the DY area.
Digital Equipment Corporation 28-AUG-79 Page 370
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1157 08-Mar-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1612 12-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 8-Mar-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Mar-7
9
2)
**************
1)1 DECEVR==1146 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1147 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1147 JNG 12-Mar-79
2) ; Avoid bad EXE file if lowest location loaded is above 40
0000, LINK
2) ; is overflowing to disk, and lowest location loaded was n
ot the first
2) ; location loaded (i.e., load was not monotonic).
2) ; Routine: LNKXIT
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 371
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1302 08-Mar-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 1611 12-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 8-Mar-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 12-Mar-79
2)
**************
1)1 DECEVR==1146 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1147 ;DEC EDIT VERSION
2)
**************
1)4 SUBTTL ENTER HERE
****
2)4 ;1147 Adjust LC.LB when adjusting LW.S1 in JBEXE. Broken by 7
32.
2) SUBTTL ENTER HERE
**************
1)58 MOVEM T1,LW.S1 ;[732] NO, START AT LOWE
ST LOC
****
2)58 ;**;[1147] Replace @ JBEXEN+10L JNG 12-Mar-79
2) ;**;[1147] This is JBEXEE+1P9L if edit 1132 has been installed.
2) SUB T1,LW.S1 ;[1147] NO, FIND HOW FAR
TO SHRINK
2) ADDM T1,LW.S1 ;[1147] MOVE VIRTUAL WIN
DOW UP
2) ADDM T1,LC.LB ;[1147] GIVE AWAY BOTTOM
OF AREA
2) ADDM T1,DY.UB ;[1147] GIVE TO AREA JUS
T BELOW
2) JRST JBEXE1] ;[732]
**************
1)95 ADDI T1,1 ;NEXT FREE
****
2)95 ;**;[1147] Insert @ JBGC+3L JNG 12-Mar-79
2) ;**;[1147] This is JBLOAD+3L if edit 1146 has been installed.
2) MOVEM T1,DY.UB ;[1147] MAKE SURE UB IS UP TO DA
TE
2) ADDI T1,1 ;NEXT FREE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 372
PCO Log Report
*********************
*PCO #:10-LINK -265*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) TESTED IN 4A(1147)
[Date Entered] 14-MAR-79
[Programmer] D. NEFF
[Routines] LNKINI
[Key Words] LOG LNKFRE
[Source Before Edit] %4A (001147)
[Source After Edit] %4A (001150)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27632
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 373
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK gives the ?LNKFRE message for the log file if all of the
following conditions are met:
1. The user's default path is in an SFD.
2. A log device has been assigned the logical name LOG:,
requesting that LINK write a log file.
3. The /LOG switch is given to LINK to give the log file a
name.
**********
[DIAGNOSIS]
If a log file is requested at LINK start-up time by assigning a log
file device a logical name of LOG:, LINK begins the log file with a
temporary name of nnnLNK.LOG. If a /LOG switch is later specifed,
LINK remembers to rename the log file to the correct name at the
end of loading.
Unfortunately, LINK's initialization routines create the file by
hand but do not save the file's path over the ENTER UUO. Thus,
when LINK attempts to find the file later with the RENAME UUO, it
uses the junk left by the previous ENTER UUO. This causes LINK to
not find the file.
**********
[CURE]
Change the log file initialization routines to use LINK's own file
routines instead of doing the work by hand. These routines save
the path pointer over the ENTER UUO, allowing the subsequent RENAME
UUO to find the log file again.
Digital Equipment Corporation 28-AUG-79 Page 374
PCO Log Report
Digital Equipment Corporation 28-AUG-79 Page 375
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1612 12-Mar-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1033 14-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Mar-7
9
1) ;COPYRIGHT (C) 1973, 1978, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Mar-7
9
2) ;COPYRIGHT (C) 1973, 1978, 1979 BY
**************
1)1 DECEVR==1147 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1150 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1150 DZN 14-Mar-79 SPR 10-27632
2) ; Make LOGINI in LNKINI.MAC use standard LKNFIO routines t
o set up the log
2) ; file, so that the default path of a log file is preserve
d over the
2) ; ENTER.
2) ; Routine: LNKINI
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 376
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1101 30-Jan-1979
File 2) LINK:LNKINI.MAC[10,645063] created: 1041 14-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 30-Jan-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 14-Mar-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1132 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1150 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL INITIALIZE
****
2)2 ;1150 Call proper LNKFIO routines if a log file is opened at s
tart-up time.
2)3 SUBTTL INITIALIZE
**************
1)12 PUSH P,T1 ;SAVE DEVCHR WORD
1) MOVEI T2,LN.IO ;SPACE WE NEED
****
2)12 ;**;[1150] Delete @LOGINI+26L DZN 14-Mar-79
2) MOVEI T2,LN.IO ;SPACE WE NEED
**************
1)12 MOVEI T2,.IOASC ;ASCII MODE
****
2)12 ;**;[1150] Insert before LOGINI+30L DZN 14-Mar-79
2) MOVEI T2,RC ;[1150] SET UP LOG FILE CHANNEL
2) MOVEM T2,IO.CHN ;[1150] ..
2) MOVX T2,<Z RC,> ;[1150] AND IN FORM WE CAN IOR
INTO UUOS
2) MOVEM T2,I.CHN(T1) ;[1150] ..
2) MOVEI T2,.IOASC ;ASCII MODE
**************
1)12 HLLZ T2,JOBNUM ;SIXBIT JOB NUMBER
1) HRRI T2,'LNK' ;000LNK AS NAME
1) MOVEM T2,I.NAM(T1)
1) MOVSI T2,'LOG' ;EXTENSION
1) MOVEM T2,I.EXT(T1)
1) OPEN RC,@IO.PTR+RC ;OPEN IT
1) JRST OPNERR ;FAILED
1)13 ;HERE WITH LOG DEVICE OPENED. CREATE THE FILE.
1) MOVE T1,IO.PTR+RC ;GET ADDRESS
1) ADDI T1,I.RIB ;GET ENTER BLOCK
1) POP P,T2 ;GET DEVCHR BACK
1) TXNN T2,DV.DSK ;ONLY DO EXTENDED ENTER ON DSK
1) ADDI T1,2 ;POINT TO NAME
Digital Equipment Corporation 28-AUG-79 Page 377
PCO Log Report
1) ENTER RC,(T1)
1) JRST ENTERR ;FAILED
1) MOVE T1,IO.PTR+RC ;POINT TO OPEN BLOCK
1) DEVSIZ T1, ;GET BUFFER SIZE
1) MOVE T1,[2,,203] ;SHOULD NOT HAPPEN, SO FAKE IT
1) PUSH P,T1 ;SAVE INFO
1) HLRZ T2,T1 ;NUMBER OF BUFFERS
1) HRRZ T1,T1 ;SIZE
1) IMULI T2,(T1) ;TOTAL SPACE REQUIRED
1) PUSHJ P,DY.GET##
1) MOVE T3,IO.PTR+RC ;GET AREA
1) POP P,I.DVZ(T3) ;STORE DEVSIZ WORD
1) MOVEM T1,I.RNG(T3) ;POINT TO RING BUFFERS
1) MOVEM T1,.JBFF ;NOW TO SETUP BUFFER
1) MOVSI T1,(Z RC,) ;CHAN#
1) MOVEM T1,I.CHN(T3) ;FOR CLOSE
1) HLRZ T2,I.DVZ(T3) ;GET NO. OF BUFFERS
1) OUTBUF RC,(T2) ;SET THEM UP
1) MOVE T1,.JBREL ;SET .JBFF OUTSIDE CORE RANGE
1) MOVEM T1,.JBFF ;INCASE /HELP
1) MOVEI T1,LOGIT ;NOW WE CAN POINT TO IT
****
2)12 ;**;[1150] Replace @LOGINI+38L DZN 14-Mar-79
2) MOVSI T2,'LOG' ;EXTENSION
2) MOVEM T2,I.EXT(T1)
2) PUSHJ P,DVNAM.## ;[1150] SET UP DEFAULT FILE NAME
2) PUSHJ P,DVCHK.## ;[1150] MAKE SURE DEVICE CAN HAN
DLE I/O MODE
2) PUSHJ P,DVOPN.## ;[1150] OPEN THE LOG FILE
2) PUSHJ P,DVENT.## ;[1150] ENTER THE FILE
2)13 ;HERE WITH LOG FILE OPENED AND ENTERED. ALLOW LINK TO USE IT FOR
LOGGING.
2) MOVEI T1,LOGIT ;NOW WE CAN POINT TO IT
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 378
PCO Log Report
*********************
*PCO #:10-LINK -267*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 29-MAR-79
[Programmer] GILBERT
[Routines] LNKINI
[Key Words] .JBEDV
[Source Before Edit] %4A (001150)
[Source After Edit] %4A (001151)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 379
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Users need to be able to reference the symbol .JBEDV as
a JOBDAT symbol, since it has been added to the monitor, but
they can't since it isn't in LINK.
**********
[DIAGNOSIS]
It was never added.
**********
[CURE]
Insert it.
Digital Equipment Corporation 28-AUG-79 Page 380
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1033 14-Mar-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1448 29-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Mar-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 29-Mar-7
9
2)
**************
1)1 DECEVR==1150 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1151 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1151 JNG 29-Mar-79
2) ; Add the new Job Data Area location .JBEDV to the initial
symbols.
2) ; Routine: LNKINI
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 381
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1041 14-Mar-1979
File 2) LINK:LNKINI.MAC[10,645063] created: 1450 29-Mar-1979
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 14-Mar-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 29-Mar-79
2)
**************
1)1 DECEVR==1150 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1151 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1151 Add .JBEDV.
2)
**************
1)23 .JB ,ERR
****
2)23 ;**;[1151] Insert @ %%%BDT+16L JNG 29-Mar-79
2)23 .JB ,EDV,112 ;[1151] VALUE HERE FOR ASSEMBLY
WITH 6.03A
2) .JB ,ERR
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 382
PCO Log Report
*********************
*PCO #:10-LINK -268*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)+1132
[Date Entered] 03-APR-79
[Programmer] GILBERT
[Routines] LNKOV1 LNKXIT
[Key Words] OVERLAYS ED 1132
[Source Before Edit] %4A (001151)
[Source After Edit] %4A (001152)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 383
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Overlaid programs may fail with an illegal UUO or other
error indicating that zeros were loaded where code or data
should have gone. This will only happen after edit 1132 has
been installed in LINK.
**********
[DIAGNOSIS]
The new EXE file writer looks at RC.HL in the RC block
to determine how much to save. The overlay code in LINK
does not bother to keep it up to date.
**********
[CURE]
Keep RC.HL up to date in the overlay processing
routines.
Digital Equipment Corporation 28-AUG-79 Page 384
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1448 29-Mar-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1546 03-Apr-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 29-Mar-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 3-Apr-79
2)
**************
1)1 DECEVR==1151 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1152 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1152 JNG 3-Apr-79
2) ; Get EXE file right when loading overlays. Broken by 113
2.
2) ; Routines: LNKOV1, LNKXIT
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 385
PCO Log Report
[FILCOM]
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 27-Feb-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 3-Apr-79
2)
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1152 ;DEC EDIT VERSION
2)
**************
1)3 SUBTTL ENTRY POINT
****
2)2 ;START OF VERSION 4A
2) ;1152 Set up RC.HL correctly on /LINK and /NODE.
2)
2)3 SUBTTL ENTRY POINT
**************
1)33 SETZM RC.HL(R) ;CLEAR
1) PUSHJ P,Z.INEX## ;CLEAR INCLUDE/EXCLUDE STORAGE
****
2)33 ;**;[1152] Replace @ LNKZA+5L JNG 3-Apr-79
2) MOVEM T1,RC.HL(R) ;[1152] AND AS NEW FIRST FREE
2) PUSHJ P,Z.INEX## ;CLEAR INCLUDE/EXCLUDE STORAGE
**************
Digital Equipment Corporation 28-AUG-79 Page 386
PCO Log Report
[FILCOM]
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 12-Mar-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 3-Apr-79
2)
**************
1)1 DECEVR==1147 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1152 ;DEC EDIT VERSION
2)
**************
1)4 SUBTTL ENTER HERE
****
2)6 ;1152 Set RC.HL for .LOW. during initialization when loading o
verlays.
2) SUBTTL ENTER HERE
**************
1)5 JRST LNKX1 ;
****
2)7 ;**;[1152] Insert @ LNKX0B+4L JNG 3-Apr-79
2) MOVEI R,1 ;[1152] LOW SEGMENT
2) MOVE R,@RC.TB ;[1152] POINTER TO RC BLOCK FOR
LC AREA
2) HRRZM T1,RC.CV(R) ;[1152] SAVE AS CURRENT VALUE OF
RELOC COUNTER
2) HRRZM T1,RC.HL(R) ;[1152] AND FIRST FREE BEYOND RO
OT
2) JRST LNKX1 ;
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 387
PCO Log Report
*********************
*PCO #:10-LINK -269*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)+E1137
[Date Entered] 13-APR-79
[Programmer] GILBERT
[Routines] LNKOLD
[Key Words] BLOCK 24 LNKIPX
[Source Before Edit] %4A (001152)
[Source After Edit] %4A (001153)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 388
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If a PSECT header REL block (type 24) contains an
invalid PSECT index, LINK will loop, get an illegal memory
reference, or generate a bad program.
**********
[DIAGNOSIS]
There is no consistency check. This is a common error,
because a PSECT index of zero is sufficient to make LINK
fail.
**********
[CURE]
Give a LNKIPX error in this case. Note that this edit
requires edit 1137 to LINK.
Digital Equipment Corporation 28-AUG-79 Page 389
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1546 03-Apr-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1928 12-Apr-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 3-Apr-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Apr-7
9
2)
**************
1)1 DECEVR==1152 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1153 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1153 JNG 12-Apr-79 QAR JBD
2) ; Give LNKIPX message if a Define PSECT block (type 24) co
ntains
2) ; an invalid PSECT index.
2) ; Routine: LNKOLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 390
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1448 08-Feb-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1947 12-Apr-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 6-Feb-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 12-Apr-7
9
2)
**************
1)1 DECEVR==1140 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1153 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1153 Give LNKIPX if block 24 is illegal.
2)
**************
1)69 T11IPX: .ERR. (MS,,V%M,L%F,S%F,IPX,<Invalid PSECT index>)
1)
****
2)69 ;**;[1153] Change @ T11IPX JNG 12-Apr-79
2) T11IPX: .ERR. (MS,,V%L,L%F,S%F,IPX,<Invalid PSECT index>)
2)
**************
1)102 MOVE T1,@RC.TB ;[1137] RC BLOCK OF THIS PSECT
****
2)102 ;**;[1153] Insert @ T.24E+2L JNG 12-Apr-79
2) CAILE P1,1 ;[1153] DISALLOW CHANGING .LOW.
OR BELOW
2) CAMLE P1,RC.NO ;[1153] CATCH GARBAGE PSECT INDI
CES
2) JRST T24IPX ;[1153] INDEX IS JUNK, COMPLAIN
2) MOVE T1,@RC.TB ;[1137] RC BLOCK OF THIS PSECT
**************
1)103 SUBTTL BLOCK TYPE 37 - COBOL LOCAL SYMBOLS
****
2)102
2) ;**;[1153] Insert @ T.24E+8L JNG 12-Apr-79
2) ;HERE ON AN INVALID PSECT INDEX.
2) T24IPX: .ERR. (MS,.EC,V%L,L%F,S%F,IPX)
2) .ETC. (STR,.EC,,,,,< for PSECT >)
2) .ETC. (SBX,.EP,,,,W2)
2)
2)103 SUBTTL BLOCK TYPE 37 - COBOL LOCAL SYMBOLS
**************
Digital Equipment Corporation 28-AUG-79 Page 391
PCO Log Report
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 392
PCO Log Report
*********************
*PCO #:10-LINK -270*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 13-APR-79
[Programmer] GILBERT
[Routines] LNKOLD
[Key Words] BLOCK 23 REWORK
[Source Before Edit] %4A (001153)
[Source After Edit] %4A (001154)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 393
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
There are several problems with the PSECT Break block
(REL block type 24), as follows:
1. LINK re-arranges the PSECT indices for the module
being loaded based on the order of the PSECT Break
blocks in the REL file, so that if the PSECT Break
blocks are not put into the REL file sorted by
PSECT index, then any following Set PSECT blocks
(type 22) or Polish blocks (type 11) containing
PSECT indices will get the wrong PSECT.
2. LINK requires a PSECT Break block with a blank name
to be the first one seen for each module.
3. Unlike all of the other REL blocks that reference
defined PSECTs, the PSECT Break block takes a PSECT
name instead of a PSECT index.
4. The PSECT Break block inadvertently takes the
action of a Set PSECT block (i.e., sets the default
PSECT) during its processing.
**********
[DIAGNOSIS]
The PSECT Break block used to do something else in an
early implementation of PSECTs. It was only partially
converted to the final design.
**********
[CURE]
Re-work the PSECT Break processing code in LINK. This
Digital Equipment Corporation 28-AUG-79 Page 394
PCO Log Report
REL block will now expect a PSECT index instead of a name,
although a name will still work for compatability.
Digital Equipment Corporation 28-AUG-79 Page 395
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.OLD[30,3737] created: 2112 12-Apr-1979
File 2) LINK:LNKHST.MAC[30,3737] created: 2028 12-Apr-1979
1)1 DECEVR==1153 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1154 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1154 JNG 12-Apr-79 QAR JBD
2) ; Re-write T.23 to fix the following problems:
2) ; . Don't re-define the PSECT indices in terms of the orde
r of block 23s.
2) ; . Don't require a name of zero in the first block 23.
2) ; . Don't do a set PSECT (block type 22) action on block t
ype 23.
2) ; . Expect PSECT index instead of name in first word (name
still works).
2) ; Routine: LNKOLD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 396
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.OLD[30,3737] created: 2109 12-Apr-1979
File 2) LINK:LNKOLD.MAC[30,3737] created: 2033 12-Apr-1979
1)1 DECEVR==1153 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1154 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1154 Don't re-order PSECT indices in T.23; general re-write o
f T.23.
2)
**************
1)100 ; ! PSECT NAME !
1) ; -----------------
1) ; ! ATTR ! BREAK !
1) ; -----------------
1) COMMENT *
1) THIS BLOCK CONSISTS OF :-
1) PSECT NAME IN SIXBIT
1) ATTRIBUTES (LHS)
1) PSECT BREAK (RHS)
1) IN ADDITION IT ESTABLISHES THE PSECT ORDERING FOR
1) THE POLISH FIXUPS TO FOLLOW
1) *
1) T.23: PUSHJ P,RB.1 ;PSECT NAME
1) JRST [MOVEI T1,23
1) JRST ILIERR]
1) SKIPE W2,W1 ;NAMES ALWAYS GO IN W2
1) JRST T.23A ;NOTHING SPECIAL
1) MOVE W2,['.LOW. '] ;LOW SEG BY DEFAULT
1) SETZM RC.CUR ;SHOULD BE AT SLOT 1
1) T.23A: AOS RC.CUR ;GOES IN NEXT SLOT
1) MOVE R,RC.NO ;START AT BACK OF TABLE
1) MOVE T1,@RC.TB ;GET RC BLOCK
1) CAMN W2,RC.NM(T1) ;IS THIS THE ONE WE WANT?
1) JRST T.23B ;YES
1) SOJG R,.-3 ;NO, TRY AGAIN
1) HALT ;CANNOT HAPEN
1)
1) T.23B: CAMN R,RC.CUR ;WHERE IT SHOULD BE?
1) JRST T.23C ;YES
1) MOVE T1,@RC.TB ;NO, GET RC BLOCK
1) EXCH R,RC.CUR ;WHERE IT SHOULD BE
1) EXCH T1,@RC.TB ;PUT IT THERE
1) EXCH R,RC.CUR ;PUT RC.CUR BACK
1) MOVEM T1,@RC.TB ;AND OUT OF PLACE BLOCK
1) T.23C: PUSHJ P,RB.1 ;NOW GET BREAK CORRECTLY RELOCAT
Digital Equipment Corporation 28-AUG-79 Page 397
PCO Log Report
ED
1) JRST [MOVEI T1,23
1) JRST ILIERR] ;ERROR
1) HRRZ W3,W1 ;VALUE IN W3, ATTRIBUTES IN W1
1) MOVE R,RC.CUR ;MAKE SURE R IS SETUP
1) MOVE R,@RC.TB ;AND POINTING TO RC BLOCK
1) CAMLE W3,RC.HL(R) ;USE GREATER
1) MOVEM W3,RC.HL(R) ;FIXUP CV AT T.5
1) SKIPL RC.AT(R) ;[761] RELOCATABLE PSECT?
1) TXZ W1,AT.RP ;[761] NO,
1) JRST LOAD## ;DONE
1)
****
2)100 ; ! PSECT INDEX !
2) ; -----------------
2) ; ! BREAK !
2) ; -----------------
2)
2)
2) ;**;[1154] Revamp @ T.23 JNG 12-Apr-79
2) T.23: PUSHJ P,RB.1 ;[1154] GET PSECT INDEX
2) JRST ILIERR ;[1154] TOO SHORT
2) MOVEI R,1(W1) ;[1154] PUT INTERNAL PSECT INDEX
INTO R
2) TXNN W1,77B5 ;[1154] OLD STYLE (NAME IN SIXBI
T)?
2) JRST T.23B ;[1154] NO, WE HAVE THE PSECT IN
DEX.
2)
2)
2) ;HERE WITH OLD-STYLE NAME IN SIXBIT. LOOP OVER RC BLOCKS LOOKIN
G FOR IT.
2)
2) MOVE R,RC.NO ;[1154] START AT THE TOP PSECT
2) T.23A: MOVE T1,@RC.TB ;[1154] POINT TO NEXT RC BLOCK
2) CAME W1,RC.NM(T1) ;[1154] IS THIS IT?
2) SOJG R,T.23A ;[1154] NO, LOOP
2) JUMPE R,[MOVEI T1,23 ;[1154] IF NOT FOUND, GO COMPLAI
N
2) JRST ILIERR] ;[1154] USUAL MESSAGE
2)
2)
2) ;HERE WITH THE INTERNAL PSECT INDEX IN R. NEED TO PUT THIS IN R
C.CUR,
2) ;SO CALL TO RB.1 WILL GET BREAK RELOCATED WITH RESPECT TO THIS P
SECT.
2)
2) T.23B: MOVE P1,RC.CUR ;[1154] SAVE OVER MUNGING BELOW
2) MOVE P2,@RC.TB ;[1154] SAVE ADDRESS OF RC BLOCK
Digital Equipment Corporation 28-AUG-79 Page 398
PCO Log Report
2) MOVEM R,RC.CUR ;[1154] SET UP FOR RB.1
2) PUSHJ P,RB.1 ;[1154] GET BREAK
2) JRST [MOVEI T1,23 ;[1154] NOT THERE, COMPLAIN
2) JRST ILIERR] ;[1154] ..
2) MOVEM P1,RC.CUR ;[1154] RESTORE RC.CUR
2) CAMLE W1,RC.HL(P2) ;[1154] A NEW RECORD FOR THE BRE
AK?
2) MOVEM W1,RC.HL(P2) ;[1154] YES, SET HL (CV FIXED IN
T.5)
2) JRST LOAD## ;[1154] DONE, GO GET NEXT BLOCK
2)
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 399
PCO Log Report
*********************
*PCO #:10-LINK -271*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 13-APR-79
[Programmer] GILBERT
[Routines] LNKOLD LNKWLD
[Key Words] .HIGH. PSECT
[Source Before Edit] %4A (001154)
[Source After Edit] %4A (001155)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 400
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
PSECT .HIGH. is not equivalent to TWOSEG. If a user
tries to specify PSECT .HIGH., LINK gets internal errors.
**********
[DIAGNOSIS]
The REL file input routines add 400000 to relocatable
quantities from this PSECT twice: once because they are in
a PSECT that starts at 400000, and once because they are in
the high segment.
**********
[CURE]
Re-work the REL file input routines (RB.1) to handle
this case correctly. As part of this edit, preserve the
PSECT attributes for the .HIGH. PSECT.
Digital Equipment Corporation 28-AUG-79 Page 401
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 2028 12-Apr-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1307 13-Apr-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Apr-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 13-Apr-7
9
2)
**************
1)1 DECEVR==1154 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1155 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1155 JNG 13-Apr-79 QAR JBD
2) ; Allow PSECT .HIGH. to be synonymous with TWOSEG.
2) ; Routines: LNKOLD, LNKWLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 402
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 2033 12-Apr-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1422 13-Apr-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 12-Apr-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 13-Apr-7
9
2)
**************
1)1 DECEVR==1154 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1155 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1155 Allow PSECT .HIGH. to work as TWOSEG.
2)
**************
1)110 MOVE T2,RC.CV(R) ;GET CURRENT VALUE
1) SKIPN RC.CUR ;IF NOT PSECT
1) SUB T2,RC.IV(R) ;REMOVE BASE ADDRESS
1) SKIPGE RC.AT(R) ;[761] RELOCATABLE PSECT?
1) JRST R.ERR ;[761] YES, ERROR
1) ADDI T1,0(T2) ;GET RELOCATED VALUE
1) MOVE T2,RC.SG(R) ;GET SEGMENT #
1) ADD T1,LL.S0(T2) ;MAKE RELATIVE TO SEG ORIGIN
1) HRL W1,T1 ;AND REPLACE IT
1) MOVSI R,(1B1) ;CLEAR R BUT REMEMBER RELOCATABL
E
1) ;INCASE RH SIDE NOT (FOR SYMBOL)
1)
****
2)110 ;**;[1155] Replace @ RWORD5+1L JNG 13-Apr-79
2) SKIPGE RC.AT(R) ;[1155] DOES THIS PSECT HAVE AN
ORIGIN?
2) JRST R.ERR ;[1155] NO, CAN'T USE IT
2) SKIPE RC.CUR ;[1155] RELOCATE WRT A PSECT?
2) JRST [ADD T1,RC.CV(R);[1155] YES, PSECTS ARE SIMPLE
2) JRST RWORD4] ;[1155] GO STORE AND CHECK RH RE
LOCATION
2) MOVE T2,RC.SG(R) ;[1155] OLD LOWSEG/HIGHSEG, GET
SEGMENT #
2) MOVE T2,LL.S0(T2) ;[1155] GET ORIGIN OF SEGMENT
2) ADD T2,RC.CV(R) ;[1155] ADD CURRENT VALUE OF REL
OC. COUNTER
2) SUB T2,RC.IV(R) ;[1155] T2 NOW HAS RELOCATION FA
Digital Equipment Corporation 28-AUG-79 Page 403
PCO Log Report
CTOR
2) ADDI T1,0(T2) ;[1155] RELOCATE THE HALF WORD
2) RWORD4: HRL W1,T1 ;[1155] STORE THE RESULT
2) MOVX R,1B1 ;[1155] CLEAR R BUT REMEMBER REL
OCATABLE
2)
**************
1)111 MOVE T2,RC.CV(R) ;GET CURRENT VALUE
1) SKIPN RC.CUR ;IF DOING PSECT, SKIPE
1) SUB T2,RC.IV(R) ;REMOVE BASE ADDRESS
1) SKIPGE RC.AT(R) ;[761] RELOCATABLE PSECT?
1) JRST R.ERR ;[761] YES, ERROR
1) ADDI T1,0(T2) ;GET RELOCATED VALUE
1) MOVE T2,RC.SG(R) ;GET SEGMENT #
1) ADD T1,LL.S0(T2) ;MAKE RELATIVE TO SEG ORIGIN
1) HRR W1,T1 ;AND REPLACE IT
1) CPOPJ1: AOS (P) ;SKIP RETURN
****
2)111 ;**;[1155] Replace @ RWORD6+2L JNG 13-Apr-79
2) SKIPGE RC.AT(R) ;[1155] DOES THIS PSECT HAVE AN
ORIGIN?
2) JRST R.ERR ;[1155] NO, CAN'T USE IT
2) SKIPE RC.CUR ;[1155] RELOCATE WRT A PSECT?
2) JRST [ADD T1,RC.CV(R);[1155] YES, PSECTS ARE SIMPLE
2) JRST RWORD8] ;[1155] GO STORE
2) MOVE T2,RC.SG(R) ;[1155] OLD LOWSEG/HIGHSEG, GET
SEGMENT #
2) MOVE T2,LL.S0(T2) ;[1155] GET ORIGIN OF SEGMENT
2) ADD T2,RC.CV(R) ;[1155] ADD CURRENT VALUE OF REL
OC. COUNTER
2) SUB T2,RC.IV(R) ;[1155] T2 NOW HAS RELOCATION FA
CTOR
2) ADDI T1,0(T2) ;[1155] RELOCATE THE HALF WORD
2) RWORD8: HRR W1,T1 ;[1155] STORE THE RESULT
2) CPOPJ1: AOS (P) ;SKIP RETURN
**************
Digital Equipment Corporation 28-AUG-79 Page 404
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1622 22-Feb-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1348 13-Apr-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 22-Feb-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 13-Apr-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1145 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1155 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1155 Store PSECT properties even if PSECT name is .HIGH.
2)
**************
1)40 PJRST SETRC##]
1) SOSGE RC.FRE ;ANY FREE SLOTS
****
2)40 ;**;[1155] Replace @ SET3+8L JNG 13-Apr-79
2) PUSHJ P,SETRC## ;[1155] SETUP HIGHSEG RC
BLOCK ETC.
2) MOVEI R,2 ;[1155] GET POINTER TO N
EW RC BLOCK
2) MOVE R,@SG.TB ;[1155] ..
2) MOVE T1,RC.SET ;[1155] GET ATTRIBUTES
2) MOVEM T1,RC.AT(R) ;[1155] STORE
2) POPJ P,] ;[1155] RETURN
2) SOSGE RC.FRE ;ANY FREE SLOTS
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 405
PCO Log Report
*********************
*PCO #:10-LINK -272*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 13-APR-79
[Programmer] GILBERT
[Routines] LNKOLD
[Key Words] BLOCK 5 CLEAR RC.CUR
[Source Before Edit] %4A (001155)
[Source After Edit] %4A (001156)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 406
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The program break in the end block (REL block type 5)
is relocated with respect to whatever PSECT is the current
default. It should be relocated with respect to .LOW..
**********
[DIAGNOSIS]
The T.5 routine calls the standard relocating input
routines, which relocate with respect to the current PSECT.
**********
[CURE]
Clear the current PSECT before reading the program
break.
Digital Equipment Corporation 28-AUG-79 Page 407
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1307 13-Apr-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1529 13-Apr-1979
1)1 DECEVR==1155 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1156 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1156 JNG 13-Apr-79 QAR JBD
2) ; Relocate the breaks in block type 5 with respect to .LOW
.
2) ; every time, even if the current PSECT is not .LOW..
2) ; Routine: LNKOLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 408
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1422 13-Apr-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1534 13-Apr-1979
1)1 DECEVR==1155 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1156 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1156 Clear RC.CUR before reading data words in T.5.
2)
**************
1)47 T.5: SKIPN POLSTK ;GIVE BACK POLISH STACK IF FINIS
HED
1) JRST T.5A
****
2)47 ;**;[1156] Insert @ T.5 JNG 13-Apr-79
2) T.5: MOVEI T1,1 ;[1156] BREAKS ARE RELOCATABLE I
N .LOW.
2) SKIPE RC.CUR ;[1156] SO UNLESS NOT LOADING PS
ECTS,
2) MOVEM T1,RC.CUR ;[1156] FORCE RELOCATION TO .LOW
.
2) SKIPN POLSTK ;GIVE BACK POLISH STACK IF FINIS
HED
2) JRST T.5A
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 409
PCO Log Report
*********************
*PCO #:10-LINK -273*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 13-APR-79
[Programmer] GILBERT
[Routines] LNKWLD
[Key Words] SUPPRESS PSECTS DDT TYPEOU
[Source Before Edit] %4A (001156)
[Source After Edit] %4A (001157)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 410
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
PSECT names type out too often when using DDT on a
program built with PSECTs.
**********
[DIAGNOSIS]
They are defined as global symbols that are not
suppressed to DDT typeout.
**********
[CURE]
Suppress them.
Digital Equipment Corporation 28-AUG-79 Page 411
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1529 13-Apr-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1639 13-Apr-1979
1)1 DECEVR==1156 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1157 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1157 JNG 13-Apr-79 QAR DZN
2) ; Suppress the PSECT name global symbols to DDT typeout.
2) ; Routine: LNKWLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 412
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1348 13-Apr-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1643 13-Apr-1979
1)1 DECEVR==1155 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1157 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1157 Suppress the PSECT name global symbols to DDT typeout.
2)
**************
1)40 MOVX W1,PT.SGN!PT.SYM ;[714] SET FLAGS
1) PUSHJ P,SY.GS## ;[714] ADD TO GLOBAL SYMBOL TABL
E.
****
2)40 ;**;[1157] Change @ SET3+1L JNG 13-Apr-79
2) MOVX W1,PT.SGN!PT.SYM!PS.DDT ;[1157] SET FLAGS
2) PUSHJ P,SY.GS## ;[714] ADD TO GLOBAL SYMBOL TABL
E.
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 413
PCO Log Report
*********************
*PCO #:10-LINK -274*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 14-APR-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] BAD USY POLISH
[Source Before Edit] %4A (001157)
[Source After Edit] %4A (001160)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 414
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Defining an undefined symbol with DDT can cause DDT to
destroy random low addresses. Examination of the undefined
symbol table pointed to by .JBUSY=117 will reveal additive
fixups to the locations destroyed.
This will only happen if the symbol defined with DDT
was used in the source program as part of a Polish
expression.
**********
[DIAGNOSIS]
LINK is putting out Polish requests for undefined
symbols as if they were additive fixups, with the address to
be added to as the offset to the Polish string in LINK's
internal FX area. It is doing this because it checks for
some things that it doesn't know how to put into the
undefined table, and avoids them. When Polish was added to
LINK, this check was not extended, so LINK thinks Polish is
OK to put out.
**********
[CURE]
Instead of checking for the things LINK doesn't know
how to put into the undefined table and avoiding them, check
for the few things that LINK does know how to do and avoid
everything else.
Digital Equipment Corporation 28-AUG-79 Page 415
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1639 13-Apr-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1915 14-Apr-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 13-Apr-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Apr-7
9
2)
**************
1)1 DECEVR==1157 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1160 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1160 JNG 14-Apr-79 QAR TW/JMF
2) ; Don't put junk in runtime undefined symbol table for sym
bols
2) ; that are used in Polish blocks.
2) ; Routine: LNKXIT
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 416
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1623 12-Apr-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 1916 14-Apr-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 3-Apr-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 14-Apr-79
2)
**************
1)1 DECEVR==1152 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1160 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL ENTER HERE
****
2)6 ;1160 Don't put junk in the undefined table when symbol used i
n Polish.
2)
2)7 SUBTTL ENTER HERE
**************
1)13 TXNN W1,FP.SYM ;ADDITIVE GLOBAL FIXUP?
1) JRST UDFGB2 ;NO
1) DMOVE W2,1(T1) ;GET DATA WORDS
1) TXNE W1,FS.FXS ;SYMBOL FIXUP?
1) JRST UDFGB2 ;*** DON'T KNOW HOW TO DO IT YET
***
1) PUSHJ P,SXBR50 ;CONVERT TO RADIX-50
****
2)14 ;**;[1160] Replace @ UDFGB1+3L JNG 14-Apr-79
2) TXNE W1,FP.SYM ;[1160] FIXUP BASED ON UNDEFINED
SYMBOL?
2) TXNN W1,FS.FXR!FS.FXL ;[1160] CAN ONLY PUT OUT RH OR
LH ADDITIVE
2) JRST UDFGB2 ;[1160] CAN'T OUTPUT POLISH, SYM
FIXUPS, ETC.
2) DMOVE W2,1(T1) ;GET DATA WORDS
2) PUSHJ P,SXBR50 ;CONVERT TO RADIX-50
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 417
PCO Log Report
*********************
*PCO #:10-LINK -275*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 11-MAY-79
[Programmer] GILBERT
[Routines] LNKMAP LNKSUB
[Key Words] MAP PSECTS AESTHETICS
[Source Before Edit] %4A (001160)
[Source After Edit] %4A (001161)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27727
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 418
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The lines in the map that describe PSECTs that have
been loaded are not lined up, and are not in the same format
as the low segment and high segment lines.
**********
[DIAGNOSIS]
Nobody noticed the inconsistency.
**********
[CURE]
Make the PSECT descriptor lines look just like the
segment descriptor lines.
Digital Equipment Corporation 28-AUG-79 Page 419
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1915 14-Apr-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 0052 03-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Apr-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 4-May-79
2)
**************
1)1 DECEVR==1160 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1161 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1161 JNG 4-May-79 SPR 10-27727
2) ; Clean up Psect printout in map.
2) ; Routines: LNKSUB, LNKMAP.
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 420
PCO Log Report
[FILCOM]
File 1) LINK:LNKMAP.MAC[30,4507] created: 1921 25-Sep-1978
File 2) LINK:LNKMAP.MAC[10,645063] created: 0103 03-May-1979
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 22-Sep-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 4-May-79
2)
**************
1)1 DECEVR==1120 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1161 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1161 Clean up printout of PSECT lengths.
2)
**************
1)31 MOVEI T1,[ASCIZ /Psect /]
1) PUSHJ P,.TSTRG##
1) MOVE T1,1(R) ;NAME
1) PUSHJ P,.TSIXN##
1) MOVEI T1,[ASCIZ / starts at /]
****
2)31 ;**;[1161] Change @ TTLPSC+5L JNG 4-May-79
2) MOVEI T1,[ASCIZ / Psect /] ;[1161]
2) PUSHJ P,.TSTRG##
2) MOVE T1,1(R) ;NAME
2) PUSHJ P,.TSIXB## ;[1161] TYPE WITH TRAILING BLANK
S
2) MOVEI T1,[ASCIZ / starts at /]
**************
1)31 MOVEI T1,[ASCIZ / (octal), /]
1) PUSHJ P,.TSTRG##
1) POP P,T1 ;LENGTH
1) PUSHJ P,.TDECW##
1) MOVEI T1,[ASCIZ /, (decimal)/]
1) PUSHJ P,.TSTRG##
****
2)31 ;**;[1161] Change @ TTLPSC+26L JNG 4-May-79
2) MOVEI T1,[ASCIZ / (octal),/] ;[1161]
2) PUSHJ P,.TSTRG##
2) MOVE T1,0(P) ;[1161] GET LENGTH AGAIN
2) PUSHJ P,.TDSPC ;[1161] ALIGN WORD TO COME
2) POP P,T1 ;LENGTH
2) PUSHJ P,.TDECW##
2) MOVEI T1,[ASCIZ /. (decimal)/] ;[1161]
2) PUSHJ P,.TSTRG##
Digital Equipment Corporation 28-AUG-79 Page 421
PCO Log Report
**************
Digital Equipment Corporation 28-AUG-79 Page 422
PCO Log Report
[FILCOM]
File 1) LINK:LNKSUB.MAC[30,4507] created: 1846 27-Apr-1978
File 2) LINK:LNKSUB.MAC[10,645063] created: 0041 03-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG 27-Feb-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG 4-May-79
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
2)
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1161 ;DEC EDIT VERSION
2)
**************
1)3 ;HERE TO GET THE REQUIRED PRIME NUMBER INTO HT.PRM
****
2)2 ;START OF VERSION 4A
2) ;1161 Add .TSIXB to .TSUBS
2)
2)3 ;HERE TO GET THE REQUIRED PRIME NUMBER INTO HT.PRM
**************
1)6 ENTRY .T6OCT,.TFOCT,.T6ZOC,.TDEP,.TOEP
1)
****
2)6 ENTRY .T6OCT,.TFOCT,.T6ZOC,.TDEP,.TOEP,.TSIXB
2)
**************
1)8
****
2)8 ;**;[1161] Insert @ .TOEP+7L JNG 4-May-79
2) ;TYPE SIXBIT WORD, BLANK FILLED
2) ;CALL:
2) ; T1/ WORD
2) ; PUSHJ P,.TSIXB
2) ;
2) ;USES T1,T2,T3
2)
2) .TSIXB::MOVEI T3,6 ;[1161] NUMBER OF CHARACTERS TO
TYPE
Digital Equipment Corporation 28-AUG-79 Page 423
PCO Log Report
2) MOVE T2,T1 ;[1161] SIXBIT WORD INTO T2
2) TSIXB2: SETZ T1, ;[1161] CLEAN AC
2) LSHC T1,6 ;[1161] NEXT CHAR INTO T1
2) ADDI T1,"0"-'0' ;[1161] CONVERT TO ASCII
2) PUSHJ P,.TCHAR## ;[1161] TYPE IT
2) SOJG T3,TSIXB2 ;[1161] LOOP OVER SIX CHARACTERS
2) POPJ P, ;[1161] RETURN
2)
2)
2)
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 424
PCO Log Report
*********************
*PCO #:20-LINK -013*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 03-MAY-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] DDT/SYMS DDT COMMAN ILL INST
[Source Before Edit] %4A (001161)
[Source After Edit] %4A (001162)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:20-12825
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 425
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
UDDT cannot find any symbols when a program is loaded
with both /SAVE and /DEBUG in the same command string to
LINK. Also, the DDT command does not work if the resulting
EXE file is later set up with a GET command. Instead, the
user will get an illegal instruction at 770000.
**********
[DIAGNOSIS]
LINK does not set up DDT's symbol table pointers if is
creating an EXE file. Instead, it (incorrectly) sets up
.JBDDT.
**********
[CURE]
Set up the right things at the right times. Note that
this edit is an extract of edit 1144, and should not be
installed if edit 1144 has been installed. This edit will
not be present in any future release of LINK, because edit
1144 will be shipped instead.
Digital Equipment Corporation 28-AUG-79 Page 426
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.765[30,3737] created: 0218 03-May-1979
File 2) LINK:LNKHST.MAC[30,3737] created: 0219 03-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 27-FEB-7
8
1) ;COPYRIGHT (C) 1973, 1978 BY
1) ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH 4-May-79
2) ;COPYRIGHT (C) 1973, 1978, 1979 BY
2) ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1162 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)5 END ;OF LNKHST
****
2)4 ;START OF VERSION 4A
2) ;1162 JNG 4-May-79 SPR 20-12825
2) ; Set up DDT's symbol table pointers on /DEBUG/SAVE. This
edit is
2) ; an extract of edit 1144.
2) ; Routines: LNKXIT
2)5 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 427
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.765[30,3737] created: 0219 03-May-1979
File 2) LINK:LNKXIT.MAC[30,3737] created: 0222 03-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 4-May-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1162 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL ENTER HERE
****
2)4 ;START OF VERSION 4A
2) ;1162 Set up UDDT's symbol table pointers on /DEB/SAVE. Extra
ct of 1144.
2)5 SUBTTL ENTER HERE
**************
1)53 EXEINI: MOVEI T1,DC ;CHAN#
1) MOVEM T1,IO.CHN
****
2)53 ;**;[1162] Insert @ EXEINI JNG 4-May-79
2) EXEINI:
2) IFN TOPS20,<
2) SKIPE LW.S1 ;[1162] PAGE 0 IN CORE?
2) JRST EXEIN2 ;[1162] NO, FORGET IT
2) MOVE T1,LC.LB ;[1162] YES, POINT TO PAGE 0
2) HRRZ T2,.JBDDT(T1) ;[1162] GET DDT START ADDRESS
2) CAIE T2,770000 ;[1162] IS THIS UDDT?
2) JRST EXEIN2 ;[1162] NO, PROCEED
2) SETZM .JBDDT(T1) ;[1162] YES, DON'T WANT .JBDDT N
ON-ZERO
2) MOVE T2,JOB116 ;[1162] GET SYMBOL TABLE POINTER
2) MOVEM T2,@770001 ;[1162] SAVE IN DDT
2) MOVE T2,JOB117 ;[1162] GET UNDEFINED POINTER
2) MOVEM T2,@770002 ;[1162] SAVE IN DDT
2) EXEIN2: > ;END IFN TOPS20
2) MOVEI T1,DC ;CHAN#
2) MOVEM T1,IO.CHN
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 428
PCO Log Report
*********************
*PCO #:10-LINK -276*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1155)
[Date Entered] 08-MAY-79
[Programmer] GILBERT
[Routines] LNKWLD
[Key Words] .HIGH.
[Source Before Edit] %4A (001162)
[Source After Edit] %4A (001163)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 429
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
With edit 1155 installed, users must specify an origin
for the .HIGH. psect. If they don't, LINK fails with the
LNKRPN message.
**********
[DIAGNOSIS]
LINK sets the flags in the .HIGH. block from the
user's input. If the user didn't specify an origin, then
LINK marks .HIGH. as not having a known origin. This is OK
for most psects, but LINK will supply a default value for
.HIGH.'s origin if the user didn't specify one, so it
doesn't really apply to .HIGH..
**********
[CURE]
Don't set the relocatable psect bit in the .HIGH.
descriptor block.
Digital Equipment Corporation 28-AUG-79 Page 430
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0231 03-May-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1805 08-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 4-May-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 8-May-79
2)
**************
1)1 DECEVR==1162 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1163 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1163 JNG 8-May-79 QAR DC
2) ; Never mark .HIGH. as relocatable, since we default its o
rigin.
2) ; This was broken by edit 1155.
2) ; Routine: LNKWLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 431
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1643 13-Apr-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1801 08-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 13-Apr-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 8-May-79
2)
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1157 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1163 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1163 Fix edit 1155 to not mark .HIGH. as relocatable.
2)
**************
1)40 MOVEM T1,RC.AT(R) ;[1155] STORE
****
2)40 ;**;[1163] Insert @ SET3+12L JNG 8-May-79
2) TXZ T1,AT.RP ;[1163] .HIGH. ALWAYS HA
S AN ORIGIN
2) MOVEM T1,RC.AT(R) ;[1155] STORE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 432
PCO Log Report
*********************
*PCO #:10-LINK -277*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 09-MAY-79
[Programmer] GILBERT
[Routines] LNKMAP
[Key Words] 1B11 CLEAR BAD SYMS BAD MAP LS PAGING
[Source Before Edit] %4A (001163)
[Source After Edit] %4A (001164)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27598
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 433
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Some symbols may appear in the map and the runtime DDT
symbol table with incorrect values, typically zero. This
will only happen to symbols that appear late in the load,
and that are defined in terms of other external symbols. In
addition, bit 11 of some word in the program being loaded
may get zeroed.
This can only happen under the following circumstances:
1. The user has requested LINK to print a map.
2. The program being loaded is so large that LINK has
to overflow its LS area to disk.
This error is very dependent on memory layout, and can be
made to disappear by playing with the /MAXCOR or /HASHSIZE
switches, or by varying the job's virtual limit.
**********
[DIAGNOSIS]
If the LS area is paging to disk, then LNKMAP reads it
into an internal window a piece at a time in order to
process it and print the map. If the last partial piece
does not take up the entire window, then LINK zeroes the
unused part and returns it to free space, so it can be used
for other purposes. Unfortunately, the test to check for an
unused part is wrong, so LINK always thinks that at least
the last page of the window is unused. If the last piece of
the LS area exactly fills the window, then LINK will
erroneously zero the first page of the next area (the FX
area).
Clearing the first page of the FX area can obliterate
some symbol fixups that were destined for the last piece of
the LS area, resulting in symbols with incorrect values in
the map and the DDT symbol table. In addition, if LINK
Digital Equipment Corporation 28-AUG-79 Page 434
PCO Log Report
attempts to process an all-zero block as a valid fixup, it
will clear the undefined bit (1B11) in what it thinks is a
triplet in the LS area, but which is actually some word of
the program being loaded.
**********
[CURE]
Correct the test so that LINK will not try to zero or
return anything if the last piece of the LS area completely
fills the window.
Digital Equipment Corporation 28-AUG-79 Page 435
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1805 08-May-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 2103 08-May-1979
1)1 DECEVR==1163 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1164 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1164 JNG 8-May-79 SPR 10-27598
2) ; Don't overwrite the first page of the FX area when writi
ng a map
2) ; if the LS area is paging and the last piece of the area
exactly
2) ; fits into the window.
2) ; Routine: LNKMAP
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 436
PCO Log Report
[FILCOM]
File 1) LINK:LNKMAP.MAC[30,4507] created: 0103 03-May-1979
File 2) LINK:LNKMAP.MAC[10,645063] created: 2056 08-May-1979
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 4-May-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 8-May-79
2)
**************
1)1 DECEVR==1161 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1164 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1164 Don't overwrite FX area in SHFSYM if no extra room.
2)
**************
1)36 CAMG T3,LSYM ;HAVE WE TOO MUCH ROOM NOW?
****
2)36 ;**;[1164] Insert @ SHFSYM+16L JNG 8-May-79
2) ANDCMI T3,.IPM ;[1164] FORM FIRST FREE IN ALL B
UT LAST PAGE
2) CAMG T3,LSYM ;HAVE WE TOO MUCH ROOM NOW?
**************
1)36 SHFSY1: ADDI T1,(T2) ;INPUT PTR
****
2)36 ;**;[1164] Insert @ SHFSYM+31L JNG 8-May-79
2) SUBI T2,.IPS ;[1164] LAST PAGE HAS ALREADY BE
EN COUNTED
2) SHFSY1: ADDI T1,(T2) ;INPUT PTR
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 437
PCO Log Report
*********************
*PCO #:10-LINK -278*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) TESTED IN 4A(1164)
[Date Entered] 16-MAY-79
[Programmer] D. NEFF
[Routines] LNKLOD
[Key Words] 60,50 FXUP
[Source Before Edit] % (000000)
[Source After Edit] %4A (001165)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27925
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 438
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When loading programs that contain complicated symbol fixup
requests, various internal errors (such as illegal memory reads)
may occur. This will happen only when not loading local symbols,
or when local symbols have been removed from the .REL file (via
/NOLOCAL to MAKLIB).
**********
[DIAGNOSIS]
This problem is caused by the way that fixups to partially defined
symbols are done. A common case is a local symbol defined as the
value of an external symbol plus a constant. This is handled by
specifying a word pair in a symbol .REL block (type 2) that first
defines the local with the value of the constant. Then IMMEDIATELY
FOLLOWING this, another word pair requests the external with a
fixup request to the previous local. The fixup is only valid if
the symbol requested for fixup was the last symbol definition in
the .REL file. If it was not, the request should be ignored.
Unfortunately, if LINK is not loading locals, one of these special
fixup requests may `see' a very old symbol as the last loaded one
that just happens to match. LINK then believes that the fixup
should be done rather than ignored, usually leading to disaster.
**********
[CURE]
Whenever a check of a special fixup request matching the last
symbol loaded fails, forget what the last loaded symbol was. This
is valid since the rule that the symbol definitions must be
adjacent cannot be met until another symbol is actually loaded.
Digital Equipment Corporation 28-AUG-79 Page 439
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1747 10-May-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1612 15-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 8-May-79
1) ;COPYRIGHT (C) 1973, 1978, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-May-7
9
2) ;COPYRIGHT (C) 1973, 1978, 1979 BY
**************
1)1 DECEVR==1164 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1165 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1165 DZN 15-May-79 SPR 10-27925
2) ; Zero LSTSYM whenever a call to SY.RLS says a symbol requ
ested for symbol
2) ; table fixup was not the last symbol loaded. This prevent
s symbol fixup
2) ; requests from finding a long-obsolete symbol in LSTSYM t
hat just happens
2) ; to match.
2) ; Routine:LNKLOD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 440
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1457 16-Feb-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1737 15-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 16-Feb-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 15-May-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1143 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1165 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1165 Zero LSTSYM in SY.RLS if the symbol was rejected.
2)5 SUBTTL LOAD CONTROL
**************
1)54 JUMPE T1,[JUMPE T2,CPOPJ ;NO LOCALS, TRY GLOBAL
1) CAME W3,1(T2) ;IF IN GLOBAL TABLE
1) POPJ P, ;NO MATCH
1) JRST SYRLSM] ;GOT IT HERE
1) CAME W3,1(T1) ;SAME?
1) POPJ P, ;NO
1) SYRLSM: MOVE W3,LSTSYM ;YES, SET POINTER IN W3
****
2)54 ;**;[1165] Replace @SY.RLS+7L DZN 15-May-79
2) JUMPE T1,[JUMPE T2,SYRLSZ ;[1165] NO LOCALS, TRY G
LOBAL
2) CAME W3,1(T2) ;IF IN GLOBAL TABLE
2) JRST SYRLSZ ;[1165] NO MATCH
2) JRST SYRLSM] ;GOT IT HERE
2) CAME W3,1(T1) ;SAME?
2) JRST SYRLSZ ;[1165] NO
2) SYRLSM: MOVE W3,LSTSYM ;YES, SET POINTER IN W3
**************
1)55 SUBTTL COMPILER SPECIFIC ROUTINES
****
2)54 ;**;[1165] Insert after CPOPJ DZN 15-May-79
2) SYRLSZ: SETZM LSTSYM ;[1165] DON'T CONFUSE SYMBOLS DO
WN THE PIKE
2) POPJ P, ;[1165]
2)55 SUBTTL COMPILER SPECIFIC ROUTINES
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 441
PCO Log Report
*********************
*PCO #:10-LINK -279*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 17-MAY-79
[Programmer] GILBERT
[Routines] LNKOLD
[Key Words] POLISH SET PSECT ILLEGAL BL LNKIPX
[Source Before Edit] %4A (001165)
[Source After Edit] %4A (001166)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 442
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If a Polish block does not contain a default PSECT
index in the first halfword, but does contain an embedded
PSECT index later on, LINK will take the embedded PSECT
index as the default PSECT index. This is actually an
illegally formatted Polish block, but a plausible one for a
new compiler to generate.
**********
[DIAGNOSIS]
LINK identifies the default PSECT for a Polish block as
the first set PSECT byte seen in the block. The
documentation states that a Polish block that uses PSECTs
must have a set PSECT byte as the first half word.
**********
[CURE]
Identify the default PSECT for the Polish block by
checking the first byte of the Polish block to see if it is
a set PSECT byte, and snarfing it if so. If not, remember
that this Polish block is not allowed to contain PSECTs, and
give the LNKIPX error if a set PSECT byte is seen later in
the block.
Digital Equipment Corporation 28-AUG-79 Page 443
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1612 15-May-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1915 15-May-1979
1)1 DECEVR==1165 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1166 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1166 JNG 15-May-79
2) ; Don't allow PSECT indices in Polish blocks unless the fi
rst halfword
2) ; was the default PSECT index for the block.
2) ; Routine: LNKOLD.
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 444
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 0812 17-Apr-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1934 15-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 13-Apr-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 15-May-7
9
2)
**************
1)1 DECEVR==1156 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1166 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1166 Make sure default PSECT index is first half word in T.11
.
2)
**************
1)67 ;FALL THRU
1)
****
2)67
2)
2) ;FALL INTO NEXT PAGE
2)
2)68 ;**;[1166] Replace @ T.11+19L JNG 15-May-79
2) PUSHJ P,RB.1 ;[1166] READ FIRST WORD
2) JRST T.11CS ;[1166] EMPTY?
2) HLRZ T1,W1 ;[1166] GET FIRST HALF WORD
2) CAILE T1,MXPLOP ;[1166] A PSECT INDEX?
2) CAIL T1,-STRLEN ;[1166] MAYBE, IS IT?
2) JRST T11RD2 ;[1166] NO, FORGET IT
2) MOVEI P4,-377777(T1) ;[1166] YES, SET IT AS DEFAULT
2) CAMLE P4,RC.NO ;[1166] IN RANGE?
2) JRST T11IPX ;[1166] NO, ERROR
2) MOVEM P4,RC.CUR ;[1166] SET FOR NEXT WORD
2) JRST T11RD2 ;[1166] ENTER MAIN LOOP
2)
2)
**************
1)68 HLRZ T1,W1 ;GET LHS
1) HRRZ T2,W1 ;GET RHS
****
2)68 ;**;[1166] Add label @ T.11RD+2L JNG 15-May-79
2) T11RD2: HLRZ T1,W1 ;[1166] GET LHS
Digital Equipment Corporation 28-AUG-79 Page 445
PCO Log Report
2) HRRZ T2,W1 ;GET RHS
**************
1)68 CAILE T1,RC.NO ;MAKE SURE VALID
1) JRST T11IPX ;INVALID
1) MOVEM T1,RC.CUR ;SET FOR NEXT READ
1) SKIPN P4 ;ALREADY BEEN SET?
1) MOVE P4,T1 ;NO, THIS IS FIRST TIME
1) HRRO P4,P4
1) T11RHS: JUMPE T2,T11GRF ;18 BIT VALUE FOLLOWING
****
2)68 ;**;[1166] Replace @ T.11RD+16L JNG 15-May-79
2) CAMLE T1,RC.NO ;[1166] MAKE SURE VALID
2) JRST T11IPX ;INVALID
2) MOVEM T1,RC.CUR ;SET FOR NEXT READ
2) JUMPE P4,T11IPX ;[1166] PSECT INDEX ILLEGAL IF 1
ST BYTE WASN'T
2) HRRO P4,P4
2)
2) ;FALL THROUGH TO NEXT PAGE
2)
2)69 T11RHS: JUMPE T2,T11GRF ;18 BIT VALUE FOLLOWING
**************
1)68 CAILE T2,RC.NO ;MAKE SURE VALID
1) JRST T11IPX ;INVALID
1) MOVEM T2,RC.CUR ;SET FOR NEXT READ
1) SKIPN P4 ;INCASE, THIS IS THE FIRST PSECT
INX IN THIS BLK
1) MOVE P4,T2 ; THEN SAVE IT
1) HRRO P4,P4 ;SIGNAL MIGHT TAKE TWO WORDS
****
2)69 ;**;[1166] Replace @ T11RHS+12L JNG 15-May-79
2) CAMLE T2,RC.NO ;[1166] MAKE SURE VALID
2) JRST T11IPX ;INVALID
2) MOVEM T2,RC.CUR ;SET FOR NEXT READ
2) JUMPE P4,T11IPX ;[1166] ENFORCE DEFAULT PSECT IN
DEX FIRST BYTE
2) HRRO P4,P4 ;SIGNAL MIGHT TAKE TWO WORDS
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 446
PCO Log Report
*********************
*PCO #:10-LINK -280*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 18-MAY-79
[Programmer] GILBERT
[Routines] LNKSCN
[Key Words] SYMBOL NAM INITIAL DI
[Source Before Edit] %4A (001166)
[Source After Edit] %4A (001167)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-Q3081
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 447
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Users can define symbols whose names are all digits
using LINK switches such as /SET or /DEFINE. This causes
user confusion when using DDT, and does not catch some user
errors in commnad strings to LINK.
**********
[DIAGNOSIS]
LINK's command scanner is too permissive.
**********
[CURE]
Require symbol names to start with a non-digit.
Digital Equipment Corporation 28-AUG-79 Page 448
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1915 15-May-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 2155 17-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-May-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 17-May-7
9
2)
**************
1)1 DECEVR==1166 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1167 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1167 JNG 17-May-79 QAR 10-3081
2) ; Don't allow symbols typed as switch arguments to begin w
ith digits.
2) ; Routines: LNKSCN
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 449
PCO Log Report
[FILCOM]
File 1) LINK:LNKSCN.MAC[30,4507] created: 1836 05-Oct-1978
File 2) LINK:LNKSCN.MAC[10,645063] created: 2318 17-May-1979
1)1 TITLE LNKSCN - INTERFACE TO SCAN FOR LINK-10
1) SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 5-Oct-78
1)
****
2)1 TITLE LNKSCN - INTERFACE TO SCAN FOR LINK
2) SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 17-May-79
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)
****
2)1 ;COPYRIGHT (C) 1973, 1978, 1979 BY DIGITAL EQUIPMENT CORPORATION
, MAYNARD, MASS.
2)
**************
1)1 DECEVR==1122 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1167 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1167 Don't allow symbol names to start with digits.
2)
**************
1)18 SYMS3: SUBI C," "-' ' ;CONVERT TO SIXBIT
1) TLNE T1,(77B5) ;DON'T OVERFLOW
****
2)18 ;**;[1167] Insert @ SYMS3 JNG 17-May-79
2) SYMS3: JUMPE N,[CAIL C,"0" ;[1167] IF FIRST CHAR, IS IT A D
IGIT?
2) CAILE C,"9" ;[1167] MAYBE, IS IT?
2) JRST .+1 ;[1167] NO, FIRST CHAR IS OK
2) POPJ P,] ;[1167] DON'T ALLOW FIRST CHAR T
O BE A DIGIT
2) SUBI C," "-' ' ;CONVERT TO SIXBIT
2) TLNE T1,(77B5) ;DON'T OVERFLOW
**************
1)19 SYOS1: PUSHJ P,.TICAN## ;SEE IF CHARACTER IS ALPHA-NUMER
IC
1) JRST [CAIN C,"#" ;NO, BUT IS IT OCTAL
****
2)19 ;**;[1167] Remove label @ SYOS1 JNG 17-May-79
2) PUSHJ P,.TICAN## ;[1167] SEE IF CHARACTER IS ALPH
A-NUMERIC
Digital Equipment Corporation 28-AUG-79 Page 450
PCO Log Report
2) JRST [CAIN C,"#" ;NO, BUT IS IT OCTAL
**************
1)19 JRST SYOS2] ;END OF OCTAL NUMBER
1) TLNN T1,(77B5) ;SEEN SIX YET?
1) JRST SYOS2 ;YES, AND ALL NUMERIC, SO MUST B
E OCTAL
1) CAIL C,"0" ;IF ALPHABETIC
1) CAILE C,"7"
1) JRST SYMS3 ;WE'VE GOT A SYMBOL
1) SUBI C," " ;CONVERT TO SIXBIT
1) IDPB C,T1 ;DON'T KNOW WHICH YET
1) PUSHJ P,.TIAUC## ;GO GET ANOTHER CHARACTER
1) JRST SYOS1 ;PROCESS IT
1)
1) ;HERE WHEN SIXBIT WORD IS OCTAL (THROUGH FIRST SIX CHARS)
1) ;CONVERT SIXBIT SYMBOL INTO RIGHT JUSTIFIED OCTAL
1)
1) SYOS2: PUSH P,N+1 ;GET A SPARE ACC
1) LSHC N,-^D36 ;LEFT JUST SYMBOL IN LOWER ACC,
CLEAR RECEIVING ACC
1) LSH N+1,3 ;GET RID OF TOP 3 BITS
1) LSHC N,3 ;SHIFT IN LOWER 3 BITS (OCTAL NU
MBER)
1) JUMPN N+1,.-2 ;LOOP FOR ALL SYMBOL
1) POP P,N+1 ;RESTORE ACC
1) SYOS3: CAIL C,"0" ;SEE IF OCTAL
1) CAILE C,"7"
1) POPJ P, ;NO, DONE
1) LSH N,3 ;YES, MULTIPLY NUMBER
1) ADDI N,-"0"(C) ;INCORPORATE DIGIT
1) PUSHJ P,.TIAUC## ;GET NEXT CHAR
1) JRST SYOS3 ;LOOP BACK
1)
****
2)19 ;**;[1167] Revamp @ SYOS1+8L JNG 17-May-79
2) POPJ P,] ;[1167] TERMINATOR
2) CAIL C,"0" ;[1167] DIGITS?
2) CAILE C,"9" ;[1167] ?
2) JRST SYMS3 ;[1167] NO, MUST BE A SYMBOL
2) JRST .OCTNC## ;[1167] OCTAL NUMBER
2)
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 451
PCO Log Report
*********************
*PCO #:10-LINK -281*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)+1146 TESTED IN 4A(1167)
[Date Entered] 21-MAY-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] MEM MGT LNKXIT BUG NO EXE FIL
[Source Before Edit] % (000000)
[Source After Edit] %4A (001170)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27945
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 452
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
There are several problems with LINK's memory management
near the end of loading, when LINK is setting up the user's
program in memory. Note that the errors listed below can
only happen if LINK is NOT generating an EXE file. The
specific symptoms fixed by this edit are as follows:
1. LINK can leave zeros in place of a large portion of
the user's high segment when it leaves the loaded
program set up in memory. This error is much more
likely if the command string to LINK contains the
/MAXCOR switch.
2. If the low segment ends with a module that declares
a larger program break than it actually loaded,
then LINK may load the program with insufficient
memory to run. This will cause illegal memory
references when the program runs.
3. LINK can get an illegal memory reference near the
end of loading. Closer inspection will reveal that
the failure occurred on a BLT instruction.
4. After edit 1146 has been installed, LINK is very
slow loading small programs on TOPS-20. It can
also be slow on TOPS-10 if the user specified a
/CORE switch with an argument which was so large
that LINK was forced to go virtual.
**********
[DIAGNOSIS]
1. If LINK decides that it has enough memory to leave
the program loaded into memory, it will allocate
two large arrays, one for the low segment and one
for the high segment. To fill these arrays with
the program, it will BLT that portion of the
Digital Equipment Corporation 28-AUG-79 Page 453
PCO Log Report
program already somewhere in memory into its proper
place in the array(s). If either segment is paging
to disk, then LINK will fill the rest of the array
for that segment by reading the data in from the
overflow file.
The problem arises when LINK had to overflow an
area to disk earlier in the load, but now decides
that it will all fit into memory after all (this is
unlikely unless the user has artificially
restricted the amount of memory available to LINK
via the /MAXCOR switch). In this case, the portion
of the segment currently in memory is just a window
into the overflow file which contains the entire
segment, and LINK will try to move this window
buffer into the array at the proper place.
Unfortunately, the window is usually pointing to
the very end of the overflow file, and contains
several pages that are actually off the end of the
file. This causes a problem because the array was
allocated based on the actual size of the overflow
file, and does not provide for the extra pages in
the window buffer. When LINK tries to move the
entire window into the segment array, it will BLT
past the end of the array and overwrite several
pages following the array, usually either the next
segment or illegal memory.
2. LINK is not taking the extra memory into account in
its decision to load the program into memory or to
write an .EXE file.
3. When LINK allocates an array for the program's high
segment as described in (1), it allocates the size
based on the entire size of the high segment,
including any area allocated but not loaded at the
end of the high segment. If not paging the high
segment to disk, it then moves the entire high
segment into its new area with a BLT instruction,
based on the size of the new area. Unfortunately,
the old area that contained the high segment did
not include the non-loaded area at the end, so the
BLT can be moving more data than the old area
contained. If the old area was near the top of
memory (which it usually will be), this excess will
result in an illegal memory reference.
Illegal memory references can also be produced by
problem (1).
4. After LINK has finished moving both segments to
Digital Equipment Corporation 28-AUG-79 Page 454
PCO Log Report
their new homes and compressing out the free space
between them, it tries to reduce the size of the
low segment to the minimum necessary, then clear
the last partial-page gaps remaining between the
segments. Unfortunately, the code to reduce the
size of LINK's low segment is not even reached
unless the program being loaded has a high segment,
and even then the test to decide whether to reduce
the low segment size is backwards, so LINK will
never actually shrink. This means that it can
potentially end up clearing many "extra" pages,
instead of just a few partial pages.
This extra clearing will not cause much problem on
TOPS-10 systems, since the low segment usually
isn't too much bigger than it needs to be (unless
forced to be so by the user with /CORE). On
TOPS-20, however, LINK's low segment starts out at
maximum size, and stays that way throughout the
load. Under these conditions, this BLT will clear
about 300 extra pages, which can more than triple
the time needed to load a small program.
**********
[CURE]
1. Only move the valid portion of the window buffer
into the segment array.
2. Modify the memory check to include this case.
Note however that if execution was also requested
in the load but there is still not enough memory to
run the program, then the monitor message `?nP of
core needed' will result. This can only be fixed
by increasing the job's physical and/or virtual
limits.
3. Allocate the new high segment array based only on
the portion of the high segment before the last
non-loaded part. This is already the way that the
low segment allocation is done.
4. Fix the flow of control to always get to the low
segment reduction check, and then fix the sense of
the check.
Digital Equipment Corporation 28-AUG-79 Page 455
PCO Log Report
These problems were all fixed as one edit because they are
all in the same section of code, and could not have been
easily split out into different edits.
This edit requires edit 1146 to be installed.
Digital Equipment Corporation 28-AUG-79 Page 456
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.OLD[30,3737] created: 1553 29-May-1979
File 2) LINK:LNKHST.MAC[30,3737] created: 1547 29-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-May-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 23-May-7
9
2)
**************
1)1 DECEVR==1167 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1170 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1170 JNG 23-May-79 SPR 10-27945, QAR 10-3070, 10-30
87
2) ; Fix some memory management problems in LNKXIT when not w
riting an
2) ; EXE file.
2) ; Routine: LNKXIT
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 457
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[10,400000] created: 1934 15-May-1979
File 2) LINK:LNKOLD.MAC[30,3737] created: 2159 22-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 15-May-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 23-May-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1166 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1170 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)5 COMMENT \
****
2)4 ;1170 Set up HC.S2 in SETRC in case hiseg contains only BLOCKs
.
2)5 COMMENT \
**************
1)42 IFE TOPS20,<
1) ; CAIL W1,400000 ;ERROR IF LESS THAN 128K>
1) CAMG W1,RC.CV(R) ;BUT MUST BE HIGHER THAN LOW SEG
1) JRST T.3F ;TOO LOW
1) ;**;[1132] Delete @ SETRC+13L JNG 30-Jan-79
****
2)42 ;**;[1170] Replace @ SETRC+9L JNG 23-May-79
2) CAMG W1,RC.CV(R) ;BUT MUST BE HIGHER THAN LOW SEG
2) JRST T.3F ;TOO LOW
2) MOVEI T1,.JBHDA ;[1170] SIZE OF VESTIGIAL JOBDAT
2) MOVEM T1,HC.S2 ;[1170] STORE IN CASE NOTHING EL
SE LOADED
2) ;**;[1132] Delete @ SETRC+13L JNG 30-Jan-79
**************
Digital Equipment Corporation 28-AUG-79 Page 458
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[10,400000] created: 1916 14-Apr-1979
File 2) LINK:LNKXIT.MAC[30,3737] created: 1711 24-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 14-Apr-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 23-May-79
2)
**************
1)1 DECEVR==1160 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1170 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1170 Fix core management problems when not writing an EXE fil
e.
2)
**************
1)44 SKIPE HC.S2 ;[1146] HITS HIGH SEG (IF ANY)
WHICH CHECKS
1) CAMG T1,LL.S2 ;[1146] FOR PSECTS ABOVE HIGH
SEG ORIGIN
****
2)44 ;**;[1170] Change @ SAVTST+9L JNG 23-May-79
2) SKIPE LL.S2 ;[1170] HITS HIGH SEG (IF ANY)
WHICH CHECKS
2) CAMG T1,LL.S2 ;[1146] FOR PSECTS ABOVE HIGH
SEG ORIGIN
**************
1)45 ;COMPUTE HOW MUCH MEMORY IT WILL TAKE TO HOLD THE PROGRAM.
1)
****
2)45 ;COMPUTE HOW MUCH MEMORY IT WILL TAKE TO HOLD THE PROGRAM DURING
THE LAST STAGES
2) ;OF LOADING, AND MAKE SURE THAT WE CAN GET THAT MUCH. IF WE C
AN'T, THEN THE
2) ;PROGRAM IS TOO COMPLEX. THERE ARE TWO SIZES TO WORRY ABOUT:
2) ;
2) ; 1. LINK'S LOW SEGMENT + THE PROGRAM'S ACTUALLY LOADED LOW
SEGMENT (DOESN'T
2) ; COUNT BLOCK'S AT THE END OF THE LOW SEGMENT) + THE PROGR
AM'S ACTUALLY
2) ; LOADED HIGH SEGMENT. THIS IS THE MEMORY REQUIREMENT IN J
BLOAD.
2) ;
2) ; 2. THE PROGRAM'S ENTIRE LOW SEGMENT + HIGH SEGMENT. TH
IS IS THE MEMORY
Digital Equipment Corporation 28-AUG-79 Page 459
PCO Log Report
2) ; REQUIREMENT IN THE FINAL EXIT CODE AT %5. NOTE THAT WE
MUST REMEMBER
2) ; THAT WE HAVE A HIGH SEGMENT NOW BUT WON'T THEN.
2)
**************
1)45 SKIPE HC.S2 ;[1146] HIGH SEG EXISTS
1) CAMGE T1,LL.S2 ;[1146] AND ORIGIN BELOW WHERE
WE CAN PUT IT?
****
2)45 ;**;[1170] Change @ SAVTS3+1P7L JNG 23-May-79
2) SKIPE LL.S2 ;[1170] HIGH SEG EXISTS
2) CAMGE T1,LL.S2 ;[1146] AND ORIGIN BELOW WHERE
WE CAN PUT IT?
**************
1)45 SKIPN PAG.S1 ;[1146] PAGING LOW SEGMENT
1) SKIPE PAG.S2 ;[1146] OR HIGH SEG?
1) SKIPA ;[1146] YES--SEE IF ALL WILL FIT
IN
1) JRST JBLOAD ;[1146] NO--IT FITS NOW SO JUST
SHUFFLE
1) ADD T1,HL.S2 ;[1146] ADD LENGTH OF HIGH SEGME
NT
1) IOR. T1,.PGSIZ ;[1146] ..
1) TLNE T1,-1 ;[732] OVERFLOWED INTO THE LH?
****
2)45 ;**;[1170] Replace @SAVTS3+1P11L DZN 18-May-79
2) ADD T1,HC.S2 ;[1170] ADD LENGTH OF HIGH SEGME
NT
2) IOR. T1,.PGSIZ ;[1146] ..
2) HRRZ T2,.JBHRL## ;[1170] DON'T COUNT SIZE OF CURR
ENT HIGH SEG
2) SUB T2,HIORGN ;[1170] ..
2) MOVNI T2,2(T2) ;[1170] ..
2) ADD T2,HL.S1 ;[1170] + ENTIRE PROGRAM LOW SEG
2) IOR. T2,.PGSIZ ;[1170] ROUNDED TO A PAGE
2) ADD T2,HL.S2 ;[1170] + ENTIRE PROGRAM HIGH SE
G
2) IOR. T2,.PGSIZ ;[1170] ROUNDED TO A PAGE TOO
2) CAMGE T1,T2 ;[1170] PICK MAX OF TWO
2) MOVE T1,T2 ;[1170] ..
2) TLNE T1,-1 ;[732] OVERFLOWED INTO THE LH?
**************
1)98 JBLOAD: DMOVE P1,LC.LB ;SAVE THE CURRENT LOCATIONS
1) DMOVE P3,LC.AB ; SO WE CAN MOVE DATA
****
2)98 ;**;[1070] Insert @ JBLOAD JNG 23-May-79
2) JBLOAD: MOVE T1,[HC.IX+1-HG.TAB,,HC.IX+1] ;[1070] AOBJN PT
R TO AREAS
2) PUSHJ P,XX.ZAP ;[1070] CLEAR ALL AREAS ABOVE HC
Digital Equipment Corporation 28-AUG-79 Page 460
PCO Log Report
2) AOBJN T1,.-1 ;[1070] SINCE CORE MGT BELOW A
SSUMES THEM GONE
2) DMOVE P1,LC.LB ;SAVE THE CURRENT LOCATIONS
2) DMOVE P3,LC.AB ; SO WE CAN MOVE DATA
**************
1)98 JUMPE P2,[HRRZ T1,.JBREL
1) MOVEM T1,LC.UB ;IGNORE IF NO HIGH SEG
1) JRST JBGCL] ;BUT RESET UPPER LIMIT
1) ADDI T1,1 ;LOWER BOUND FOR HISEG
1) MOVEM T1,HC.LB ;RESET IT
1) ADD T1,HL.S2 ;HIGHEST LOC WE NEED
1) ;**;[1146] Insert before JBGC+16L DZN 8-Mar-79
****
2)98 ;**;[1170] Change @ JBLOAD+12L JNG 23-May-79
2) JUMPE P2,JBGCL ;[1170] GO MOVE IF NO HI SEG
2) ADDI T1,1 ;LOWER BOUND FOR HISEG
2) MOVEM T1,HC.LB ;RESET IT
2) ADD T1,HC.S2 ;[1170] HIGHEST LOC WE NEED
2) ;**;[1146] Insert before JBGC+16L DZN 8-Mar-79
**************
1)99 JBGC1: ;NOW FOR MOVES
1) ;MAKE TWO SIMPLE TESTS FIRST
1) ;THEN MOVE IN HIGH AND LOW CODE
1) JUMPE P2,JBGCL ;ONLY LOW CODE TO WORRY ABOUT
1) CAMGE P2,HC.LB ;IF BOTTOM OF CODE IS UNDER WHER
E IT SHOULD BE
1) JRST JBGCHU ;MOVE IT UP (TO CORRECT PLACE)
1) CAMLE P3,LC.AB ;IF TOP OF LOW IS ABOVE WHERE IT
SHOULD BE
1) JRST JBGCLD ;MOVE LOWER
1)
1) JBGCH: ;NOW FOR HIGH SEG
1) SKIPN T1,HC.UB ;FIRST GET RID OF EXCESS CORE IF
ANY
1) MOVE T1,LC.UB ;NO HIGH USE LOW
1) CAMLE T1,.JBREL ;BUT DON'T WASTE TIME IF ALREADY
THERE
1) CORE T1,
1) JFCL ;TOO BAD
1) JUMPE P2,JBGCL ;NO HIGH
1) MOVEI R,HC.IX ;INDEX TO HIGH
****
2)99 ;FALL IN FROM ABOVE IFF WE HAVE A HIGH SEGMENT (HC AREA)
2) ;NOW DO THE FOLLOWING:
2) ;
2) ; 1. IF THE LC AREA IS SO HIGH THAT IT MIGHT GET OVERWRITTEN
WHEN WE MOVE THE
2) ; HC AREA TO WHERE IT BELONGS, THEN MOVE THE LC AREA DOWN
OUT OF THE WAY.
Digital Equipment Corporation 28-AUG-79 Page 461
PCO Log Report
2) ; 2. MOVE THE HC AREA TO WHERE IT BELONGS, AND READ IN ANY DA
TA STILL OUT IN
2) ; OVERFLOW FILES.
2) ; 3. MOVE THE LC AREA TO WHERE IT BELONGS, AND READ IN ANY DA
TA STILL OUT IN
2) ; OVERFLOW FILES.
2) ; 4. DO A CORE UUO TO GET RID OF CORE FOR TABLES NO LONGER NE
EDED.
2) ; 5. MAKE SURE THE CORE BETWEEN AREAS IS STILL ZERO AFTER ALL
THIS MOVING.
2) ;
2) ;ENTER FROM ABOVE AT JBGCL (STEP 3) IF WE DON'T HAVE A HIGH SEG.
2)
2) ;**;[1170] Replace @ JBGC1 JNG 23-May-79
2) MOVEI R,LC.IX ;[1170] POINT TO LOW SEG FOR JBC
GM
2) CAMLE P3,LC.AB ;[1170] MIGHT LC AREA BE WIPED B
Y MOVING HC?
2) PUSHJ P,JBGCM ;[1170] YES, MOVE LC AREA FIRST
2) MOVEI R,HC.IX ;INDEX TO HIGH
**************
1)99 ;NOW TO ZERO ALL SPACE NOT USED
****
2)99 ;**;[1170] Insert @ JBGCL+3L JNG 23-May-79
2) SKIPN T1,HC.UB ;[1170] GET LAST LOCATION USED
2) MOVE T1,LC.UB ;[1170] NO HI SEG, END OF LOW IS
LAST USED
2) IOR. T1,.PGSIZ ;[1170] UP TO PAGE BOUND IF NEED
ED
2) CAME T1,.JBREL ;[1170] ALREADY THE RIGHT SIZE?
2) CORE T1, ;[1170] NO, SHRINK DOWN (OR GROW
???)
2) JFCL ;[1170] ALREADY WAS THE RIGHT SI
ZE
2) ;NOW TO ZERO ALL SPACE NOT USED
**************
1)99 SETZM T1,-1(T1) ;CLEAR FIRST WORD
1) BLT T1,@TAB.UB(R) ;AND REST
****
2)99 ;**;[1170] Change @ JBGCZ+5L JNG 23-May-79
2) SETZM -1(T1) ;[1170] CLEAR FIRST WORD
2) BLT T1,@TAB.UB(R) ;AND REST
**************
1)100 ;**;[1146] Swap pages @JBGCMV and JBGCHU DZN 8-Mar-79
1) JBGCHU: ;HERE TO MOVE HIGH UP
1) ;USUAL REVERSE BLT IN T1-T4
1) MOVE T1,HC.LB ;WHERE BOTTOM SHOULD BE
1) SUBI T1,(P2) ;WHERE IT NOW IS (GIVES DIFF)
1) ADD T1,LW.S2 ;ADD IN WINDOW ADDRESS
1) MOVE T4,P4 ;FIND LENGTH TO MOVE
1) SUBI T4,-1(P2)
Digital Equipment Corporation 28-AUG-79 Page 462
PCO Log Report
1) MOVS T4,T4 ;LENGTH IN LEFT
1) HRR T4,P4 ;TOP OF OLD DATA
1) TLO T4,(1B0) ;PREVENT PDLOV
1) HRLI T1,(POP T4,0(T4))
1) MOVE T2,[JUMPL T4,T1]
1) MOVE T3,[JRST JBGCH]
1) MOVE P2,HC.LB ;NOW FIXUP P2
1) ADD P2,LW.S2 ;SO WE DON'T MOVE THIS STUFF AGA
IN
1) JRST T1 ;JUMP INTO FAST LOOP
1)
1) JBGCLD: ;HERE TO MOVE LOW DOWN
1) MOVE T1,LC.LB ;START OF WHERE LOW CODE GOES
1) ADD T1,LW.S1 ;WHERE THIS WINDOW GOES
1) MOVE T2,T1 ;COPY SO WE CAN END
1) HRL T1,P1 ;BLT WORD
1) SKIPN UW.S1 ;MAY NOT BE PAGING
1) SKIPA T2,LC.AB ;SO USE ALL OF AVAILABLE CORE
1) ADD T2,UW.S1 ;WHERE IT SHOULD END
1) BLT T1,0(T2) ;MOVE ALL DATA
1) MOVE P1,LC.LB ;FIXUP P1 TO REFLECT CHANGE
1) ADD P1,LW.S1 ;SO WE DON'T MOVE AGAIN
1) JRST JBGCH ;NOW DO INTERNAL MOVES
1)
1)101 ;**;[1146] (Swapped as noted above). Make minor changes below.
****
2)100 ;**;[1170] Delete @ JBGHCU JNG 23-May-79
2) ;**;[1146] (Swapped as noted above). Make minor changes below.
**************
1)101 PUSHJ P,[CAMG T1,P0(R) ;OTHERWISE MOVE UP OR DO
WN
1) ;**;[1146] Replace @JBGCMV+4L DZN 8-Mar-79
1) PJRST JBGCD ;[1146] DOWN
1) PJRST JBGCU] ;[1146] UP
1) ;NOW FOR REST OF CODE
****
2)100 ;**;[1170] Replace @ JBGCMV+3L JNG 23-May-79
2) PUSHJ P,JBGCM ;[1170] MOVE THE AREA, UP OR DOW
N
2) ;NOW FOR REST OF CODE
**************
1)101 JRST .+5 ;JUST IGNORE
1) EXCH T1,UW.S0(R) ;GET BASE
****
2)100 ;**;[1170] Replace @ JBGCMV+17L JNG 23-May-79
2) POPJ P, ;[1170] ALL DONE
2) EXCH T1,UW.S0(R) ;GET BASE
**************
1)101 PUSHJ P,@[EXP LC.IN##,HC.IN##]-1(R)
Digital Equipment Corporation 28-AUG-79 Page 463
PCO Log Report
1) ;NOW TO ZERO JUNK AT TOP
1) HRRZ T1,TAB.AB(R) ;TOP IN USE OR KNOWN TO BE ZERO
1) CAMN T1,TAB.UB(R) ;ALL TAKEN?
1) POPJ P, ;YES
1) HRLI T1,1(T1) ;FIRST TO ZERO
1) SETZM 1(T1) ;CLEAR IT
1) ADDI T1,2 ;FORM BLT PTR
1) BLT T1,@TAB.UB(R) ;ALL THE WAY
1) POPJ P, ;ALL DONE
1)
1)102 ;HERE TO MOVE WINDOW UP IN EITHER AREA
1) ;ENTER WITH R=1 FOR LOW
1) ;R=2 FOR HIGH
1)
1) JBGCU: ;HERE TO MOVE UP
1) ;USUAL REVERSE BLT IN T1-T4
1) MOVE T1,TAB.LB(R) ;WHERE BOTTOM SHOULD BE
1) SUB T1,P0(R) ;WHERE IT NOW IS (GIVES DIFF)
1) ADD T1,LW.S0(R) ;ADD IN WINDOW ADDRESS
1) MOVE T4,P2(R) ;FIND LENGTH TO MOVE
1) SUB T4,P0(R)
1) ADDI T4,400001 ;PREVENT PDLOV, INCREMENT LENGTH
CORRECTLY
1) MOVS T4,T4 ;LENGTH IN LEFT
1) HRR T4,P2(R) ;TOP OF OLD DATA
1) HRLI T1,(POP T4,0(T4))
1) MOVE T2,[JUMPL T4,T1]
1) MOVSI T3,(POPJ P,)
1) PJRST T1 ;JUMP INTO FAST LOOP
1)
1) JBGCD: ;HERE TO MOVE DOWN
1) SKIPN PAG.S0(R) ;IF NOT PAGED
1) JRST JBGCN ;USE DIFFERENT ROUTINE
1) MOVE T1,TAB.LB(R) ;START OF WHERE LOW CODE GOES
1) ADD T1,LW.S0(R) ;WHERE THIS WINDOW GOES
1) MOVE T2,T1 ;COPY SO WE CAN END
1) HRL T1,P0(R) ;BLT WORD
1) ADD T2,UW.S0(R) ;WHERE IT SHOULD END
1) BLT T1,0(T2) ;MOVE ALL DATA
1) POPJ P,
1)
1) JBGCN: ;MOVE DOWN WHEN NOT PAGED
1) MOVE T1,TAB.LB(R) ;START OF WHERE LOW CODE GOES
1) HRL T1,P0(R) ;WHERE IT IS NOW
1) BLT T1,@TAB.AB(R) ;MOVE IT ALL
1) POPJ P,
1)
****
2)100 ;**;[1170] Replace @ JBGCMV+19L JNG 23-May-79
Digital Equipment Corporation 28-AUG-79 Page 464
PCO Log Report
2) PJRST @[EXP LC.IN##,HC.IN##]-1(R) ;[1170] READ IT
IN AND RETURN
2)
2)101 ;**;[1170] Revamp @ JBGCU JNG 23-May-79
2) ;SUBROUTINE TO MOVE AN AREA TO ITS FINAL RESTING PLACE.
2) ;CALL WITH:
2) ; R/ INDEX TO SEGMENT, ??.IX
2) ; P1-P4/ OLD LB/AB OF AREAS
2) ; ??.LB&AB/ NEW LB/AB OF AREAS
2) ;
2) ;UPDATES P1-P4 TO INDICATE THE AREA HAS BEEN MOVED.
2) ;THIS SUBROUTINE USES BLTS, A PIECE AT A TIME IF OVERLAPPING UPW
ARDS.
2)
2) JBGCM: MOVE W1,HC.S0(R) ;[1170] FIRST, CALCULATE LAST DE
ST+1
2) SUBI W1,1 ;[1170] DEPENDS ON IF PAGING, AN
D
2) IORI W1,.IPM ;[1170] WHERE WINDOW IS IF SO
2) SKIPE PAG.S0(R) ;[1170] PAGING?
2) CAMG W1,UW.S0(R) ;[1170] YES, DOES WINDOW POINT T
O END OF AREA?
2) CAIA ;[1170] NOT PAGING OR WINDOW AT
END
2) MOVE W1,UW.S0(R) ;[1170] WINDOW IN MIDDLE, STOP B
LT AT UW
2) ADDI W1,1 ;[1170] CONVERT LAST DEST TO FIR
ST NOT TOUCHED
2) ADD W1,TAB.LB(R) ;[1170] FORM ABSOLUTE ADDRESS
2) MOVE T1,TAB.LB(R) ;[1170] NOW CALCULATE FIRST DEST
INATION ADDR
2) ADD T1,LW.S0(R) ;[1170] WHERE CURRENT WINDOW GOE
S IN NEW LC AREA
2) MOVE T3,W1 ;[1170] T1 GETS TOTAL LENGTH TO
MOVE
2) SUB T3,T1 ;[1170] LAST+1-FIRST IS LENGTH
2) MOVE T4,T1 ;[1170] T4 GETS OFFSET (HOW FAR
TO MOVE)
2) SUB T4,P0(R) ;[1170] THIS IS ALSO CHUNK SIZE
IF OVERLAPS UP
2) SKIPG T4 ;[1170] MOVE DOWN OR IN PLACE?
2) MOVE T4,T3 ;[1170] YES, MOVE ENTIRE THING I
N ONE PIECE
2) HRLS T4 ;[1170] FORM CHUNK SIZE,,CHUNK S
IZE (FOR BLT AC)
2) MOVEI W3,-1(W1) ;[1170] W1 GETS LAST DEST
2) MOVE T2,P0(R) ;[1170] T2 GETS LAST SOURCE + 1
2) ADD T2,T3 ;[1170] FOR LH OF W1 AS PROTOTYP
E BLT POINTER
Digital Equipment Corporation 28-AUG-79 Page 465
PCO Log Report
2) HRLM T2,W1 ;[1170] W1/ LAST SRC+1,,LAST DST
+1
2) MOVEM T1,P0(R) ;[1170] UPDATE P1/P2 SO WE KNOW
WE DID THIS
2)
2) ; ..
2)
2)102 ; ..
2)
2) ;LOOP BACK HERE TO DO EACH NEW PIECE OF THE BLT. THIS CODE USES
ACS AS FOLLOWS:
2) ;
2) ; T3/ TOTAL # WORDS LEFT TO MOVE
2) ; T4/ CHUNK SIZE,,CHUNK SIZE (.GT. T3 IF LAST OR ONLY
TIME)
2) ; W1/ LAST SRC+1,,LAST DEST+1 FOR NEXT BLT
2) ; W2/ SCRATCH AC FOR BLT
2) ; W3/ LAST DEST FOR NEXT BLT
2) ;
2) ;W1 AND W3 ARE DECREMENTED BY CHUNK SIZE WITH EACH BLT UNTIL DON
E.
2)
2) JBGCM6: CAIGE T3,(T4) ;[1170] LAST (OR ONLY) TIME?
2) JRST JBGCM8 ;[1170] YES, GO ADJUST CHUNK SIZ
E ETC.
2) SUB W1,T4 ;[1170] DECREMENT PROTOTYPE BLT
POINTER
2) MOVE W2,W1 ;[1170] SCRATCH COPY FOR BLT
2) BLT W2,(W3) ;[1170] BLT NEXT PIECE
2) SUBI W3,(T4) ;[1170] DECREMENT LAST BLT ADDRE
SS
2) SUBI T3,(T4) ;[1170] DECREMENT TOTAL LEFT TO
DO
2) JRST JBGCM6 ;[1170] LOOP BACK
2)
2)
2) ;HERE THE LAST TIME
2)
2) JBGCM8: JUMPE T3,CPOPJ ;[1170] ALL DONE?
2) MOVE T4,T3 ;[1170] DO WHAT'S LEFT
2) HRLS T4 ;[1170] SET NEW CHUNK SIZE
2) JRST JBGCM6 ;[1170] BACK THROUGH THE LOOP, O
NE MORE TIME
2)
**************
1)103 ;HERE TO CHECK FOR HIGH SEG AND MAKE SURE IT'S ON A K BOUNDARY
1) JBEXIT: SKIPE IO.PTR+%XC ;[1146] DO WE WANT .XPN FILE
****
2)103 JBEXIT: SKIPE IO.PTR+%XC ;[1146] DO WE WANT .XPN FILE
**************
1)103 SKIPE T1,HC.LB ;ANY HIGH SEG CODE
Digital Equipment Corporation 28-AUG-79 Page 466
PCO Log Report
1) IFN TOPS20,<
1) TRNN T1,.PGSIZ ;[650] ON A PAGE BOUND ALREADY?
1) JRST JBEX1 ;[650] YES, EXPECTED
1) SUBI T1,1001 ;[650] NO, FIND NEXT LOWER PAGE
1) > ;END IFN TOPS20
1) IFE TOPS20,<
1) TDNN T1,.PGSIZ ;[650] ON A (K/P) BOUND?
1) JRST JBEX1 ;[650] YES, WHAT LUCK
1) SUB T1,.PGSIZ ;[650] NO, NEXT LOWER PAGE
1) SUBI T1,2 ;[650] 1 FOR EVEN PAGE, 1 FOR LO
W END
1) > ;END OF IFE TOPS20
1) IOR. T1,.PGSIZ ;[650] UP TO CORE BLOCK BOUND
1) CAMGE T1,LC.AB ;ENOUGH SPARE TO BLT DOWN?
1) JRST JBEXUP ;NO MOVE UPWARDS
1) ADDI T1,1 ;PUT THE 1 BACK
1) HRL T1,HC.LB ;FROM,,TO BLT POINTER
1) MOVE T2,HC.AB
1) SUB T2,HC.LB ;GET LENGTH
1) ADDI T2,(T1) ;LAST ADD TO BLT
1) HRRZM T1,HC.LB ;NEW LOW BASE
1) MOVEM T2,HC.AB ;NEW HIGH BASE
1) BLT T1,-1(T2) ;MOVE DATA
1) ;NOW TO ZERO REST OF AREA UP TO
K BOUND
1) HRRZI T1,-1(T2) ;GET TOP DATA WORD
1) IOR. T1,.PGSIZ ;[650] UP TO CORE BLOCK BOUND
1) SETZM (T2) ;ZERO FIRST WORD
1) HRLI T2,1(T2) ;FORM BLT POINTER
1) MOVS T2,T2 ;RIGHT WAY ROUND
1) BLT T2,(T1) ;ZERO JUNK
1) JRST JBEX1 ;NOW FOR REMAP
1)
1)104 ;HERE TO MOVE CODE UP TO A K BOUND SO REMAP WILL WORK
1)
1) JBEXUP: MOVE T4,HC.AB ;TOP
1) SUB T4,HC.LB ;MINUS BOTTOM GIVES LENGTH
1) MOVE T1,LC.AB ;GET TO OF CURRENT AREA
1) IOR. T1,.PGSIZ ;[650] PUT ON BLOCK BOUND
1) ADD T1,T4 ;GET NEW TOP
1) CAMG T1,HC.UB ;WILL IT FIT?
1) JRST JXUP1 ;YES
1) CORE T1, ;EXPAND
1) PUSHJ P,NO.COR## ;SHOULD NEVER GET HERE
1) MOVE T1,.JBREL ;GET NEW TOP
1) MOVEM T1,HC.UB ;SET IT
1) JRST JBEXUP ;RESET T4
1)
1) JXUP1: MOVE T3,T4 ;GET A COPY
Digital Equipment Corporation 28-AUG-79 Page 467
PCO Log Report
1) HRL T4,T4 ;IN BOTH HALVES
1) ADD T4,HC.LB ;TOP OF DATA
1) TLO T4,(1B0) ;PREVENT PDLOV
1) MOVE T1,HC.LB ;GET CURRENT BOTTOM
1) IOR. T1,.PGSIZ ;[650] UP TO BLOCK BOUND
1) ADDI T1,1 ;STARTS ON NEXT WORD
1) MOVE T2,T1 ;GET COPY
1) SUB T1,HC.LB ;GET OFFSET
1) HRLI T1,(POP T4,0(T4))
1) PUSH P,HC.LB ;SAVE OLD BASE
1) MOVEM T2,HC.LB ;RESET BASE
1) ADDI T3,(T2) ;START + LENGTH
1) MOVEM T3,HC.AB ;AND TOP
1) MOVE T2,[JUMPL T4,T1] ;LOAD INST
1) MOVSI T3,(POPJ P,) ;RETURN
1) PUSHJ P,T1 ;JUMP INTO CODE IN ACCS
1) POP P,T1 ;GET OLD HC.LB
1) SETZM (T1) ;ZERO FIRST WORD
1) HRL T1,T1
1) ADDI T1,1 ;BLT PTR
1) MOVE T2,HC.LB ;NEW LOWER BOUND
1) BLT T1,-1(T2) ;CLEAR JUNK WE LEFT BEHIND
1) ;FALL INTO JBEX1
1)
1)105 JBEX1: SKIPE STADDR ;WARN USER IF NO STARTING ADDRES
S
1) JRST JBEX10 ;IS A STARTING ADDRESS, KEEP GOI
NG
****
2)103 ;**;[1170] Delete @ JBEXIT+4L JNG 23-May-79
2) SKIPE STADDR ;WARN USER IF NO STARTING ADDRES
S
2) JRST JBEX10 ;IS A STARTING ADDRESS, KEEP GOI
NG
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 468
PCO Log Report
*********************
*PCO #:10-LINK -282*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 21-MAY-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] LNKPCL TOPS-10 PSECT PROP
[Source Before Edit] %4A (001170)
[Source After Edit] %4A (001171)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-Q3049
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 469
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Even after edit 1146 is installed, the TOPS-10 version
of LINK will not say LNKPCL and write an EXE file if the
user requests a write-enabled high segment or a write-locked
low segment. The monitor group suggests that these might be
implemented some day, and requests that LINK not disallow
such a construct.
**********
[DIAGNOSIS]
Edit 1146 didn't think PSECT attributes were relevant
to TOPS-10.
**********
[CURE]
Remove the TOPS-20 conditional, and special-case the
TOPS-10 high segment.
Digital Equipment Corporation 28-AUG-79 Page 470
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1547 29-May-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 0023 30-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 23-May-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 30-May-7
9
2)
**************
1)1 DECEVR==1170 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1171 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1171 JNG 30-May-79 QAR 10-3049
2) ; Fix edit 1146 to say LNKPCL even on TOPS-10 if it doesn'
t like
2) ; the PSECT attributes.
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 471
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1711 24-May-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 0010 30-May-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 23-May-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 30-May-79
2)
**************
1)1 DECEVR==1170 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1171 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1171 Fix edit 1171 to say LNKPCL if bad PSECT properties, eve
n on TOPS-10.
2)
**************
1)44 ;TEST FOR GAPS BETWEEN PSECTS, PSECTS ABOVE THE HIGH SEGMENT AND
TOPS-20 WRITE-
1) ;LOCKED PSECTS.
1)
****
2)44 ;TEST FOR GAPS BETWEEN PSECTS, PSECTS ABOVE THE HIGH SEGMENT AND
PSECT
2) ;PROPERTIES THAT WE CAN'T HANDLE EXCEPT IN AN EXE FILE.
2)
**************
1)44 SAVTS1: MOVE W2,@RC.TB ;[1146] GET POINTER TO THIS RELO
C BLOCK
1) IFN TOPS20,<
1) MOVE T2,RC.AT(W2) ;[1146] CHECK PSECT ATTRIBUTES F
OR READ-ONLY
1) TXNE T2,AT.RO ;[1146] ..
1) JRST JBCMPX ;[1146] CAN'T SET UP READ-ONLY P
AGES IN MEMORY
1) >
1) CAML T1,RC.HL(W2) ;[1146] DOES PREVIOUS PSECT ENGU
LF THIS ONE?
1) JRST SAVTS3 ;[1146] YES--NO GAP POSSIBLE YET
1) CAMN T4,RC.SG(W2) ;[1146] POSSIBLE GAP BELOW .HIGH
.?
1) JRST SAVTS2 ;[1146] YES--OK. USUAL CASE
1) MOVEI T2,-1(T1) ;[1146] COMPUTE LAST PAGE USED
****
2)44 ; ..
2)
Digital Equipment Corporation 28-AUG-79 Page 472
PCO Log Report
2)45 ; ..
2)
2) ;BACK HERE FOR EACH NEW PSECT.
2)
2) SAVTS1: MOVE W2,@RC.TB ;[1146] GET POINTER TO THIS RELO
C BLOCK
2) ;**;[1171] Replace @ SAVTS1+1L JNG 30-May-79
2) MOVE T2,RC.AT(W2) ;[1171] GET THIS PSECT'S ATTRIBU
TES
2)
2) IFE TOPS20,<
2) CAMN T4,RC.SG(W2) ;[1171] TOPS-10 HIGH SEGMENT?
2) JRST [TXNE T2,AT.RW ;[1171] YES, USER ASKED FOR WRIT
EABLE?
2) JRST JBCMPX ;[1171] YES, LET MONITOR FIGURE
IT OUT
2) JRST SAVTS2] ;[1171] NO, ATTRIBUTES ARE OK
2) > ;END IFE TOPS20
2)
2) TXNE T2,AT.RO ;[1171] NON-HI SEG PAGE TO BE RE
AD ONLY?
2) JRST JBCMPX ;[1171] YES, WE CAN'T HANDLE IT
2) SAVTS2: CAML T1,RC.HL(W2) ;[1171] DOES PREVIOUS PSECT ENGU
LF THIS ONE?
2) JRST SAVTS6 ;[1171] YES--NO GAP POSSIBLE YET
2) CAMN T4,RC.SG(W2) ;[1146] POSSIBLE GAP BELOW .HIGH
.?
2) JRST SAVTS5 ;[1171] YES--OK. USUAL CASE
2) MOVEI T2,-1(T1) ;[1146] COMPUTE LAST PAGE USED
**************
1)44 SAVTS2: MOVE T1,RC.HL(W2) ;[1146] SO FAR SO GOOD--ADVANCE
TO NEXT PSECT
1) SAVTS3: MOVE W1,W2 ;[1146] ADVANCE TO NEXT PSECT
1) CAMGE R,RC.NO ;[1146] LOOKED AT ALL PSECTS?
1) AOJA R,SAVTS1 ;[1146] NO--LOOK AT NEXT
1)
1) ; ..
1)
1)45 ; ..
1)
****
2)45 ;**;[1171] Change @ SAVTS2 JNG 30-May-79
2) SAVTS5: MOVE T1,RC.HL(W2) ;[1171] SO FAR SO GOOD--ADVANCE
TO NEXT PSECT
2) SAVTS6: MOVE W1,W2 ;[1171] ADVANCE TO NEXT PSECT
2) CAMGE R,RC.NO ;[1146] LOOKED AT ALL PSECTS?
2) AOJA R,SAVTS1 ;[1146] NO--LOOK AT NEXT
2) ; ..
2)
Digital Equipment Corporation 28-AUG-79 Page 473
PCO Log Report
2)46 ; ..
2)
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 474
PCO Log Report
*********************
*PCO #:10-LINK -283*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1160), DON'T INSTALL!
[Date Entered] 09-JUN-79
[Programmer] GILBERT
[Routines] LNKPAR LNKLOW LNKINI LNKXIT
[Key Words] DDT SYMS GEN RST BIG REWORK
[Source Before Edit] %4A (001171)
[Source After Edit] %4A (001172)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 475
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The routines in LNKXIT.MAC having to do with generation
of the runtime symbol table and the associated memory
management are some of the worst in LINK. They are very
difficult to understand and maintain, are poorly written,
and have been the source of many edits to correct bugs
reported via SPRs (including 8 new edits in the year that
LINK v4 has been out).
This PCO is a re-work of that section of LNKXIT.MAC in
LINK in an attempt to improve its reliability and
maintainability. Some of the specific problems that have
been fixed by this edit are as follows:
1. If LINK does not have sufficient room to generate a
complete runtime symbol table (and thus issues the
LNKISS message), then the table generated will be
incorrect. The last word of the table will not be
a module name, and there will therefore be no
linked list of module names in the symbol table.
2. Field image LINK will not allocate a patch area if
the user asks (via /SYMSEG) for the symbols to go
into a psect that is empty except for the symbols.
Edit 772 fixed this problem, but introduced the
problem that the contents of .JBUSY will be
incorrect if the program contains any undefined
symbols. Edit 1121 fixed this problem, but
re-introduced the original problem.
3. LINK ignores other psects and the /UPTO switch when
writing the undefined symbol table. This means
that the undefined table can overwrite whatever
follows it, or can cause LINK to blow up if there
are so many undefined symbols that the undefined
symbol table extends beyond 777777.
4. LINK can generate a bad runtime symbol table for
some links of an overlaid program if loading in a
restricted amount of memory.
Digital Equipment Corporation 28-AUG-79 Page 476
PCO Log Report
5. The contents of the left half of .JBCOR (the last
location loaded with non-zero data) can be
incorrect if the symbols are appended to a psect.
The symbols will not be counted as non-zero data.
6. Any code or data immediately beyond the end of the
runtime symbol table can be lost up to the first
page boundary beyond the end of the symbol table.
This can only occur if the segment into which the
symbol table is being inserted has overflowed to
disk.
7. The segment containing the symbol table will be too
long if the program contains undefined symbols
requiring additive fixups, and if the symbols are
appended to a psect. The segment will be extended
by two words for each additive fixup request
appearing in the undefined table.
8. After edit 1132 has been installed, LINK will get
an I/O error to its low segment overflow file
(nnnLLC.TMP) if the LC area is overflowing to disk,
LINK is writing an EXE file, and location 777777
has been loaded with non-zero data (e.g., the last
word of the symbol table).
9. LINK will write an incorrect, very small .SYM file
if the user asks for a new-style symbol file via
/SYFILE:TRIPLET, and LINK's internal LS area has
NOT overflowed to disk.
10. LINK will not allocate a patch area in an overlaid
program, despite code in LNKOV1 which attempts to
do so. Even when this is fixed, the runtime symbol
table LINK generates for overlaid programs does not
contain the PAT.. module or symbol, so the patch
area cannot be found.
11. The left half of the value word of the first module
in the runtime symbol table will contain zero. It
should contain the negated number of words in the
part of the symbol table describing that module.
12. After edit 770 has been installed, the contents of
.JBUSY and possibly other JOBDAT locations can be
incorrect. This will only happen if the program
being loaded contains undefined symbols, a runtime
symbol table is being generated, and the LC area
overflows to disk at the wrong time.
13. When LINK is writing the runtime symbol table, it
Digital Equipment Corporation 28-AUG-79 Page 477
PCO Log Report
thinks it has run out of room and truncates the
table one location before it has to. In other
words, it always leaves a zero word after the
runtime symbol table, even if it has to truncate
the table to do so.
14. After edit 1132 has been installed, LINK will
truncate the runtime symbol table too soon or skip
writing it entirely in certain instances of psect
overlap. The cases that fail occur when another
psect starts in the middle of the psect to which
symbols are being appended.
15. If LINK comes close to running into the high
segment when writing the runtime symbol table, it
will stop and truncate the table 100 words before
it has to. It will not do this if the symbol table
threatens to overlap any psect but the high
segment.
16. The /UPTO switch can cause problems when loading an
overlaid program. LINK tries to ignore this switch
for overlaid programs, since the runtime symbol
table is placed at runtime by the overlay handler.
However, the switch is not completely ignored, so
that LINK will stop generating symbols for any link
whose symbol table size exceeds the argument to the
/UPTO switch. For example, /UPTO:10 will guarantee
that the overlay file will not contain more than 10
words of symbol table information for any link.
17. LINK will leave a temporary file names nnnLAS.TMP
in the user's default path if the AS (Algol
symbols) area overflows to disk, but the user
prevents generation of an Algol .SYM file (e.g.,
via /SYFILE:RADIX50).
18. The LNKXIT module is much larger than it needs to
be, and frequently reveals bugs related to memory
management when generating the runtime symbol
table.
**********
[DIAGNOSIS]
1. When LINK runs out of room to write the symbol
table, it just stops, without any attempt to insure
Digital Equipment Corporation 28-AUG-79 Page 478
PCO Log Report
that the table is terminated by a module name.
2. The same register (P2) is assumed to hold two
different numbers, depending on whether the program
being loaded contains psects or not.
Unfortunately, some places still want the non-psect
number, even when psects are being loaded. This
doesn't work, since the number is not in the
register, and was never stored anywhere else.
3. The undefined symbol table writer does not call
SYMOUT (which checks psect bounds and /UPTO).
Instead, it simply stores the symbol table data by
hand, without making any of the necessary checks.
4. When LNKOV2 calls LSLOOP in LNKXIT to generate a
runtime symbol table for each link, it insures that
the LC area has not overflowed to disk. However,
if the overflow occurs during LSLOOP's execution,
LNKOV2 will ignore it and take whatever data has
not been paged out as the entire runtime symbol
table for the link.
5. LINK does not update its internal pointer to the
last location containing non-zero data when
appending the runtime symbol table to a psect.
This is apparently because the number needed is not
conveniently available at that point in LNKXIT.
6. LINK assumes that it is appending the symbol table
to the end of a segment, and that there can thus be
nothing in the overflow file for the segment beyond
the symbol table. It therefore writes pages of
symbols out to the overflow file without trying to
save the old contents of the pages. This
assumption fails when using psects, since the psect
to which the symbol table is being appended can
appear anywhere within the segment.
7. LINK estimates the length of the undefined table
before writing it, and if the table is being
appended to a segment, it updates the segment
length by the size of the table. This estimate
does not include additive fixups, however, and when
LINK finds one of these, it goes back and
increments the segment length by two.
Unfortunately, the segment length should not be
incremented when the undefined symbols are being
appended to a psect in the middle of the segment,
so the segment length is being incorrectly
incremented in this case.
Digital Equipment Corporation 28-AUG-79 Page 479
PCO Log Report
8. The .EXE file writer assumes that the pointer to
the first free word beyond the program is a pointer
to the last used word of the program when
processing overflow files. This causes it to call
the paging routines with a request for a page
beyond 777 if the last used word in the program is
777777. This large page number causes the paging
routines to issue an invalid IN UUO, resulting in
an I/O error.
9. When the LS area has not overflowed to disk, LINK
deletes it as it scans through it generating the
runtime symbol table. Unfortunately, the contents
of this area are needed for the sixbit .SYM file,
which is not generated until after the runtime
symbol table has been completed.
10. LNKOV1 does not update enough pointers to get the
patch area allocated. Even if it did, the code to
generate the PAT.. symbol is not reached when
generating the symbol table for an overlaid
program.
11. LNKXIT's internal pointer to the last module name
written to the symbol table (TTLPTR) is not
initialized correctly before generating the symbol
tables for overlay links.
12. Edit 770 removed a necessary call to CHKPAG, which
checks to see if JOBDAT has been paged out, and if
so, puts it into a buffer in the DY area. If this
is missed, LINK will store into what it thinks is
JOBDAT, but is actually some random place in LINK's
low segment.
13. The truncation check is off by one.
14. LINK assumes that the psect with the next higher
psect origin beyond the one to which symbols are
being appended is the one to use as a cutoff.
However, if the next higher psect starts within the
psect to which symbols are being appended, then
LINK will think that it has run out of room before
writing anything.
15. There was apparently some attempt to implement a
100 word gap area after the runtime symbol table.
However, the implementation was not complete, so
the relevant code is only reached if the limiting
psect is .HIGH..
Digital Equipment Corporation 28-AUG-79 Page 480
PCO Log Report
16. Since the runtime symbols for an overlaid program
are put into the overlay file and not into memory,
LNKXIT loads them into a dummy area starting at
address 0. However, the symbol deposit routine
still looks at /UPTO, so it will stop when its
internal "fake" address reaches the /UPTO
parameter.
17. LINK never tries to delete the nnnLAS.TMP file. It
will only go away if is renamed to be a .SYM file,
which will only happen if the user wants an Algol
.SYM file.
18. LNKXIT does much of its own memory management and
disk overflow handling when creating the runtime
symbol table. This causes LNKXIT to be huge and
complex, and leads to bugs when it does decide to
call LNKCOR for some action, because the memory
management data base maintained by LNKCOR is not
always updated correctly when LNKXIT does things by
hand.
**********
[CURE]
Re-work the runtime symbol generation code in LNKXIT,
maintaining existing routines or code where possible. The
specific fixes to each problem (where applicable) are listed
below.
1. Reserve the last two words of the symbol table for
the last module name, and, if the symbol table is
about to be truncated, skip ahead until a module
name is found, so that the table can be terminated
properly.
2. Re-work that section of code so that everything
always looks like a psect, thus removing many
special case checks and the need to carry around
two sets of numbers.
3. Generalize SYMOUT so that the undefined symbol
table generator can call it, and then make every
place that wants to write something to the symbol
table go through it.
Digital Equipment Corporation 28-AUG-79 Page 481
PCO Log Report
4. Check for the LC area overflowing to disk when
generating the symbol table for an overlay link,
and complain to the user of insufficient memory
(the ?LNKCEF error) if this occurs.
5. Move the update of .JBCOR to after all of the
symbols have been written, so that the data is
always available, and so that the psect and
non-psect cases need not be distinguished and
handled differently.
6. Check the size of the overflow file, and read in
any valid data beyond the symbol table before
generating the symbol table.
7. Don't update the segment length until after the
entire symbol table has been written, so that the
exact length can be computed.
8. Subtract one from the first-free pointer before
using it as a last-used pointer.
9. Do not delete the LS area until after the sixbit
.SYM file (if any) has been written.
10. Allocate the area, and make the code that inserts
PAT.. into the symbol table a subroutine, so the
overlay symbol table generator can call it.
11. Initialize TTLPTR correctly.
12. Re-work the code so that LINK cannot possibly start
to page at that point.
13. Correct the test to not be off by one.
14. Change the routine that decides how far the runtime
symbol table can be allowed to extend. The new
algorithm looks for the first psect origin that
lies beyond where the symbol table starts, and
ignores zero length psects during its search.
15. Remove the code to reserve 100 words beyond the end
of the symbol table. The symbol table will now
always be allowed to run right up into (but not
overlap) the next psect.
16. Initialize the /UPTO parameter to a large number
before writing the overlay symbol tables.
17. Insert code to delete the nnnLAS.TMP file if the
Digital Equipment Corporation 28-AUG-79 Page 482
PCO Log Report
user does not want it.
18. Remove the routines to do memory management by
hand, and replace them by calls to LNKCOR except
where absolutely necessary to do something by hand.
This PCO has been made for informational purposes only.
Due to the size and complexity of this edit, no attempt
should be made to install it as a patch to LINK version 4.
This edit requires edits 770, 772, 773, 774, 776, 1110,
1111, 1113, 1121, 1127, 1132, 1144, 1145, 1146, 1152, 1155,
and 1160 to have been previously installed.
Digital Equipment Corporation 28-AUG-79 Page 483
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0023 30-May-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 2222 08-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 30-May-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 5-Jun-79
2)
**************
1)1 DECEVR==1171 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1172 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1172 JNG 5-Jun-79
2) ; Fix many memory management problems when writing a runti
me symbol
2) ; table, especially when psects are involved.
2) ; Routines: LNKPAR, LNKINI, LNKOV1, LNKOV2, LNKWLD, LNKXIT
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 484
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 0052 17-Feb-1979
File 2) LINK:LNKPAR.MAC[10,645063] created: 0230 09-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 16-Feb-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 5-Jun-79
2)
**************
1)1 DECEVR==1144 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1172 ;DEC EDIT VERSION
2)
**************
1)3 ND .OVPSP,0 ;DEFAULT PATCH SPACE IN LINKS OTHER THAN
ROOT
1) ND LN.OVL,^D128*^D10*2 ;MAX. NO. OF OVERLAYS ALLOWED
****
2)3 ;**;[1172] Delete @ .OVPSP JNG 5-Jun-79
2) ND LN.OVL,^D128*^D10*2 ;MAX. NO. OF OVERLAYS ALLOWED
**************
1)3 ND .FRESP,100 ;[727] LENGTH TO LEAVE AFTER SYMBOL TABL
E
1) ND .SYLIM,777777 ;[745] DEFAULT SYMBOL TABLE LIMIT
1) ND .LLOC,200000 ;[732] INITIAL VALUE FOR LOWEST LOCATION
1)
****
2)3 ;**;[1172] Delete @ .FRESP JNG 5-Jun-79
2)
**************
1)5
****
2)5 ;1172 Delete .FRESP, .SYLIM, .OVPSP, and .LLOC.
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 485
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOW.MAC[30,4507] created: 0049 17-Feb-1979
File 2) LINK:LNKLOW.MAC[10,645063] created: 2146 08-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 16-Feb-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 5-Jun-79
2)
**************
1)1 DECEVR==1144 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1172 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1172 Add PATLOC.
2)
**************
1)3
****
2)3 ;**;[1172] Insert @ POPOFS+1L JNG 5-Jun-79
2) PATLOC: BLOCK 1 ;[1172] LOCATION OF PAT.. AREA
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 486
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 0232 05-Apr-1979
File 2) LINK:LNKINI.MAC[10,645063] created: 1301 07-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 29-Mar-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 5-Jun-79
2)
**************
1)1 DECEVR==1151 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1172 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1172 Don't initialize SYMLIM.
2)
**************
1)7 MOVSI T1,.LLOC ;[732] INITIALIZE LOWEST LOCATIO
N
1) MOVEM T1,LOWLOC ;[732]
****
2)7 ;**;[1172] Change @ PJLOOP+25L JNG 5-Jun-79
2) MOVX T1,.INFIN ;[1172] NO LOWEST LOCATION YET S
EEN
2) MOVEM T1,LOWLOC ;[732]
**************
1)11 MOVEI T1,.SYLIM ;[727] SET DEFAULT SYMBOL TABLE
LIMIT
1) TXO T1,1B0 ;[727] TO HIGH SEG ORIGIN (ON WI
TH 1B0)
1) MOVEM T1,SYMLIM ;[727]
1)
****
2)11 ;**;[1172] Delete @ CORINI+3P29L JNG 5-Jun-79
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 487
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1801 08-May-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1208 07-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 8-May-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 5-Jun-79
2)
**************
1)1 DECEVR==1163 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1172 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1172 Don't change SYMLIM on /SET to .HIGH..
2)
**************
1)40 MOVEI W3,-.FRESP-1(W3) ;[727] LESS FREE
SPACE AT END
1) HRRM W3,SYMLIM ;[727] ADJUST SYMLIM TO
NEW HI ORG
1) MOVE W3,W1 ;[727]
1) ;**;[1155] Replace @ SET3+8L JNG 13-Apr-79
****
2)40 ;**;[1172] Delete @ SET3+6L JNG 5-Jun-79
2) ;**;[1155] Replace @ SET3+8L JNG 13-Apr-79
**************
Digital Equipment Corporation 28-AUG-79 Page 488
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV1.MAC[30,4507] created: 1547 03-Apr-1979
File 2) LINK:LNKOV1.MAC[10,645063] created: 2144 08-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 3-Apr-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 5-Jun-79
2)
**************
1)1 DECEVR==1152 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1172 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1172 Allocate PAT.. in the root.
2)
**************
1)11 JRST LNKT0B] ;CONTINUE
1) JUMPN T2,LNKT0B ;OK IF USER ALREADY SAID /SYMSEG
1) SKIPN .JBDDT(T1) ;IS DDT LOADED
1) JRST LNKT0B ;NO, CONTINUE
1) MOVEI T2,$SEGLOW ;SYMBOLS IN LOW SEG INDEX
1) MOVEM T2,SYMSEG ;SET VALUE SO WE CAN SAVE SYMBOL
S
1) MOVE T2,['.LOW. '] ;NAME OF SYMSEG PSECT
1) MOVEM T2,SSGNAM ;STORE FOR LNKXIT
1)
1) LNKT0B: MOVE T2,.JBVER(T1) ;GET VERSION N0.
1) SKIPN VERNUM
****
2)11 ;**;[1172] Replace @ LNKT0A+5L JNG 5-Jun-79
2) JRST LNKT0C] ;[1172] CONTINUE
2) JUMPN T2,LNKT0B ;OK IF USER ALREADY SAID /SYMSEG
2) SKIPN .JBDDT(T1) ;IS DDT LOADED
2) JRST LNKT0C ;[1172] NO, CONTINUE
2) MOVEI T2,$SEGLOW ;SYMBOLS IN LOW SEG INDEX
2) MOVEM T2,SYMSEG ;SET VALUE SO WE CAN SAVE SYMBOL
S
2)
2)
2) ;HERE IF WE'RE GOING TO HAVE A RUNTIME SYMBOL TABLE. ALLOCATE P
AT..
2) ;AT THE END OF THE ROOT.
2)
2) LNKT0B: MOVE T2,SYMSEG ;[1172] GET INDEX TO SYMBOL SEGM
ENT
2) SKIPN T3,PATSPC ;[1172] GET PATCHING SPACE
Digital Equipment Corporation 28-AUG-79 Page 489
PCO Log Report
2) MOVEI T3,PATSP. ;[1172] DEFAULT
2) EXCH T3,HL.S0(T2) ;[1172] GET LOCATION OF PAT..
2) MOVEM T3,PATLOC ;[1172] SAVE FOR LSOVX
2) ADDM T3,HL.S0(T2) ;[1172] ALLOCATE THE PAT.. AREA
2) ; ..
2)
2)12 ; ..
2)
2) LNKT0C: MOVE T2,.JBVER(T1) ;[1172] GET VERSION N0.
2) SKIPN VERNUM
**************
1)13 LNKT1B: SKIPE CS.NUM ;ROOT IS SPECIAL
1) SMOVE T1,.OVPSP ;PATCH SPACE IF NOT ROOT
1) MOVEI T1,PATSP. ;PATCH SPACE IF ROOT
1) SKIPN PATSPC
1) MOVEM T1,PATSPC ;SETUP IF NOT ALREADY
1) SKIPN T1,HL.S1 ;GET CURRENT HIGHEST LOC
1) JRST [SKIPN T1,PH.ADD ;NEVER SETUP, SO NO LOW
SEG
****
2)14 ;**;[1172] Delete @ LNKT1B JNG 5-Jun-79
2) LNKT1B: SKIPN T1,HL.S1 ;GET CURRENT HIGHEST LOC
2) JRST [SKIPN T1,PH.ADD ;NEVER SETUP, SO NO LOW
SEG
**************
Digital Equipment Corporation 28-AUG-79 Page 490
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV2.MAC[30,4507] created: 1433 01-Mar-1978
File 2) LINK:LNKOV2.MAC[10,645063] created: 2238 08-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC 27-Feb-78
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC 5-Jun-79
2)
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1172 ;DEC EDIT VERSION
2)
**************
1)3 SUBTTL DEFINITIONS
****
2)2 ;START OF VERSION 4A
2) ;1172 Call LSLOOP correctly.
2)
2)3 SUBTTL DEFINITIONS
**************
1)22 ;HERE TO CHECK IF SYMBOLS NEEDED, AND READ THEM IN IF SO.
1)
****
2)22 ;**;[1172] Add comment @ OVR6H+1P JNg 5-Jun-79
2) ;HERE TO CHECK IF SYMBOLS NEEDED, AND READ THEM IN IF SO.
2) ;WE DO THIS BY FILLING THE LS AREA WITH TRIPLETS, CLEARING THE L
C AREA,
2) ;AND CALLING LSLOOP IN LNKXIT TO GENERATE A RUNTIME SYMBOL TABLE
IN THE
2) ;LC AREA. WE DON'T ALLOW EITHER AREA TO PAGE.
2)
**************
1)22 ;THIS CODE SHOULD BE REWRITTEN TO PAGE IF NECESSARY!!!
1) USETI OC,(T1) ;SET ON SYMBOL BLOCK
****
2)22 ;**;[1172] Delete @ OVR6S+6L JNG 5-Jun-79
2) USETI OC,(T1) ;SET ON SYMBOL BLOCK
**************
1)22 MOVE T2,T1
1) IORI T2,.IPM ;MAKE SURE ON BLOCK BOUND
1) SUBI T2,(T1) ;FIND WHATS FREE
1) MOVEM T2,LS.FR ;AND STORE IT
1) MOVEI T1,.IPS ;SIZE WE CARE ABOUT
1) SUB T1,T2 ;MINUS FREE
1) PUSHJ P,LSOVX## ;STORE WHATS LEFT FOR LNKXIT
1)
Digital Equipment Corporation 28-AUG-79 Page 491
PCO Log Report
****
2)22 ;**;[1172] Delete @ OVR6S1+21L JNG 5-Jun-79
2)
**************
1)23 MOVEI T1,.IPS ;NO. OF FREE WORDS
1) MOVEM T1,TAB.FR(R) ;IN THIS BLOCK
1) MOVE P3,PH.ADD ;SYMBOL TABLE STARTS AT REL 0
****
2)23 ;**;[1172] Delete @ OVR6S1+1P12L JNG 5-Jun-79
2) MOVE P3,PH.ADD ;SYMBOL TABLE STARTS AT REL 0
**************
1)23 OVR6L: PUSHJ P,LSLOOP## ;YES
1) MOVE T2,TAB.PT(R) ;FINAL LENGTH
****
2)23 ;**;[1172] Insert @ OVR6L JNG 5-Jun-79
2) OVR6L: PUSHJ P,LSOVX## ;[1172] INITIALIZE LNKXIT FOR LS
LOOP CALL
2) PUSHJ P,LSLOOP## ;YES
2) MOVE T2,TAB.PT(R) ;FINAL LENGTH
**************
Digital Equipment Corporation 28-AUG-79 Page 492
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[10,400000] created: 0010 30-May-1979
File 2) LINK:LNKXIT.MAC[30,3737] created: 1544 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 30-May-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 5-Jun-79
2)
**************
1)1 DECEVR==1171 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1172 ;DEC EDIT VERSION
2)
**************
1)6 ;1171 Fix edit 1171 to say LNKPCL if bad PSECT properties, eve
n on TOPS-10.
1)
****
2)6 ;1171 Fix edit 1146 to say LNKPCL if bad PSECT properties, eve
n on TOPS-10.
2) ;1172 Fix many problems with runtime symbol table generator.
2)
**************
1)10 JRST UDF0 ;NOW FOR UNDEFINED SYMBOLS
1)
****
2)10 ;**;[1172] Change @ RDJBDA+7L JNG 5-Jun-79
2) JRST CHKRST ;[1172] NOW GO DO RUNTIME SYMBOL
TABLE
2)
**************
1)12 SUBTTL UNDEFINED SYMBOLS
1)
1) ;HERE TO PUT UNDEFINED GLOBALS INTO UNDEF TABLE IN CORE
1) ;THIS IS OLD FORMAT (2 WORD SYMBOLS)
1) UDF0: SKIPN R,SYMSEG ;LOAD OFFSET TO EITHER LC OR HC
1) MOVEI R,LC.IX ;ASSUME LOWSEG FOR SYMBOLS
1) SKIPN NOSYMS ;DON'T WANT UNDEFS IF /NOSYM
1) SKIPN P2,USYM ;ANY UNDEFINED SYMBOLS?
1) JRST NOUNDF ;NO, GET RID OF AREA
1) ;BUT DO WE REALLY NEED UNDEFS?
1) SKIPE PAG.S1 ;PAGING?
1) SKIPA T1,JOBPTR ;YES, LOAD CORRECT POINTER
1) MOVE T1,LC.LB ;NO
1) SKIPN .JBDDT(T1) ;JOBDDT NON-ZERO
1) SKIPE SYMSEG ;OR SYMBOLS REQUESTED
1) JRST UDF0A ;YES
1) SKIPE IO.PTR+%SC ;BUT DO WE WANT SYMBOL FILE
1) SKIPL SYMFRM ; OLD STYLE?
Digital Equipment Corporation 28-AUG-79 Page 493
PCO Log Report
1) JRST NOUNDF ;NO, GET RID OF THEM
1) UDF0A: LSH P2,1 ;2 WORDS PER SYMBOL
1) ;**;[770] Insert @ UDF0A+1L MCHC 17-Mar-78
1) PUSHJ P,CHKPAG ;[770] INCASE PAGE FOR THE FIRST
TIME
1) MOVE P4,PATSPC ;NEED TO LEAVE A HOLE FOR PATCHI
NG
1) PUSHJ P,GETSST ;[715] GET FINAL SYMBOL START AD
DR
1) SKIPE PAG.S0(R) ;PAGING?
1) PUSHJ P,LSYP ;YES, GET RIGHT PAGE IN CORE
1) ;**;[772] Change @ UDF0A+5L MCHC 23-Mar-78
1) ;**;[1121] Change @UDF0A+5L JNG 4-Oct-78
1) ADDB P2,P4 ;[1121] SPACE WE NEED IN P2 AND
P4
1) ;**;[770] Exchange 2 lines @ UDF0A+6L MCHC 17-Mar-78
1) SUB P2,LW.S0(R) ;[770] REMOVE WINDOW OFFSET
1) ADD P2,TAB.LB(R) ;[770] IN CORE
1) CAMG P2,TAB.AB(R) ;ENOUGH CORE?
1) JRST UDF1 ;YES,
1) SUB P2,TAB.AB(R) ;GET EXTRA WE NEED
1) MOVEI P1,(R) ;FROM WHERE
1) ;**;[770] Replace @ UDF0A+12L MCHC 17-Mar-78
1) SETOM LS.PP ;[770] PREVENT OVERFLOW OF LS AR
EA
1) PUSHJ P,LNKCOR## ;GET IT
1) JRST [MOVE P2,USYM ;[770] NO CORE, LOOP BAC
K AND PAGE
1) JRST UDF0A] ;[770]
1) SKIPN TAB.PG(R) ;[570] PAGING?
1) JRST UDF0B ;[570] NO, SKIP THIS
1) MOVE T1,P4 ;[570] YES, UPDATE UW
1) IORI T1,.IPM ;[570] SINCE PAGING ROUTINES DON
'T
1) MOVEM T1,TAB.UW(R) ;[570] WHEN MAKING WINDOW BIGGER
1) ;**;[770] Delete @ UDF0B MCHC 17-Mar-78
1) UDF0B: MOVE P2,P4 ;RELATIVE
1) ADD P2,TAB.LB(R) ;FIX IN CORE
1) SUB P2,LW.S0(R) ;REMOVE WINDOW OFFSET
1) ;**;[770] Insert @ UDF1 MCHC 17-Mar-78
1) UDF1: SETZM LS.PP ;[770] CLEAR IT
1) SKIPGE SYMSEG ;[715] PSECT NAME USED?
1) JRST .+3 ;[715] YES, JUMP
1) MOVEM P4,HC.S0(R) ;FOR .JBCOR
1)
1)13 ;NOW LOOP THROUGH GS AREA LOOKING FOR UNDEFINED SYMBOLS
1)
1) EXCH P4,HL.S0(R) ;GET BASE OF UNDFS
1) MOVN T2,USYM ;NUMBER OF UNDEF SYMBOLS
Digital Equipment Corporation 28-AUG-79 Page 494
PCO Log Report
1) MOVMM T2,JOB117 ;WILL FIX IT LATER, JUST NO. NOW
1) HRL P4,T2 ;AOBJN POINTER TO UNDEFS
1) LSH T2,^D18+1 ;PUT 2*COUNT IN LEFT HALF
1) HRR T2,P4 ;ADDRESS
1) ADD T2,LL.S0(R) ;+OFFSET
1) SKIPE PAG.S1 ;PAGING?
1) SKIPA T1,JOBPTR ;YES, LOAD CORRECT OFFSET
1) MOVE T1,LC.LB ;CODE OFFSET
1) MOVEM T2,.JBUSY(T1) ;FIXUP POINTER
1) ADD P4,TAB.LB(R) ;FIX IN CORE
1) SUB P4,LW.S0(R) ;REMOVE WINDOW OFFSET
1) MOVE P2,HT.PRM ;GET HASH SIZE
1) SKIPE T1,@HT.PTR ;GET POINTER IF NON-ZERO
1) JRST UDFTRY ;SEE IF A REQUEST
1) UDFNXT: SOJGE P2,.-2 ;MORE?
1) JRST UDFDN ;NO
1)
1) UDFTRY: ADD T1,GS.LB ;ADD IN BASE
1) MOVE W1,(T1) ;GET FLAGS
1) TXNN W1,PS.REQ ;GLOBAL REQUEST
1) JRST UDFNXT ;NO, TRY NEXT SYMBOL
1) DMOVE W2,1(T1) ;GET SIXBIT SYMBOL & VALUE (REQU
EST POINTER)
1) PUSHJ P,SXBR50 ;CONVERT TO SIXBIT
1) TXO W2,R5.GLB ;MAKE GLOBAL DEFINITION
1) ADDI P4,1 ;WILL BUMP LOCATION BY 2 (LATER)
1) HRRZ T1,P4 ;ADDRESS ONLY
1) CAMLE T1,TAB.AB(R) ;WILL IT FIT IN WHAT WE HAVE?
1) PUSHJ P,UDFEXP ;NO, EXPAND AREA
1) DMOVEM W2,-1(P4) ;STORE NAME & VALUE
1) TXNE W1,PS.FXP ;ANY ADDITIVE GLOBAL FIXUPS
1) JRST UDFGB ;YES, RECREATE THE REQUESTS
1) UDFLUP: AOBJN P4,UDFNXT ;AND COUNT BY 1
1) UDFDN: ;UNLESS FINISHED
1) SKIPE PAG.S1 ;PAGING?
1) SKIPA T1,JOBPTR ;YES, LOAD CORRECT OFFSET
1) MOVE T1,LC.LB ;CODE OFFSET
1) MOVE T2,JOB117 ;GET NUMBER OF UNDEFS
1) LSH T2,1 ;2 WORDS PER SYMBOL
1) MOVN T2,T2
1) HRLM T2,.JBUSY(T1) ;FIXUP POINTER
1) MOVE T2,.JBUSY(T1) ;GET A COPY
1) MOVEM T2,JOB117 ;FOR LATER
1) ;**;[772] Insert @ UDFDN+10L MCHC 23-Mar-78
1) SUB P4,TAB.LB(R) ;[772] GET VIRTUAL ADDR OF UNDEF
TABLE
1) ADD P4,LW.S0(R) ;[722] NEED IT LATER FOR SYMBOL
TABLE
1) JRST GSDLT ;DELETE GLOBAL SYMBOL TABLE
Digital Equipment Corporation 28-AUG-79 Page 495
PCO Log Report
1)
1)14 UDFGB0: TXNE W1,S.LST ;IS THIS THE LAST BLOCK
1) JRST UDFLUP ;YES
1) ADDI T1,.L ;NO, GET NEXT TRIPLET
1) UDFGB: HRRZ T1,@HT.PTR ;GET POINTER AGAIN
1) ADD T1,GS.LB ;ADD IN BASE
1) SKIPG W1,.L(T1) ;GET NEXT FLAG WORD
1) JRST UDFERR ;MUST HAVE SIGN BIT ON
1) TXNN W1,S.FXP ;AND A FIXUP
1) JRST UDFGB0 ;NOT YET
1) MOVE W3,.L+2(T1) ;GET VALUE
1) MOVE T1,W3
1) UDFGB1: ADD T1,FX.LB ;RELOCATE IN FIXUP TABLE
1) SKIPL W1,0(T1) ;GET FLAGS
1) JRST UDFERR ;JUST INCASE
1) ;**;[1160] Replace @ UDFGB1+3L JNG 14-Apr-79
1) TXNE W1,FP.SYM ;[1160] FIXUP BASED ON UNDEFINED
SYMBOL?
1) TXNN W1,FS.FXR!FS.FXL ;[1160] CAN ONLY PUT OUT RH OR
LH ADDITIVE
1) JRST UDFGB2 ;[1160] CAN'T OUTPUT POLISH, SYM
FIXUPS, ETC.
1) DMOVE W2,1(T1) ;GET DATA WORDS
1) PUSHJ P,SXBR50 ;CONVERT TO RADIX-50
1) TXO W2,R5.GLB ;MAKE INTO A GLOBAL DEFINITION
1) TXO W3,R5.FXA ;AND TURN ON ADDITIVE BIT
1) TXNE W1,FS.FXL ;LEFT HALF?
1) TXO W3,R5.FXL ;YES
1) ADDI P4,2 ;USES 2 WORDS
1) HRRZ T1,P4 ;ADDRESS ONLY
1) CAMLE T1,TAB.AB(R) ;WILL IT FIT
1) PUSHJ P,UDFEXP ;NO
1) DMOVEM W2,-1(P4) ;STORE
1) AOS JOB117 ;COUNT 1 MORE WORD PAIR
1) SKIPGE SYMSEG ;[715]
1) JRST UDFGB2 ;[715] JUMP IF PSECT SPCIFIED
1) MOVEI T1,2 ;AND INCLUDE IN SPACE ASSIGNED
1) ADDM T1,HL.S0(R) ;SINCE WE DIDN'T ACCOUNT FOR IT
EARLIER
1)
1) ;FALL THROUGH TO NEXT PAGE
1) ; JRST UDFGB2
1)
1)15 ;FALL IN FROM PREVIOUS PAGE
1)
1) UDFGB2: HRRZ T1,W1 ;GET POINTER
1) JUMPE T1,UDFLUP ;ALL DONE IF ZERO
1) JRST UDFGB1 ;GET NEXT BLOCK
1)
Digital Equipment Corporation 28-AUG-79 Page 496
PCO Log Report
1) UDFEXP: PUSH P,P2 ;SAVE P2 BEFORE EXPANDING CORE
1) MOVEI P1,(R)
1) MOVEI P2,2 ;AT LEAST 2 WORDS EXTRA
1) SUB P4,TAB.LB(R) ;REMOVE BASE INCASE WE MOVE
1) ADD P4,LW.S0(R) ;INCASE PAGES CHANGE
1) PUSHJ P,LNKCOR##
1) PUSHJ P,NO.COR## ;FAILED
1) SKIPN TAB.PG(R) ;[570] PAGING THIS AREA?
1) JRST UDFEX1 ;[570] NO, FORGET IT
1) MOVE T1,P4 ;[570] YES, MUST UPDATE UW OURSE
LVES
1) IORI T1,.IPM ;[570] ONLY EXPANDED TO THIS PAG
E
1) MOVEM T1,TAB.UW(R) ;[570] UPDATE THE WORD
1) UDFEX1: PUSHJ P,CHKPAG ;[570] INCASE WE STARTED PAGING
1) SUB P4,LW.S0(R) ;BACK AS IT WAS
1) ADD P4,TAB.LB(R)
1) POP P,P2 ;RESTORE P2 TO BEFORE UDFEXP
1) POPJ P,
1)
1) UDFERR: JRST UDFLUP ;SYMBOL TABLE FOULED UP
1)
1)16 ;HERE TO GET RID OF GLOBAL TABLE AND IF POSSIBLE CUT BACK CORE
1) NOUNDF: SETZM USYM ;MAKE SURE ITS CLEAR
1) SKIPE PAG.S1 ;PAGING?
1) SKIPA T1,JOBPTR ;YES, LOAD CORRECT OFFSET
1) MOVE T1,LC.LB ;BASE OF LOW SEG
1) SETZM .JBUSY(T1) ;CLEAR UNDF POINTER
1) ;**;[1113] Change @GSDLT DZN 25-Aug-78
1) GSDLT:
1) IFE TOPS20,< ;[1113] DON'T SHRINK BACK ON TOP
S-20
1) SKIPN .JBDDT(T1) ;SEE IF WE NEED LOCAL SYMBOLS
1) SKIPE SYMSEG ;EITHER FOR /DEB OR /SYMSEG
1) JRST GSNRED ;YES, DON'T CUT BACK CORE YET
1) MOVEI T1,GS.IX-1 ;START AT AREA JUST LOWER
1) SKIPN TAB.LB(T1) ;FIND HIGHEST AREA IN USE
1) SOJA T1,.-1 ;WILL GET THERE EVENTUALLY
1) MOVE T2,TAB.AB(T1) ;GET HIGHEST LOC IN USE IN IT
1) IORI T2,1777 ;K BOUND
1) ADDI T2,2000 ;EXTRA K FOR SAFETY
1) CAML T2,.JBREL ;ANYTHING TO GIVE BACK?
1) JRST GSNRED ;NO, REDUCED ALREADY
1) CORE T2, ;DELETE TOP PART
1) JRST GSNRED ;NEVER CAN HAPPEN
1) MOVE T2,.JBREL ;GET NEW TOP
1) ;**;[773] Insert @ GSDLT+14L JNG 30-Apr-78
1) SKIPN GS.LB ;[773] GS AREA ALREADY GONE?
1) JRST GSDLT1 ;[773] YES, DON'T RECREATE IT
1) MOVEM T2,GS.AB ;RESET TABLE
Digital Equipment Corporation 28-AUG-79 Page 497
PCO Log Report
1) MOVEM T2,GS.UB
1) CAMLE T2,GS.LB ;INCASE WE REDUCED IT ALL
1) JRST GSRED ;NO, ALL IS WELL
1) ;**;[773] Add label @ GSDLT+18L JNG 30-Sep-78
1) GSDLT1: MOVEM T2,TAB.UB(T1) ;[773] RESET HIGHEST FREE LOC AG
AIN
1) SETZM GS.LB ;SO XX.ZAP CAN WORK
1) GSRED: .ERR. (MS,.EC,V%L,L%I,S%I,RED,<Reducing low segment to
>)
1) .ETC. (COR,.EP,,,,.JBREL)
1) ;**;[1113] Change @GSNRED DZN 25-Aug-78
1) > ;END OF IFE TOPS20
1) GSNRED: PUSHJ P,GS.ZAP ;GET RID OF GS
1) JRST LSY0 ;[715] GO DO LOCAL SYMBOLS
1)
1)17
1) ;HERE TO SETUP THE SPECIFIED PSECT FOR SYMBOL TABLE
1)
1) GETSST: PUSH P,T1 ;[727]
1) ;**;[1132] Revamp @ GETSST+1L JNG 30-Jan-79
1) SKIPGE SYMSEG ;[1132] /SYMSEG TO A PSECT?
1) JRST GETS10 ;[1132] YES, GO FIND IT
1) GETS2: CAIE R,1 ;[1132] /SYMSEG:LOW?
1) JRST GETS8 ;[1132] NO, MUST BE /SYMSEG:HIGH
1)
1) SPUSH <T2,T3,T4> ;[1132] SAVE SOME ACS FOR LOOP
1) SETZB R,T3 ;[1132] ON /SYMSEG:LOW, WE WANT
TO PUT THE
1) GETS4: MOVE T1,@RC.TB ;[1132] SYMBOLS AFTER THE LAST
PSECT, SO WE
1) MOVE T2,RC.NM(T1) ;[1132] GET THE NAME OF THIS PSE
CT
1) CAMN T2,['.HIGH.'] ;[1132] IS THIS THE HIGH SEG?
1) JRST GETS6 ;[1132] YES, IT DOESN'T COUNT FO
R /SYMSEG:LOW
1) MOVE T2,RC.HL(T1) ;[1132] NEED TO FIND THE PSECT
THAT ENDS LAST
1) CAMG T2,T3 ;[1132] HIGHEST SO FAR?
****
2)12 ;**;[1172] Replace @ BLTJBL+1P JNG 5-Jun-79
2) SUBTTL RUNTIME SYMBOL TABLE GENERATION
2)
2) ;HERE TO DECIDE IF WE WANT TO PUT A RUNTIME SYMBOL TABLE INTO TH
E
2) ;IMAGE, AND IF SO, TO DO IT. WE WANT A RUNTIME SYMBOL TABLE IF
ANY
2) ;OF THE FOLLOWING CONDITIONS ARE TRUE:
2) ;
2) ; 1. C(.JBDDT) IS NONZERO
2) ; 2. USER SAID /SYMSEG
Digital Equipment Corporation 28-AUG-79 Page 498
PCO Log Report
2) ; 3. USER SAID /SYFILE:RADIX50
2) ;
2) ;IF THE USER SAID /NOSYMBOLS, WE NEVER WANT A RUNTIME SYMBOL TAB
LE.
2)
2) CHKRST: SKIPE PAG.S1 ;[1172] FIND JOBDAT
2) SKIPA T1,JOBPTR ;[1172] IN DY IF PAGING
2) MOVE T1,LC.LB ;[1172] IN LC AREA IF NOT
2) SETZM .JBSYM(T1) ;[1172] ASSUME NO SYMBOLS
2) SETZM .JBUSY(T1) ;[1172] ..
2) SKIPE NOSYMS ;[1172] /NOSYMBOLS?
2) JRST NORST ;[1172] YES, FORGET IT
2) SKIPN .JBDDT(T1) ;[1172] C(.JBDDT) <> 0?
2) SKIPE SYMSEG ;[1172] OR USER SAY /SYMSEG?
2) JRST DORST ;[1172] YES, GO DO IT!
2) SKIPL SYMFRM ;[1172] /SYFILE:RADIX50?
2) JRST NORST ;[1172] NOPE, NO SYMBOL TABLE
2)
2)
2) ;HERE TO GENERATE A RUNTIME SYMBOL TABLE.
2) ;FIRST, MAKE SURE THE AREA (LC/HC) THAT THE SYMBOLS ARE GOING
2) ;INTO IS BIG ENOUGH, OR IS PAGING AND THE RIGHT PAGE IS IN.
2)
2) DORST:
2) IFN FTOVERLAY,<
2) SKIPL LNKMAX ;[1172] LOADING OVERLAYS?
2) JRST OVLRST ;[1172] YES, THINGS ARE DIFFEREN
T
2) > ;END IFN FTOVERLAY
2)
2) .ERR. (MS,0,V%L,L%I,S%I,SST,<Sorting symbol table>)
2) PUSHJ P,GETSST ;[1172] FIND BASE OF SYMBOLS, SE
T R AND P4
2) SKIPE PAG.S0(R) ;[1172] SYMBOL SEGMENT PAGING?
2) JRST DORST2 ;[1172] YES, GO GET THE RIGHT PA
GE INTO MEMORY
2) MOVE P2,RC.HL(P4) ;[1172] GET FIRST WORD OF TABLE
2) SUB P2,LL.S0(R) ;[1172] CONVERT TO OFFSET IN SEG
MENT
2) SUB P2,LW.S0(R) ;[1172] THENCE TO OFFSET IN WIND
OW
2) ADD P2,TAB.LB(R) ;[1172] FIRST ADDRESS WE'RE GOIN
G TO STORE INTO
2) CAMG P2,TAB.AB(R) ;[1172] IS THE AREA BIG ENOUGH?
2) JRST DORST4 ;[1172] YES, GO FILL IT IN
2) MOVE P1,R ;[1172] WHICH AREA TO EXPAND
2) SUB P2,TAB.AB(R) ;[1172] HOW MUCH WE NEED
2) PUSHJ P,LNKCOR ;[1172] EXPAND THE AREA
2) JRST DORST2 ;[1172] FINE, JUST START PAGING
Digital Equipment Corporation 28-AUG-79 Page 499
PCO Log Report
2) JRST DORST3 ;[1172] GO CHECK PAGING FOR THE
FIRST TIME
2)
2)13 ;HERE IF PAGING TO BRING THE RIGHT LC/HC PAGE INTO MEMORY.
2)
2) DORST2: PUSHJ P,LSYP ;[1172] NOW PAGING, GET RIGHT PA
GE IN MEMORY
2) DORST3: PUSHJ P,CHKPAG ;[1172] SEE IF WE JUST STARTED P
AGING
2) DORST4: MOVE T1,RC.HL(P4) ;[1172] NOW TO SET UP XX.PT
2) SUB T1,LL.S0(R) ;[1172] FIRST ADDRESS TO STORE I
NTO
2) SUB T1,LW.S0(R) ;[1172] CONVERT TO OFFSET IN ARE
A
2) ADD T1,TAB.LB(R) ;[1172] ADDRESS IN AREA
2) MOVEM T1,TAB.PT(R) ;[1172] STORE FOR SYMOUT
2)
2)
2) ;OK, EVERYTHING IS INITIALIZED. NOW WRITE OUT THE SYMBOL TABLE(
S).
2)
2) SKIPE USYM ;[1172] ANY UNDEFINED SYMBOLS?
2) PUSHJ P,DOUDFS ;[1172] YES, WRITE THEM OUT
2) PUSHJ P,GSDLT ;[1172] DELETE THE GS AREA
2) SKIPN SYMFUL ;[1172] IF ANY ROOM LEFT
2) PUSHJ P,DOLOCS ;[1172] WRITE THE LOCAL SYMBOLS
OUT
2)
2)
2) ;THE SYMBOLS HAVE BEEN WRITTEN. NOW UPDATE THE HL/HC WORDS, THE
N GO CLEAN UP.
2)
2) MOVE T1,TAB.PT(R) ;[1172] NEXT FREE WORD
2) SUB T1,TAB.LB(R) ;[1172] OFFSET IN WINDOW
2) ADD T1,LW.S0(R) ;[1172] OFFSET IN SEGMENT
2) CAMLE T1,HL.S0(R) ;[1172] BIGGEST WE'VE SEEN?
2) MOVEM T1,HL.S0(R) ;[1172] YES, STORE IT
2) CAMLE T1,HC.S0(R) ;[1172] BIGGEST LOADED LOC?
2) MOVEM T1,HC.S0(R) ;[1172] YES, STORE IT
2) ADD T1,LL.S0(R) ;[1172] FORM VIRTUAL ADDRESS
2) CAMLE T1,RC.HL(P4) ;[1172] BIGGEST YET FOR THIS PSE
CT?
2) MOVEM T1,RC.HL(P4) ;[1172] YES, REMEMBER IT
2) SKIPGE SYMFRM ;[1172] OLD STYLE SYMBOL FILE WA
NTED?
2) PUSHJ P,OLDSYM ;[1172] YES, WRITE IT OUT
2) .ERR. (MS,0,V%L,L%I,S%I,STC,<Symbol table completed>)
2) JRST FINRST ;[1172] GO JOIN COMMON CLEAN UP
CODE
Digital Equipment Corporation 28-AUG-79 Page 500
PCO Log Report
2)
2)14 ;HERE WHEN LOADING OVERLAYS.
2)
2) IFN FTOVERLAY,<
2) OVLRST: HLRE T2,PH.RDX ;[1172] GET - NO. OF SYMBOLS
2) MOVM T3,T2 ;[1172] +
2) ADD T3,HL.S1 ;[1172] HIGHEST LOCATION
2) ADD T3,SPACE ;[1172] PLUS BUFFER SPACE
2) IOR. T3,.PGSIZ ;[1172] UP TO PAGE BOUND
2) ADDI T3,1 ;[1172] NEXT FREE
2) ADD T3,T2 ;[1172] START OF SYMBOLS
2) HLL T3,PH.RDX ;[1172] - COUNT
2) MOVEM T3,JOB116 ;[1172] STORE IN INTERNAL PTR
2) MOVEM T3,.JBSYM(T1) ;[1172] STORE SYMBOL TABLE PTR
2) > ;END IFN FTOVERLAY
2)
2)
2) ;HERE IF NOT WRITING A RUNTIME SYMBOL TABLE. JUST DELETE LINK'S
TABLES.
2)
2) NORST: PUSHJ P,GSDLT ;[1172] GET RID OF THE GS AREA
2) ; ..
2)
2)15 ; ..
2)
2) ;ALL PATHS REJOIN HERE. DELETE TABLES, SET UP JOBDAT, AND EXIT.
2)
2) FINRST: SKIPLE T1,SYMFRM ;[1172] WANT NEW STYLE SYMBOL FI
LE?
2) PUSHJ P,SAVSYM ;[1172] YES, WRITE IT OUT
2) PUSHJ P,AS.ZAP ;[1172] DONE WITH AS AREA
2) MOVEI T1,AC ;[1172] ALGOL SYMS CHANNEL
2) SKIPE PAG.AS ;[1172] AREA PAGING?
2) PUSHJ P,DVDEL.## ;[1172] YES, DELETE OVERFLOW FIL
E
2) JFCL ;[1172] DON'T CARE
2) PUSHJ P,FX.ZAP ;[1172] DONE WITH FX AREA
2)
2) IFN FTOVERLAY,<
2) SKIPL LNKMAX ;[1172] LOADING OVERLAYS?
2) JRST FINRS2 ;[1172] YES, SAVE LS AREA
2) > ;END IFN FTOVERLAY
2)
2) PUSHJ P,LS.ZAP ;[1172] KILL OFF THE LS AREA
2) MOVEI T1,SC ;[1172] LS OVERFLOW CHANNEL
2) SKIPE PAG.LS ;[1172] LS AREA PAGING?
2) PUSHJ P,DVDEL.## ;[1172] YES, DELETE OVERFLOW FIL
E
2) JFCL ;[1172] WASN'T PAGING
2)
2)
Digital Equipment Corporation 28-AUG-79 Page 501
PCO Log Report
2) ;NOW UPDATE JOBDAT, THEN EXIT VIA SAVTST.
2)
2) FINRS2: SKIPE PAG.S1 ;[1172] LC AREA PAGING?
2) SKIPA P1,JOBPTR ;[1172] YES, JOBDAT IS IN DY
2) MOVE P1,LC.LB ;[1172] NO, IT'S IN LC
2) SKIPE PAG.S2 ;[1172] HC AREA?
2) SKIPA P2,JBHPTR ;[1172] YES, FETCH DY PTR
2) MOVE P2,HC.LB ;[1172] NO, FETCH HC PTR (OR 0)
2) PUSHJ P,JOBSET ;[1172] SET UP JOBDAT
2) PUSHJ P,HJBSET ;[1172] VESTIGAL JOBDAT
2) JRST SAVTST ;[1172] DONE WITH CHKRST, GO CHE
CK /SAVE
2)
2)16 ;GETSST - ROUTINE TO FIGURE OUT WHERE THE SYMBOL TABLE GOES
2) ;CALLED ONLY WHEN A RUNTIME SYMBOL TABLE IS DEFINITELY NEEDED.
2) ;RETURNS WITH:
2) ;
2) ; SSGNAM/ NAME (SIXBIT) OF PSECT TO APPEND SYMBOLS
TO
2) ; R/ AREA PSECT IS IN, LC.IX OR HC.IX
2) ; P4/ POINTER TO RC BLOCK OF PSECT NAMED IN SS
GNAM
2) ; RC.HL(P4)/ FIRST ADDRESS TO STORE A SYMBOL IN
2) ; SYMLIM/ LAST ADDRESS TO STORE A SYMBOL IN
2) ;
2) ;ALSO UPDATES LOWLOC IF NECESSARY.
2)
2) GETSST: SKIPGE R,SYMSEG ;[1172] /SYMSEG TO A PSECT?
2) JRST GETS10 ;[1132] YES, GO FIND IT
2) GETS2: CAIN R,2 ;[1172] /SYMSEG:HIGH?
2) JRST GETS8 ;[1172] YES, TREAT IT LIKE /SYMS
EG:PSECT:.HIGH.
2)
2)
2) ;HERE IF /SYMSEG:LOW OR NO /SYMSEG (E.G., C(.JBDDT<>0).
2) ;WE WANT TO APPEND PAT.. AND THE SYMBOL TABLE TO THE LAST PSECT
IN THE IMAGE.
2) ;OUR FIRST MISSION IS TO FIND THAT PSECT...
2)
2) SETZB R,T3 ;[1172] INIT HIGHEST ADDR AND PS
ECT IDX
2) GETS4: MOVE T1,@RC.TB ;[1172] GET POINTER TO RC BLOCK
OF NEXT PSECT
2) MOVE T2,RC.SG(T1) ;[1172] GET THE SEGMENT THAT THI
S PSECT IS IN
2) CAIE T2,1 ;[1172] IN THE LOW SEGMENT?
2) JRST GETS6 ;[1172] NO, IT DOESN'T COUNT FOR
/SYMSEG:LOW
2) MOVE T2,RC.HL(T1) ;[1172] GET THE FIRST FREE AFTER
Digital Equipment Corporation 28-AUG-79 Page 502
PCO Log Report
THIS PSECT
2) CAMG T2,T3 ;[1132] HIGHEST SO FAR?
**************
1)17 GETS6: CAMGE R,RC.NO ;[1132] ALL DONE?
****
2)16 ;**;[1172] Insert @ GETS4+9L JNG 5-Jun-79
2) MOVE T2,RC.NM(T1) ;[1172] GET THE WINNER'S NAME
2) MOVEM T2,SSGNAM ;[1172] STORE FOR ERROR MESSAGES
2) GETS6: CAMGE R,RC.NO ;[1132] ALL DONE?
**************
1)17 SPOP <T4,T3,T2> ;[1132] RESTORE ACS
1) JRST GETS14 ;[1132] GO UPDATE THAT PSECT
1)
****
2)16 ;**;[1172] Delete @ GETS6+3L JNG 5-Jun-79
2) JRST GETS14 ;[1132] GO UPDATE THAT PSECT
2)
2)17 ;HERE ON /SYMSEG:HIGH. FAKE /SYMSEG:PSECT:.HIGH. AND FALL INTO
PSECT CODE.
2)
**************
1)17 GETS10: SETZ R, ;[727] YES, HAVE PSECT NAME
****
2)17
2) ;HERE ON /SYMSEG:PSECT:xxxxxx. FIND THE PSECT IN THE RC TABLES.
2)
2) GETS10: SETZ R, ;[727] YES, HAVE PSECT NAME
**************
1)17 ;FALL INTO NEXT PAGE
1)
1)18 ;FALL IN FROM ABOVE
1)
1) GETS14: SKIPL SYMLIM ;[1132] HAVE A LIMIT YET?
1) JRST GETS18 ;[1132] YES, PROCEED
1) ADDI R,1 ;[1132] NO, CHECK NEXT PSECT
1) CAMLE R,RC.NO ;[1132] IS THERE ONE?
1) JRST GETS16 ;[1132] NO, USE 777777
1) MOVE T1,@RC.TB ;[1132] RC BLOCK FOR NEXT PSECT
1) MOVE T1,RC.IV(T1) ;[1132] BOTTOM OF IT
1) SOSA T1 ;[1132] LIMIT IS ONE BELOW
1) GETS16: MOVEI T1,777777 ;[1132] USE 777777 IF NO NEXT PS
ECT
1) MOVEM T1,SYMLIM ;[1132] STORE
1) SUBI R,1 ;[1132] BACK TO OLD PSECT
1)
1) GETS18: MOVE T1,@RC.TB ;[1132] THIS PSECT'S RC BLOCK
1) MOVEM T1,SYMPSC ;[1132] SAVE FOR SYDONE
1) ADD P4,RC.HL(T1) ;[1132] COMPUTE START OF SYMBOL
TABLE
Digital Equipment Corporation 28-AUG-79 Page 503
PCO Log Report
1) MOVE R,RC.SG(T1) ;[1132] SEGMENT SYMBOL TABLE IS
IN
1) MOVE T1,P4 ;[1132] GET START OF THE SYMBOL
TABLE
1) TRZ T1,777 ;[1132] ROUND DOWN TO PAGE BOUND
1) CAMGE T1,LOWLOC ;[1132] LOWER THAN ANY CODE?
1) MOVEM T1,LOWLOC ;[1132] YES, UPDATE LOWEST LOCAT
ION
1) SUB P4,LL.S0(R) ;[1132] OFFSET TO SEGMENT START
1) CAMLE P4,HL.S0(R) ;[1132] UPDATE HL FOR THAT SEGME
NT
1) MOVEM P4,HL.S0(R) ;[1132] BUT NEVER DECREASE
1) POP P,T1 ;[715] RESTORE AC'S
1) POPJ P, ;[715]
1)
1)19 SUBTTL LOCAL SYMBOLS
1)
1) ;IF LOCAL SYMBOLS AREA REQUIRED IN CORE STORE THEM ON TOP
1) ; OF LOW SEG OR HIGH SEG CODE
1) ;IF LOWSEG LEAVE A GAP (PATSPC) FOR MORE SYMBOLS OR PATCHING
1) ; IF HIGH PUT AGAINST PAGE BOUND (0.5K)
1) ;
1) ;IF LOCAL SYMBOLS NOT REQUIRED JUST FLUSH SPACE
1) ;IF SYMBOLS ON DSK READ BACK IN FIRST
1)
1) LSY0: SKIPE PAG.S1 ;PAGING?
1) SKIPA T1,JOBPTR ;YES, LOAD CORRECT OFFSET
1) MOVE T1,LC.LB ;LOAD UP OFFSET
1) SKIPN T2,VERNUM ;GET VERSION# SET BY SWITCH
1) SKIPA T2,.JBVER(T1) ;GET VERSION FROM LOC .JBVER
1) MOVEM T2,.JBVER(T1) ;STORE BACK IN CORE IMAGE
1) MOVEM T2,VERNUM ;SAVE FOR .RBVER OF FILES
1) SKIPE NOSYMS ;NOT IF /NOSYMS
1) JRST LSY00
1) SKIPN .JBDDT(T1) ;IF DDT WE NEED LOCALS
1) SKIPE SYMSEG ;OR IF USER SPECIFIED WHERE TO P
UT THEM
1) JRST LSREQ ;YES,
1) LSY00: SETZM .JBSYM(T1) ;CLEAR POINTER
1) SKIPE IO.PTR+%SC ;HOWEVER IF WE WANT OLD SYMBOL F
ILE
1) SKIPL SYMFRM ;WE STILL NEED TO CONVERT SYMBOL
S
1) JRST NOLOCS ;NO, DONT BOTHER
1)
1)20 ;HERE IF /SYMSEG, /SYFILE:RADIX50, OR C(.JBDDT) <> 0.
1) ;CONVERT THE SYMBOLS IN THE LS AREA TO RADIX50 AND PUT THEM IN C
ORE.
1)
Digital Equipment Corporation 28-AUG-79 Page 504
PCO Log Report
1) LSREQ:
1) IFN FTOVERLAY,<
1) SKIPL LNKMAX ;DID WE SEE ANY OVERLAYS?
1) JRST LSOVS ;YES, SPECIAL
1) >
1) .ERR. (MS,0,V%L,L%I,S%I,SST,<Sorting symbol table>)
1) PUSHJ P,SYMINI ;DO THE MAGIC TO MOVE SYMBOLS UP
IN CORE
1) LSREQ1: PUSHJ P,CHKPAG ;[645] INCASE PAGE FOR THE FIRST
TIME
1) SKIPE USYM ;IF NO UNDEFINED SYMBOLS
1) ;**;[772] Replace @ LSREQ1+2L MCHC 23-Mar-78
1) JRST .+3 ;[772] YES, AT END OF UND-SYM TA
BLE
1) MOVE P4,PATSPC ;NEED TO LEAVE A HOLE FOR PATCHI
NG
1) PUSHJ P,GETSST ;[715] GET FINAL SYMBOL START AD
DR
1) ;**;[1111] Change @ LSREQ1+5L MCHC 7-Aug-78
1) HRRZS P2,P4 ;[1111] COPY RH IN CASE NOT ENOU
GH
1) MOVE P2,P4 ;COPY INCASE NOT ENOUGH
1) SKIPE PAG.S0(R) ;PAGING THIS AREA?
1) SKIPE USYM ;YES, BUT ALREADY SETUP IF UNDEF
S
1) CAIA ;DON'T HAVE TO WORRY
1) PUSHJ P,LSYP ;YES, GET RIGHT PAGES IN CORE
1) SUB P2,LW.S0(R) ;REMOVE PAGED BASE
1) ADD P2,TAB.LB(R) ;IN CORE
1) CAMG P2,TAB.AB(R) ;ENOUGH CORE?
1) JRST LSY1 ;YES,
1) SUB P2,TAB.AB(R) ;GET EXTRA WE NEED
1) MOVEI P1,(R) ;FROM WHERE
1) SETOM LS.PP ;[754] PROHIBIT PAGING OF SYMBOL
S
1) PUSHJ P,LNKCOR## ;GET IT
1) JRST LSREQ1 ;[645] NO CORE, LOOP BACK AND PA
GE
1) SKIPN TAB.PG(R) ;[570] PAGING?
1) JRST LSREQ0 ;[570] NO, FORGET IT
1) MOVE T1,P4 ;[570] YES, UPDATE UW
1) IORI T1,.IPM ;[570] FROM MAX VIRT ADDR, IN P4
1) MOVEM T1,TAB.UW(R) ;[570]
1)
1)21 LSREQ0: MOVE P2,P4 ;[570] RELATIVE
1) SUB P2,LW.S0(R) ;REMOVE PAGED BASE
1) ADD P2,TAB.LB(R) ;FIX IN CORE
1) LSY1: SETZM LS.PP ;[754]
1) SKIPGE SYMSEG ;[715]
1) JRST .+3 ;[715] JUMP IF PSECT SPCIFIED
1) MOVEM P4,HC.S0(R) ;FOR .JBCOR
Digital Equipment Corporation 28-AUG-79 Page 505
PCO Log Report
1) EXCH P4,HL.S0(R) ;GET BASE OF UNDFS
1) SKIPE PAG.S1 ;PAGING?
1) SKIPA T1,JOBPTR ;YES, LOAD CORRECT OFFSET
1) MOVE T1,LC.LB ;CODE OFFSET
1) ADD P4,LL.S0(R) ;PLUS STARTING OFFSET
1) HRRZM P4,.JBSYM(T1) ;FIXUP POINTER (ADDRESS ONLY)
1) HRRZM P4,JOB116 ;AND FOR .SYM FILE
1) MOVEI T1,.IPS ;SIZE WE CARE ABOUT
1) SUB T1,LS.FR ;MINUS FREE
1) MOVEM T1,LSCNT ;LEFT IN THIS BLOCK
1) SKIPGE SYMSEG ;[715] PSECT NAME USED?
1) SKIPA T1,P4 ;[715] YES, USED P4 INSTEAD
1) MOVE T1,HL.S0(R) ;SETUP CORE POINTER
1) MOVEI T2,2(T1) ;REL ADDRESS OF "TITLE" FOR PAT.
.
1) MOVEM T2,TTLPTR
1) SUB T1,LW.S0(R) ;REMOVED PAGED BASE
1) ADD T1,TAB.LB(R) ;ADD FIXED BASE
1) MOVEM T1,TAB.PT(R) ;ABS POINTER TO NEXT FREE LOC
1)
1)
1) ;NOW OUTPUT THE SYMBOL PAT.. IN MODULE PAT.. AS THE LAST SYMBOL
1)
1) MOVE W2,[RADIX50 04,PAT..] ;BE COMPATIBLE (ALMOST)
1) SKIPGE SYMSEG ;[715] PSECT NAME USED?
1) SKIPA W3,P4 ;[715] YES, USE P4 INSTEAD
1) HRRZ W3,HL.S0(R) ;VALUE
1) SUB W3,PATSPC ;POINT TO BOTTOM OF AREA
1) HLRE T1,JOB117 ;BUT TAKE INTO ACCOUNT UNDEFINED
SYMBOLS
1) ADD W3,T1 ;WHICH ARE BETWEEN PAT.. AND .JB
SYM
1) ADD W3,LL.S0(R) ;ADD IN OFFSET TO SEGMENT
1) PUSHJ P,SYMOUT ;LAST SYMBOL
1) JRST SYDONE ;[715] EXCEEDED SPACE, ALL DONE
1) TLZ W2,740000 ;MAKE RADIX50 0,PAT.. BE THE TIT
LE
1) ;**;[1127] Insert @ LSY1+37L JNG 14-Nov-78
1) HRLI W3,-4 ;[1127] FOUR WORDS IN PAT..'S TA
BLE
1) PUSHJ P,SYMOUT
1) SKIPA ;[715] EXCEEDED SPACE, ALL DONE
1) PUSHJ P,LSLOOP ;READ ALL OF SYMBOLS
1) JRST SYDONE ;ALL DONE
1)
1)22 IFN FTOVERLAY,<
1) LSOVX:: MOVEM T1,LSCNT ;STORE WORDS LEFT IN THIS BLOCK
1) SETZM TTLPTR ;START AFRESH
1) POPJ P,
Digital Equipment Corporation 28-AUG-79 Page 506
PCO Log Report
1)
1) LSOVS: HLRE T2,PH.RDX ;GET - NO. OF SYMBOLS
1) MOVM T3,T2 ;+
1) ADD T3,HL.S1 ;HIGHEST LOCATION
1) ADD T3,SPACE ;PLUS BUFFER SPACE
1) ADD T3,PATSPC ;AND PATCHING SPACE
1) IOR. T3,.PGSIZ ;UP TO PAGE BOUND
1) ADDI T3,1 ;NEXT FREE
1) ADD T3,T2 ;START OF SYMBOLS
1) HLL T3,PH.RDX ;- COUNT
1) MOVEM T3,JOB116
1) MOVEM T3,.JBSYM(T1) ;STORE SYMBOL TABLE PTR
1) JRST NOLOCS ;BUT DON'T READ IN
1) >
1)
1)23 ;HERE TO SETUP CORRECT LC/HC PAGES
1) ;WRITE OUT ALL OF CURRENT (UPTO START OF LAST LOC IN USE)
1) ;ALLOCATE INITIALLY 1 BLOCK (IT WILL EXPAND AS REQUIRED)
1)
1) LSYP: HRLZ T1,LW.S0(R) ;BASE
1) HRR T1,UW.S0(R) ;UPPER LIMIT
1) PUSHJ P,@[EXP LC.OUT##,HC.OUT##]-1(R) ;GO TO CORRECT R
OUTINE
1) SKIPGE SYMSEG ;[715] PSECT SPECIFIED?
1) SKIPA T2,P4 ;[715] YES,
1) HRRZ T2,HL.S0(R) ;THIS IS THE LOCATION WE REQUIRE
1) ANDCMI T2,.IPM ;WILL BE LOWER PAGE BOUND
1) MOVEM T2,LW.S0(R) ;STORE IT NOW
1) IORI T2,.IPM ;THENCE UPPER BOUND
1) EXCH T2,UW.S0(R) ;SWAP WITH CURRENT
1) CAME T2,UW.S0(R) ;IF IDENTICAL
1) JRST [MOVE T1,UW.S0(R) ;GET UPPER LIMIT
1) HRLI T1,-.IPM(T1) ;GET LOWER LIMIT FOR THI
S BLOCK
1) PUSHJ P,@[EXP LC.IN##,HC.IN##]-1(R) ;READ IN
TOP BLOCK
1) JRST LSYP1] ;AND CONTINUE
1) HRLZ T2,TAB.AB(R) ;WE MUST BLT DOWN THE LAST BLOCK
1) TLZ T2,.IPM ;AS IT MAY CONTAIN DATA
1) HRR T2,TAB.LB(R)
1) MOVEI T1,.IPS(T2) ;BASE OF FREE
1) BLT T2,-1(T1) ;MOVE IT
1) LSYP1: HRRZ T1,TAB.LB(R) ;LOWEST LOC IN CORE
1) ADDI T1,.IPS ;FIRST BLOCK NOW CONTAINS DATA
1) CAML T1,TAB.AB(R) ;AREA ONLY ONE PAGE LONG?
1) JRST LSYP2 ;YES, DON'T ZERO NEXT AREA
1) HRL T1,T1
1) SETZM (T1) ;ZERO IT
1) ADDI T1,1 ;FORM BLT PTR
Digital Equipment Corporation 28-AUG-79 Page 507
PCO Log Report
1) BLT T1,@TAB.AB(R) ;CLEAR ALL OF THIS CORE
1)
1)24 ;NOW GIVE REST TO NEXT LOWER AREA
1)
1) LSYP2: MOVE T1,TAB.LB(R) ;GET BASE
1) IORI T1,.IPM ;MAKE IT ONE BLOCK LONG
1) MOVEM T1,TAB.AB(R) ;SO WE CAN CORRECTLY COUNT
1) MOVEI T1,-1(R) ;GET INDEX TO NEXT AREA
1) SKIPN TAB.LB(T1) ;FIND ONE SETUP (MUST BE)
1) SOJA T1,.-1 ;SHOULD NEVER GET HERE ANYWAY
1) MOVE T2,TAB.AB(T1) ;GET HIGHEST IN USE
1) ADDI T2,1 ;POINT TO NEXT FREE
1) CAML T2,TAB.LB(R) ;ALREADY HERE?
1) POPJ P, ;YES, NOTHING WE CAN DO ABOUT IT
1) SUBI T2,1 ;UPPER LIMIT AGAIN
1) MOVEM T2,TAB.UB(T1) ;RESET IT FOR LOWER AREA
1) HRRZI T1,1(T2) ;NEXT FREE WHERE BLOCK WILL GOTO
1) HRL T1,TAB.LB(R) ;FROM WHERE IN LEFT
1) HRRZM T1,TAB.LB(R) ;NOW RESET IT
1) MOVE T2,T1 ;GET A COPY
1) BLT T1,.IPM(T2) ;THIS BLOCK DOWN
1) MOVS T2,T2 ;PUT FROM ADDR. IN RIGHT
1) HRLI T1,(T2) ;NOW FOR ZERO BLT
1) HRRI T1,1(T2)
1) SETZM (T2)
1) TLO T2,.IPM ;STILL HAVE TO SET TOP INUSE
1) HLRZM T2,TAB.AB(R) ;FOR 1 BLOCK
1) BLT T1,.IPM(T2) ;THROUGH THIS BLOCK
1) POPJ P,
1)
****
2)18 ;**;[1172] Replace @ GETS14 JNG 5-Jun-79
2) ;HERE WITH THE PSECT INDEX TO USE IN R, AND ITS NAME IN SSGNAM.
2) ;WE NOW WANT TO CALCULATE HOW FAR THE SYMBOL TABLE IS ALLOWED TO
EXTEND.
2) ;BELIEVE THE USER'S /UPTO SWITCH IF HE GAVE ONE, OTHERWISE STOP
ONE BELOW
2) ;THE NEXT PSECT ORIGIN WE WOULD CROSS, OR STOP AT 777777 IF NO M
ORE PSECTS.
2)
2) GETS14: MOVE P4,@RC.TB ;[1172] POINTER TO THIS PSECT'S
RC BLOCK
2) SKIPE SYMLIM ;[1172] USER TYPE /UPTO?
2) JRST GETS20 ;[1172] YES, BELIEVE IT
2) MOVE T4,RC.HL(P4) ;[1172] ADDR OF START OF PATCH A
REA
2) ADDI R,1 ;[1172] START THE SEARCH AT THE
NEXT PSECT
2)
Digital Equipment Corporation 28-AUG-79 Page 508
PCO Log Report
2)
2) ;LOOP BACK HERE ON EACH NEW PSECT, LOOKING FOR ONE WHOSE ORIGIN
2) ;IS .GE. C(T4).
2)
2) GETS16: CAMLE R,RC.NO ;[1172] CHECKED THEM ALL YET?
2) JRST GETS18 ;[1172] YES, GO USE 777777
2) MOVE T1,@RC.TB ;[1172] GET PSECT'S RC BLOCK
2) MOVE T2,RC.IV(T1) ;[1172] GET ORIGIN OF THIS PSECT
2) CAMGE T2,T4 ;[1172] START ABOVE THE SYMSEG P
SECT?
2) AOJA R,GETS16 ;[1172] NO, MUST HAVE BEEN OVERL
APPING PSECT
2) MOVE T3,RC.HL(T1) ;[1172] YES, CHECK FOR ZERO-LENG
TH PSECT
2) CAMG T3,T2 ;[1172] WOULD WE OVERWRITE ANYTH
ING?
2) AOJA R,GETS16 ;[1172] NO, IGNORE THIS PSECT
2) SOSA T2 ;[1172] YES, LAST ADDR TO USE IS
ONE LESS
2) GETS18: MOVEI T2,777777 ;[1172] NO MORE PSECTS, USE END
OF SECTION 0
2) MOVEM T2,SYMLIM ;[1172] STORE NEWLY CALCULATED L
IMIT
2)
2)
2) ;NOW SET UP SOME FINAL THINGS FOR THE REST OF LINK, THEN RETURN.
2)
2) GETS20: MOVE R,RC.SG(P4) ;[1172] FETCH SEGMENT INDEX FOR
PSECTS
2) MOVE T1,RC.HL(P4) ;[1172] START OF PATCH AREA
2) MOVEM T1,PATLOC ;[1172] REMEMBER FOR RST
2) ADD T1,PATSPC ;[1172] START OF REAL SYMBOL TAB
LE
2) MOVEM T1,RC.HL(P4) ;[1172] UPDATE SIZE OF PSECT
2) TRZ T1,777 ;[1172] ROUND DOWN TO PAGE BOUND
2) CAMGE T1,LOWLOC ;[1172] LOWEST LOCATION YET LOAD
ED?
2) MOVEM T1,LOWLOC ;[1172] YES, SAVE FOR EXE FILE W
RITER.
2) POPJ P, ;[1172] END OF GETSST
2)
2)19 ;HERE IF PAGING TO SETUP LC/HC AREA TO INSERT SYMBOLS INTO.
2) ;WRITE OUT ENTIRE WINDOW, THEN SET UP LAST PAGE ONLY.
2) ;AREA WILL EXPAND AS REQUIRED IN SYMOUT.
2)
2) LSYP: HRLZ T1,LW.S0(R) ;[1172] BOTTOM OF WINDOW
2) HRR T1,UW.S0(R) ;[1172] TOP
2) PUSHJ P,@TB.OUT##(R) ;[1172] WRITE ENTIRE WINDOW TO D
ISK
Digital Equipment Corporation 28-AUG-79 Page 509
PCO Log Report
2) MOVE T1,TAB.AB(R) ;[1172] REDUCE WINDOW TO ONE PAG
E
2) ANDCMI T1,.IPM ;[1172] NEW BOTTOM OF AREA
2) SUBI T1,1 ;[1172] FIRST WORD BELOW NEW BAS
E
2) CAML T1,TAB.LB(R) ;[1172] AREA ALREADY ONE PAGE?
2) PUSHJ P,GBCK.L## ;[1172] NO, SHRINK IT DOWN
2) MOVE T1,RC.HL(P4) ;[1172] GET FIRST ADDR TO STORE
A SYMBOL IN
2) SUB T1,LL.S0(R) ;[1172] RELATIVE TO SEGMENT STAR
T
2) ANDCMI T1,.IPM ;[1172] NEW BOTTOM OF WINDOW
2) MOVEM T1,LW.S0(R) ;[1172] STORE
2) IORI T1,.IPM ;[1172] NEW TOP OF WINDOW
2) CAMN T1,UW.S0(R) ;[1172] WHERE IT WAS ALREADY?
2) POPJ P, ;[1172] YES, DONE
2) MOVEM T1,UW.S0(R) ;[1172] NO, MUST READ IN THE DAT
A
2) HRL T1,LW.S0(R) ;[1172] FORM TRANSFER WORD
2) PJRST @TB.IN(R) ;[1172] READ IN DATA AND RETURN
2)
2)20 ;**;[1172] Move down and change as indicated @ UDF0 JNG
5-Jun-79
2) ;HERE TO WRITE THE UNDEFINED SYMBOL TABLE. THE TABLE IS GENERAT
ED
2) ;BY SCANNING THE GLOBAL SYMBOL TABLE LOOKING FOR UNDEFINED SYMBO
LS.
2) ;WE GENERATE ONE RADIX50 PAIR FOR EACH UNDEFINED SYMBOL, AND ADD
ITIONAL
2) ;PAIRS IF ANY ADDITIVE FIXUPS ARE ENCOUNTERED.
2) ;
2) ;THE ONLY FIXUP TYPES HANDLED ARE ADDITIVE AND RIGHT AND LEFT HA
LF CHAINED.
2) ;OTHER TYPES, SUCH AS SYMBOL FIXUPS AND POLISH, ARE DISCARDED HE
RE. THIS
2) ;IS DUE TO LACK OF A SYMBOL TABLE FORMAT SPEC, AND LACK OF DDT S
UPPORT.
2) ;
2) ;ENTERED WITH:
2) ;
2) ; P4/ POINTER TO RC BLOCK OF /SYMSEG PSECT
2) ; R/ INDEX TO /SYMSEG AREA, LC OR HC
2)
2)
2) ;**;[1172] Replace @ UDF0 JNG 5-Jun-79
2) DOUDFS: MOVE T1,TAB.PT(R) ;[1172] LINK'S ADDRESS OF NEXT W
ORD
2) SUB T1,TAB.LB(R) ;[1172] FIND OFFSET IN WINDOW
2) ADD T1,LW.S0(R) ;[1172] FIND OFFSET IN SEGMENT
2) ADD T1,LL.S0(R) ;[1172] FORM ABSOLUTE ADDRESS
2) HRLZM T1,JOB117 ;[1172] STORE IN LH(JOB117) FOR
Digital Equipment Corporation 28-AUG-79 Page 510
PCO Log Report
A WHILE
2) SETZM SYMDEW ;[1172] DON'T NEED EXTRA ROOM FR
OM SYMOUT
2) MOVE P2,HT.PRM ;GET HASH SIZE
2) SKIPE T1,@HT.PTR ;GET POINTER IF NON-ZERO
2) JRST UDFTRY ;SEE IF A REQUEST
2) UDFNXT: SOJGE P2,.-2 ;MORE?
2) JRST UDFDN ;NO
2)
2) UDFTRY: ADD T1,GS.LB ;ADD IN BASE
2) MOVE W1,(T1) ;GET FLAGS
2) TXNN W1,PS.REQ ;GLOBAL REQUEST
2) JRST UDFNXT ;NO, TRY NEXT SYMBOL
2) DMOVE W2,1(T1) ;GET SIXBIT SYMBOL & VALUE (REQU
EST POINTER)
2) PUSHJ P,SXBR50 ;CONVERT TO SIXBIT
2) TXO W2,R5.GLB ;MAKE GLOBAL DEFINITION
2) ;**;[1172] Replace @ UDFTRY+7L JNG 5-Jun-79
2) PUSHJ P,SYMOUT ;[1172] STORE W2/W3 IN IMAGE
2) JRST UDFDN ;[1172] NO MORE ROOM, CLOSE UP S
HOP
2) AOS JOB117 ;[1172] ANOTHER ONE STORED, BUMP
COUNT
2) TXNE W1,PS.FXP ;ANY ADDITIVE GLOBAL FIXUPS
2) JRST UDFGB ;YES, RECREATE THE REQUESTS
2) JRST UDFNXT ;[1172] NO, LOOK FOR ANOTHER SYM
BOL
2)
2)21 ;THE LOOP BELOW FINDS THE S.FXP TRIPLET IN THE GS AREA, THEN CHA
SES
2) ;THE CHAIN OF FIXUPS DEPENDING ON THIS SYMBOL THROUGH THE FX ARE
A,
2) ;WRITING UNDEFINED SYMBOL TABLE ENTRIES FOR APPLICABLE FIXUPS AS
IT GOES.
2) ;
2) ;ENTER AT UDFGB.
2)
2) UDFGB0: TXNE W1,S.LST ;IS THIS THE LAST BLOCK
2) JRST UDFNXT ;[1172] YES
2) ADDI T1,.L ;NO, GET NEXT TRIPLET
2) UDFGB: HRRZ T1,@HT.PTR ;GET POINTER AGAIN
2) ADD T1,GS.LB ;ADD IN BASE
2) SKIPG W1,.L(T1) ;GET NEXT FLAG WORD
2) JRST UDFERR ;MUST HAVE SIGN BIT ON
2) TXNN W1,S.FXP ;AND A FIXUP
2) JRST UDFGB0 ;NOT YET
2) ;**;[1172] Replace @ UDFGB+6L JNG 5-Jun-79
2) MOVE T1,.L+2(T1) ;[1172] GET VALUE
2) UDFGB1: ADD T1,FX.LB ;RELOCATE IN FIXUP TABLE
Digital Equipment Corporation 28-AUG-79 Page 511
PCO Log Report
2) SKIPL W1,0(T1) ;GET FLAGS
2) JRST UDFERR ;JUST INCASE
2) ;**;[1160] Replace @ UDFGB1+3L JNG 14-Apr-79
2) TXNE W1,FP.SYM ;[1160] FIXUP BASED ON UNDEFINED
SYMBOL?
2) TXNN W1,FS.FXR!FS.FXL ;[1160] CAN ONLY PUT OUT RH OR
LH ADDITIVE
2) JRST UDFGB2 ;[1160] CAN'T OUTPUT POLISH, SYM
FIXUPS, ETC.
2) DMOVE W2,1(T1) ;GET DATA WORDS
2) PUSHJ P,SXBR50 ;CONVERT TO RADIX-50
2) TXO W2,R5.GLB ;MAKE INTO A GLOBAL DEFINITION
2) TXO W3,R5.FXA ;AND TURN ON ADDITIVE BIT
2) TXNE W1,FS.FXL ;LEFT HALF?
2) TXO W3,R5.FXL ;YES
2) ;**;[1172] Replace @ UDFGB1+13L JNG 5-Jun-79
2) PUSHJ P,SYMOUT ;[1172] WRITE W2/W3 INTO THE IMA
GE
2) JRST UDFDN ;[1172] SPACE EXCEEDED, STOP
2) AOS JOB117 ;[1172] OK, WROTE ANOTHER ONE
2) UDFGB2: HRRZ T1,W1 ;GET POINTER
2) JUMPE T1,UDFNXT ;[1172] ALL DONE IF ZERO
2) JRST UDFGB1 ;GET NEXT BLOCK
2)
2)
2) ;HERE WHEN AN UNDEFINED SYMBOL WITH PS.FXP SET IS NOT FOLLOWED B
Y A
2) ;SECONDARY TRIPLET WITH S.FXP SET.
2)
2) UDFERR: JRST UDFNXT ;[1172] SYMBOL TABLE FOULED UP
2)
2)22 ;HERE WHEN FINISHED WRITING THE UNDEFINED SYMBOL TABLE.
2) ;SET UP .JBUSY AND RETURN.
2)
2) UDFDN: SKIPE PAG.S1 ;[1172] PAGING?
2) SKIPA T1,JOBPTR ;[1172] YES, LOAD CORRECT OFFSET
2) MOVE T1,LC.LB ;[1172] CODE OFFSET
2) HRRZ T2,JOB117 ;[1172] GET NUMBER OF UNDEFINED
SYMBOLS
2) IMULI T2,-2 ;[1172] 2 WORDS/SYMBOL, WANT NEG
ATIVE
2) HRRM T2,JOB117 ;[1172] FORM ADDR,,-LEN
2) MOVSS T2,JOB117 ;[1172] FORM -LEN,,ADDR
2) MOVEM T2,.JBUSY(T1) ;[1172] STORE IN IMAGE
2) POPJ P, ;[1172] DONE WITH UNDEFINED TABL
E, RETURN
2)
2)23 ;SUBROUTINE TO DELETE THE GS AREA, AND CUT BACK MEMORY IF POSSIB
LE.
Digital Equipment Corporation 28-AUG-79 Page 512
PCO Log Report
2)
2) ;**;[1172] Move down and change as indicated JNG 5-Jun-79
2) GSDLT:
2) IFE TOPS20,< ;[1113] DON'T SHRINK BACK ON TOP
S-20
2) SKIPN .JBDDT(T1) ;SEE IF WE NEED LOCAL SYMBOLS
2) SKIPE SYMSEG ;EITHER FOR /DEB OR /SYMSEG
2) JRST GSNRED ;YES, DON'T CUT BACK CORE YET
2) MOVEI T1,GS.IX-1 ;START AT AREA JUST LOWER
2) SKIPN TAB.LB(T1) ;FIND HIGHEST AREA IN USE
2) SOJA T1,.-1 ;WILL GET THERE EVENTUALLY
2) MOVE T2,TAB.AB(T1) ;GET HIGHEST LOC IN USE IN IT
2) IORI T2,1777 ;K BOUND
2) ADDI T2,2000 ;EXTRA K FOR SAFETY
2) CAML T2,.JBREL ;ANYTHING TO GIVE BACK?
2) JRST GSNRED ;NO, REDUCED ALREADY
2) CORE T2, ;DELETE TOP PART
2) JRST GSNRED ;NEVER CAN HAPPEN
2) MOVE T2,.JBREL ;GET NEW TOP
2) ;**;[773] Insert @ GSDLT+14L JNG 30-Apr-78
2) SKIPN GS.LB ;[773] GS AREA ALREADY GONE?
2) JRST GSDLT1 ;[773] YES, DON'T RECREATE IT
2) MOVEM T2,GS.AB ;RESET TABLE
2) MOVEM T2,GS.UB
2) CAMLE T2,GS.LB ;INCASE WE REDUCED IT ALL
2) JRST GSRED ;NO, ALL IS WELL
2) ;**;[773] Add label @ GSDLT+18L JNG 30-Sep-78
2) GSDLT1: MOVEM T2,TAB.UB(T1) ;[773] RESET HIGHEST FREE LOC AG
AIN
2) SETZM GS.LB ;SO XX.ZAP CAN WORK
2) GSRED: .ERR. (MS,.EC,V%L,L%I,S%I,RED,<Reducing low segment to
>)
2) .ETC. (COR,.EP,,,,.JBREL)
2) ;**;[1113] Change @GSNRED DZN 25-Aug-78
2) > ;END OF IFE TOPS20
2) GSNRED: PUSHJ P,GS.ZAP ;GET RID OF GS
2) ;**;[1172] Replace @ GSNRED+1L JNG 5-Jun-79
2) POPJ P, ;[1172] END OF GSDLT
2)
2)24 ;HERE TO WRITE THE DEFINED SYMBOLS INTO THE IMAGE.
2)
2) DOLOCS: SKIPE PAG.LS ;[1172] PAGING?
2) PUSHJ P,SYMINI ;[1172] YES, SET WINDOW TO END O
F LS AREA
2) MOVEI T1,2 ;[1172] NEED ENOUGH WARNING TO P
UT A TITLE OUT
2) MOVEM T1,SYMDEW ;[1172] STORE FOR SYMOUT
2) MOVE T1,TAB.PT(R) ;[1172] COMPUTE START OF THIS TA
BLE
2) SUB T1,TAB.LB(R) ;[1172] OFFSET IN WINDOW TO FIRS
T AFTER USY
Digital Equipment Corporation 28-AUG-79 Page 513
PCO Log Report
2) ADD T1,LW.S0(R) ;[1172] OFFSET IN SEGMENT
2) ADD T1,LL.S0(R) ;[1172] FORM ABSOLUTE ADDRESS FO
R RH(.JBSYM)
2) HRLZM T1,JOB116 ;[1172] STORE IN LH(JOB116) A WH
ILE
2) PUSHJ P,PATOUT ;[1172] WRITE THE PAT.. SYMBOL A
ND MODULE
2) SKIPN SYMFUL ;[1172] ANY ROOM LEFT?
2) PUSHJ P,LSLOOP ;[1172] DO THE WORK
2)
2)
2) ;HERE WHEN THE SYMBOLS HAVE BEEN INSERTED INTO THE IMAGE. UPDAT
E .JBSYM.
2)
2) SKIPE PAG.S1 ;[1172] PAGING?
2) SKIPA T1,JOBPTR ;[1172] YES, JOBDAT'S IN DY
2) MOVE T1,LC.LB ;[1172] NO, IT'S IN LC
2) HRRZ T2,JOB116 ;[1172] NUMBER OF WORD PAIRS WRI
TTEN
2) IMULI T2,-2 ;[1172] WANT -COUNT
2) HRRM T2,JOB116 ;[1172] ADDR,,-LEN
2) MOVSS T2,JOB116 ;[1172] -LEN,,ADDR
2) MOVEM T2,.JBSYM(T1) ;[1172] STORE IN JOBDAT
2) POPJ P, ;[1172] DONE WITH DOLOCS
2)
2)25 ;HERE TO MOVE SYMBOLS TO TOP OF CORE
2) ;IF SORTING PUT SORT BUFFER IN AREA GS
2)
2) ;**;[1172] Move up and change as indicated @ SYMINI JNG
5-Jun-79
2) SYMINI: SKIPL UW.LS ;[1172] IF -1 THEN SYMBOL TABLE
NOT OUTPUT YET
2) JRST RDSYM ;JUST READ IT BACK IN
2) MOVE T1,LSYM ;ADRESS OF LAST SYMBOL STORED +1
2) SUBI T1,1
2) IORI T1,.IPM ;BLOCK BOUND
2) HRL T1,LW.LS ;FORM BLT WORD
2) HRRZM T1,UW.LS ;SIGNAL ALL OF SYMBOLS ON DSK
2) PUSHJ P,LS.OUT## ;AND OUTPUT IT
2) ;FALL INTO RDSYM TO READ IT BACK
2)
2) ;**;[1172] Replace @ RDSYM JNG 5-Jun-79
2) RDSYM: PUSHJ P,FR.CNT## ;[1172] SEE HOW MUCH IS FREE
2) LSH T1,-1 ;[1172] TAKE HALF OF IT FOR LS W
INDOW
2) ANDCMI T1,.IPM ;[1172] KEEP ON A PAGE BOUND
2) CAIGE T1,2*.IPS ;[1172] BUT NEED AT LEAST TWO PA
GES
2) MOVEI T1,2*.IPS ;[1172] SO FORCE AT LEAST THAT M
Digital Equipment Corporation 28-AUG-79 Page 514
PCO Log Report
ANY
2) MOVE T2,LS.AB ;[1172] CALCULATE CURRENT SIZE O
F LS AREA
2) SUB T2,LS.LB ;[1172] LAST - FIRST
2) ADDI T2,1 ;[1172] PLUS 1
2) CAML T2,T1 ;[1172] HAVE LESS THAN WE WANT?
2) JRST RDSYM2 ;[1172] ALREADY BIG ENOUGH
2) SUB T1,T2 ;[1172] HOW MUCH MORE WE NEED
2) MOVEI P1,LS.IX ;[1172] ARRANGE TO GET IT
2) MOVE P2,T1 ;[1172] HOW MUCH TO GET
2) PUSHJ P,LNKCOR## ;[1172] SHUFFLE
2) PUSHJ P,NO.COR## ;[1172] CANNOT HAPPEN
2)
2)
2) ;NOW READ THE LAST PAGE OF SYMBOLS INTO THE FIRST PAGE OF THE LS
AREA.
2) ;LSLOOP WILL QUICKLY FALL OFF THE BOTTOM (READING BACKWARDS), AN
D
2) ;FILL THE ENTIRE WINDOW WITH THE NEXT LOWER PIECE.
2)
2) RDSYM2: MOVE T1,LSYM ;[1172] LAST WORD OF SYMBOLS + 1
2) SUBI T1,1 ;[1172] LAST WORD IN USE
2) ANDCMI T1,.IPM ;[1172] BOTTOM OF NEW WINDOW
2) MOVEM T1,LW.LS ;[1172] SET FOR PAGING ROUTINES
2) ADD T1,LS.AB ;[1172] ADD WINDOW SIZE
2) SUB T1,LS.LB ;[1172] TO GET TOP OF WINDOW
2) MOVEM T1,UW.LS ;[1172] STORE FOR PAGING ROUTINE
S
2) MOVE T1,LSYM ;[1172] FIRST UNUSED WORD AGAIN
2) SUB T1,LW.LS ;[1172] HOW FAR INTO WINDOW IT I
S
2) ADD T1,LS.LB ;[1172] FIX IN MEMORY
2) MOVEM T1,LS.PT ;[1172] SAVE FOR GETSYM
2) HRLZ T1,LW.LS ;[1172] NOW FILL BOTTOM PAGE
2) HRR T1,LW.LS ;[1172] REST WILL BE FILLED BY P
AGSYM
2) IORI T1,.IPM ;[1172] ROUND UP TO TOP OF PAGE
2) PJRST LS.IN## ;[1172] FILL THE WINDOW AND RETU
RN
2)
2)26 ;LNKOV2 FILLS THE LS AREA WITH SYMBOL TRIPLETS, ZEROES THE LC AR
EA,
2) ;AND THEN PUSHJ'S DIRECTLY TO LSLOOP TO CONVERT THE SYMBOLS TO
2) ;RADIX50 AND PUT A RUNTIME SYMBOL TABLE INTO THE LC AREA. IT
2) ;THEN WRITES THE LC AREA TO THE APPROPRIATE PLACE IN THE OVERLAY
FILE.
2) ;
2) ;THIS IS AN INITIALIZATION ROUTINE CALLED BY LNKOV2 TO SET THING
S UP
Digital Equipment Corporation 28-AUG-79 Page 515
PCO Log Report
2) ;BEFORE CALLING LSLOOP.
2)
2) IFN FTOVERLAY,<
2)
2) LSOVX:: MOVX T1,.INFIN ;[1172] DON'T STOP FOR A SYMBOL
LIMIT
2) MOVEM T1,SYMLIM ;[1172] SINCE NOT REALLY LOADING
INTO MEMORY
2) SETZM SYMDEW ;[1172] DON'T NEED ANY WARNING
2) SETZM SYMFUL ;[1172] HAVE LOTS OF ROOM FOR SY
MBOLS
2) SETZM JOB116 ;[1172] LSLOOP AOSES THIS FOR EV
ERY SYMBOL
2) SKIPN LNKNO. ;[1172] IS THIS THE ROOT?
2) PJRST PATOUT ;[1172] YES, WRITE PAT.. AND RET
URN
2) MOVNI T1,2 ;[1172] NO, INIT TTLPTR
2) MOVEM T1,TTLPTR ;[1172] SO FIRST MODULE WILL BE
RIGHT
2) POPJ P, ;[1172] RETURN TO LNKOV2
2) > ;END IFN FTOVERLAY
2)
2)27 ;HERE TO WRITE THE PAT.. SYMBOL AND MODULE TO THE SYMBOL TABLE.
2)
2) PATOUT: MOVE W2,[RADIX50 04,PAT..] ;[1172] NAME
2) MOVE W3,PATLOC ;[1172] VALUE
2) PUSHJ P,SYMOUT ;[1172] WRITE IT OUT
2) JRST [HRLI W3,-2 ;[1172] SYMBOL WON'T FIT, JUST W
RITE NAME
2) SETZM SYMDEW ;[1172] IF IT WILL FIT
2) JRST PATOU2] ;[1172] RE-JOIN COMMON CODE
2) AOS JOB116 ;[1172] A SYMBOL PAIR SUCCESSFUL
LY WRITTEN
2) HRLI W3,-4 ;[1172] FOUR WORDS IN THIS MODUL
E
2) PATOU2: MOVE T1,TAB.PT(R) ;[1172] BEFORE WRITING THE TITLE
,
2) SUB T1,TAB.LB(R) ;[1172] FIGURE OUT WHERE IT GOES
2) ADD T1,LW.S0(R) ;[1172] AS AN OFFSET INTO THE SE
GMENT
2) MOVEM T1,TTLPTR ;[1172] SAVE FOR LTITLE
2) TLZ W2,740000 ;[1172] MAKE 0,PAT.. BE THE TITL
E
2) PUSHJ P,SYMOUT ;[1172] WRITE THE TITLE
2) CAIA ;[1172] OOPS! SEE WHAT WENT WRON
G
2) JRST PATOU4 ;[1172] OK, NOW GO WRITE THE REA
L SYMBOLS
2) SKIPN SYMDEW ;[1172] 4,PAT.. FAILED ABOVE? (D
ON'T USE SYMFUL)
2) JRST [SETZM JOB116 ;[1172] YES, THERE WON'T BE A SY
Digital Equipment Corporation 28-AUG-79 Page 516
PCO Log Report
MBOL TABLE
2) POPJ P,] ;[1172] JUST RETURN
2) SETZM SYMDEW ;[1172] USE OUR RESERVE FOR PAT.
.'S TITLE
2) PUSHJ P,SYMOUT ;[1172] WRITE IT
2) JFCL ;[1172] CAN'T HAPPEN
2) PATOU4: AOS JOB116 ;[1172] ANOTHER SYMBOL WRITTEN
2) POPJ P, ;[1172] DONE
2)
**************
1)25 TXNE W1,PT.SYM ;ONLY WANT REAL SYMBOLS
****
2)28 ;**;[1172] Insert @ LSLOOP+5L JNG 5-Jun-79
2) SKIPE SYMFUL ;[1172] SKIPPING FOR LAST MODULE
NAME?
2) JRST LSLOOP ;[1172] YES, REJECT ALL OTHER RA
NDOM SYMBOLS
2) TXNE W1,PT.SYM ;ONLY WANT REAL SYMBOLS
**************
1)25 POPJ P, ;[715] EXCEEDED SPACE, RETURN
1) SKIPGE LSCNT ;DO WE HAVE SOMETHING TO GIVE BA
CK?
1) PUSHJ P,RDUSYM ;YES, SAFE TO DO SO NOW
1) JRST LSLOOP ;AND BACK FOR MORE
1)
1) LSLUPC: PUSHJ P,SYMOUT ;OUTPUT IT
1) POPJ P, ;[715] EXCEEDED SPACE, RETURN
1) PUSH P,W3 ;SAVE ADDRESS
****
2)28 ;**;[1172] Replace @ LSLUP1+1L JNG 5-Jun-79
2) JRST [SETZM SYMDEW ;[1172] GO INTO FIND MODULE NAME
MODE
2) JRST LSLOOP] ;[1172] START THE HUNT
2) AOS JOB116 ;[1172] ANOTHER SYMBOL STORED
2) JRST LSLOOP ;AND BACK FOR MORE
2)
2) LSLUPC: MOVEI T1,4 ;[1172] NEED FOUR WORDS OR NOTHI
NG
2) MOVEM T1,SYMDEW ;[1172] SO BUMP WARNING LEVEL
2) PUSHJ P,SYMOUT ;OUTPUT IT
2) JRST [SETZM SYMDEW ;[1172] WON'T BOTH FIT
2) JRST LSLOOP] ;[1172] CLOSE OFF TABLE AND STOP
2) AOS JOB116 ;[1172] ANOTHER PAIR OUT
2) MOVEI T1,2 ;[1172] PUT SYMOUT CUTOFF BACK
2) MOVEM T1,SYMDEW ;[1172] NEXT PAIR GUARANTEED TO
FIT
2) PUSH P,W3 ;SAVE ADDRESS
**************
1)26 ;HERE TO GET NEXT SYMBOL BLOCK
Digital Equipment Corporation 28-AUG-79 Page 517
PCO Log Report
****
2)29 ;HERE ON A TITLE IN THE LS AREA.
2)
2) ;**;[1172] Move up and change as indicated JNG 5-Jun-79
2) LTITLE: TXNE W1,PT.PSC ;[1132] JUST A PSECT DEFINITION?
2) JRST LSLOOP ;[1132] YES, DON'T PUT IN SYMBOL
TABLE
2) PUSHJ P,SXBR50 ;CONVERT TO RADIX-50
2) TXNE W1,PT.BLK ;ONLY A FAIL BLOCK HEADER?
2) JRST BTITLE ;YES
2) MOVE T2,TTLPTR ;GET ADDRESS OF LAST PROG
2) HRRZ T1,TAB.PT(R) ;GET THIS ADDRESS
2) SUB T1,TAB.LB(R) ;MINUS OFFSET
2) ADD T1,TAB.LW(R) ;PLUS BASE OF WINDOW
2) MOVEM T1,TTLPTR ;SAVE FOR NEXT
2) SUB T1,T2 ;GET DIFFERENCE
2) MOVN T1,T1 ;NEGATE
2) HRL W3,T1 ;FIXUP POINTER
2) PUSH P,W2 ;SAVE SYMBOLS
2) PUSH P,W3
2) TTLLUP: MOVX T1,S.TTL!S.SEG ;FLAGS
2) PUSHJ P,GETAST ;GET EXTENSION TRIPLET
2) SETZB W2,W3 ;ONLY HERE IF DEFINED BY /SWITCH
2) SKIPE W3 ;IF ANY HIGH SEG STUFF
2) MOVE W2,W3 ;USE IT
2) POP P,W3 ;GET W3 BACK
2) HLR W3,W2 ;FIX IT UP
2) POP P,W2
2) PUSHJ P,SYMOUT ;OUTPUT PSEUDO SYMBOL
2) ;**;[1172] Replace @ TTLLUP+9L JNG 5-Jun-79
2) JRST [SETZM SYMDEW ;[1172] USE THE RESERVE TO STORE
THIS TITLE
2) JRST .-1] ;[1172] TRY AGAIN
2) AOS JOB116 ;[1172] COUNT ANOTHER SYMBOL PAI
R
2) SKIPE SYMFUL ;[1172] WAS THIS OUR LAST TITLE?
2) POPJ P, ;[1172] YES, QUIT, SINCE NO MORE
ROOM
2) JRST LSLOOP ;RETURN
2)
2)
2)
2) BTITLE: SKIPE SYMFUL ;[1172] ROOM FOR THIS?
2) JRST LSLOOP ;[1172] NO, DON'T STORE IT
2) TXO W2,R5.LCL!R5.GLB ;MAKE RADIX50 14,SYM
2) HRRZ W3,W3 ;BLOCK LEVEL ONLY
2) JRST LSLUP1 ;AND TREAT AS LOCAL SYMBOL
2)
2)30 ;HERE TO GET NEXT SYMBOL BLOCK
Digital Equipment Corporation 28-AUG-79 Page 518
PCO Log Report
**************
1)26 MOVNI T1,3
1) ADDB T1,LSCNT ;REDUCE COUNT IN THIS BLOCK
1) JRST CPOPJ1 ;SKIP RETURN
1)
1) ;HERE TO GIVE BACK TOP BLOCK OF SYMBOLS
1) ;CAN ONLY BE DONE IF WE HAVE FINISHED WITH CURRENT SYMBOL
1) ;AND ITS SECONDARY TRIPLETS
1) ;SPECIFICALLY TITLE SECONDARIES MUST NOT BE DELETED UNTIL
1) ;TITLE IS OUTPUT
1)
1) RDUSYM: MOVE T1,LS.PT ;GET LOWEST ADDRESS WE STILL NEE
D
1) IORI T1,.IPM ;FORM BLOCK BOUND
1) MOVE T2,LS.AB ;PREV TOP
1) SUBI T2,(T1) ;LENGTH
1) JUMPE T2,CPOPJ ;JUST IN CASE
1) HRLZ T3,T1 ;FORM BLT PTP
1) HRRI T3,1(T1)
1) SETZM (T1) ;CLEAR FIRST WORD
1) EXCH T1,LS.AB ;SET IT SO
1) BLT T3,(T1)
1) MOVEI T1,.IPS ;RESET COUNT
1) ADDM T2,LSCNT ;RESET WORD COUNT
1) MOVN T2,T2 ;NEGATE IT
1) SKIPE UW.LS ;LEAVE ALONE IF NOT PAGING
1) ADDM T2,UW.LS ;ADJUST UPPER WINDOW
1) POPJ P,
1)
****
2)30 ;**;[1172] Delete @ GETSYM+6L JNG 5-Jun-79
2) JRST CPOPJ1 ;SKIP RETURN
2)
**************
1)27 SKIPE T1,FX.LB ;ANY FIXUPS LEFT
1) SOJA T1,.+2 ;YES, BETTER LEAVE AREA WHERE IT
IS
1) MOVE T1,.JBREL ;MOVE LAST BLOCK TO A SAFE PLACE
1) MOVE T2,T1 ;GET A COPY FOR END OF BLT
1) ANDCMI T1,.IPM ;AT TOP OF CORE
1) CAMG T1,LS.LB ;SAME AREA BLT FROM/TO?
1) JRST PAGSY2 ;YES, DON'T CLEAR IT!
1) MOVEI T3,-1(T1) ;END OF VACATED AREA
1) CAMLE T3,LS.AB ;CLEAR ALL OF IT?
1) MOVE T3,LS.AB ;NO, JUST PART NOT DONE
1) HRL T1,LS.LB ;SO WE HAVE THE HOLE IN THE MIDD
LE
1) BLT T1,(T2) ;GO
1) HRRZ T1,LS.LB ;NOW TO ZERO THE JUNK WE LEFT BE
Digital Equipment Corporation 28-AUG-79 Page 519
PCO Log Report
HIND
1) SETZM (T1) ;FIRST WORD
1) HRL T1,T1
1) ADDI T1,1 ;BLT PTR
1) BLT T1,(T3) ;CLEAR 200 WORDS (USUALLY)
1) PAGSY2: MOVE T1,T2 ;
1) MOVEM T1,LS.UB ;ABSOLUTE NEW TOP
1) MOVEM T1,LS.AB ;NO FREE SPACE (AB SAME)
1) SUB T1,LS.LB ;+DIFF (TOTAL AREA - 1)
1) ANDCMI T1,.IPM ;DON'T COUNT PART IN USE
1) ADDM T1,LS.LB ;FIXUP PTRS
1) ADDM T1,LS.PT
1) MOVEI T1,LS.IX ;ACCOUNT FOR NEW FREE SPACE
1) PUSHJ P,ADJ.L ;BY GIVING IT TO NEXT LOWER AREA
1)
1)28 ;NOW CHECK TO SEE IF AREA IS BIG ENOUGH
1)
1) PAGSY1: PUSHJ P,FR.CNT## ;SEE WHATS FREE
1) LSH T1,-1 ;CUT IN HALF
1) ANDCMI T1,.IPM ;BUT KEEP ON A BLOCK BOUND
1) JUMPE T1,[MOVEI T1,(R) ;AREA
1) MOVEI T2,2*.IPS ;SIZE
1) PUSHJ P,EXPSYM ;INCREASE SYMBOL SIZE
1) MOVNI T1,2*.IPS ;NOW GIVE BACK SPACE
1) ADDM T1,TAB.AB(R)
1) JRST PAGSY1] ;AND TRY AGAIN
1) CAMLE T1,LW.LS ;DO WE NEED ALL OF THIS SPACE
1) MOVE T1,LW.LS ;NO, JUST USE ENOUGH
1) MOVN T1,T1 ;-INCREASE IN SIZE
1) ADDM T1,LS.LB ;ADJUST LOWER BOUND
1) MOVEI T2,LS.IX-1 ;NOW TO FIND NEXT LOWER BOUND
1) SKIPN TAB.LB(T2) ;IN USE
1) SOJA T2,.-1
1) MOVE T3,TAB.AB(T2) ;GET UPPER BOUND OF NEXT LOWER
1) CAML T3,LS.LB ;IS THERE ENOUGH ROOM?
1) AOJA T3,[SPUSH <P1,P2> ;SAVE
1) MOVEI P1,LS.IX ;AREA TO EXPAND
1) MOVM P2,T1 ; AND SIZE
1) ADDM P2,LS.LB ;ADD BACK
1) PUSHJ P,LNKCOR## ;GET THE SPACE
1) PJRST NO.COR## ;SHOULD NEVER OCCUR
1) SPOP <P2,P1> ;RESTORE
1) PJRST PAGSYM] ;GO GET SYMBOLS
1) MOVE T3,LS.LB ;BOTTOM OF THIS AREA
1) SUBI T3,1 ;-1 IS TOP OF NEXT
1) MOVEM T3,TAB.UB(T2) ;TAKE IT ALL (SHUFFLER WILL GET
US OUT OF TROUBLE)
1) ADDM T1,LW.LS ;BACKUP WINDOW
1) HRLZ T1,LW.LS ;FORM INPUT PTR
Digital Equipment Corporation 28-AUG-79 Page 520
PCO Log Report
1) HRR T1,UW.LS ;LOWER ,, UPPER
1) PUSHJ P,LS.IN## ;INPUT AREA
1) JRST CPOPJ1 ;SKIP RETURN
1)
****
2)31 ;**;[1172] Replace @ PAGSYM+3L JNG 5-Jun-79
2) HRLZ T1,LS.LB ;[1172] MOVE FIRST BLOCK OF SYMB
OLS
2) HRR T1,LS.AB ;[1172] UP TO LAST BLOCK OF LS
AREA
2) ANDCMI T1,.IPM ;[1172] NOW HAVE SRC,,DEST
2) BLT T1,@LS.AB ;[1172] MOVE THE DATA
2) MOVE T1,LS.AB ;[1172] CHECK TO SEE IF LAST TIM
E
2) ANDCMI T1,.IPM ;[1172] ACCOUNT FOR PAGE WE KEPT
2) MOVEI T2,.IPM ;[1172] MASK FOR PAGE OFFSET
2) ANDM T2,LS.PT ;[1172] OFFSET TO CURRENT SYMBOL
2) ADDM T1,LS.PT ;[1172] MOVE POINTER TO LAST PAG
E OF AREA
2) SUB T1,LW.LS ;[1172] BOTTOM ADDR IF WE FINISH
ED THIS TIME
2) SUBI T1,1 ;[1172] GET LOCATION BELOW FIRST
USED
2) CAML T1,LS.LB ;[1172] LS AREA TOO BIG (LAST TI
ME)?
2) PUSHJ P,GBCK.L## ;[1172] YES, GET RID OF BOTTOM P
ART
2) MOVE T1,LW.LS ;[1172] GET OLD LOWER WINDOW ADD
RESS
2) IORI T1,.IPM ;[1172] THE END OF THAT PAGE
2) MOVEM T1,UW.LS ;[1172] FORM NEW UPPER WINDOW
2) ADD T1,LS.LB ;[1172] SUBTRACT LENGTH OF AREA
2) SUB T1,LS.AB ;[1172] TO FORM LOWER WINDOW
2) MOVEM T1,LW.LS ;[1172] STORE FOR PAGING ROUTINE
S
2) HRLZ T1,T1 ;[1172] NOW TO READ IN THE DATA
2) HRR T1,UW.LS ;[1172] TRANSFER WORD TO WHOLE A
REA
2) SUBI T1,.IPS ;[1172] BUT WE ALREADY HAVE LAST
PAGE
2) PUSHJ P,LS.IN ;[1172] FILL UP THE AREA
2) JRST CPOPJ1 ;[1172] SKIP RETURN
2)
**************
1)30 SYMOUT: AOS T1,TAB.PT(R) ;SEE IF ENOUGH TO STORE 2 WORDS
1) SKIPG T2,SYMLIM ;[715] IS IT LIMITED BY NEXT PSE
CT?
1) JRST SYMO4 ;[715] NO,
1) PUSH P,T1 ;[715] YES, SAV T1
1) SUB T1,LC.LB ;[715] MINUS WINDOW
1) ADD T1,LW.LC ;[715] CONVERT TO VIRTUAL ADDR
Digital Equipment Corporation 28-AUG-79 Page 521
PCO Log Report
1) CAMGE T1,SYMLIM ;[715] EXCEEDED THE LIMIT
1) JRST [POP P,T1 ;[715] RESTURE T1
1) JRST SYMO4] ;[715] AND RETURN
1) SKIPN SSGNAM ;[727] HAVE A NAME TO OUTPUT?
1) JRST SYMOE1 ;[727] NO, JUMP OVER OUTPUTTING
NAME
1) .ERR. (MS,.EC,V%L,L%W,S%W,ISS,<Insufficient space for
symbol table>)
****
2)33 ;**;[1172] Move up @ SXBR50 JNG 5-Jun-79
2) ;SXBR50 -- SUBROUTINE TO CONVERT SIXBIT TO RADIX-50
2) ;CALLED BY
2) ; MOVE W2,SIXBIT WORD
2) ; PUSHJ P,SXBR50
2) ;RETURN
2) ; RADIX-50 IN W2
2) ;USES T1, T2
2)
2) SXBR50: MOVE T2,W2 ;GET SIXBIT SYMBOL
2) SETZ W2, ;WHERE TO STORE RADIX50 SYMBOL
2) SETZ T1, ;CLEAR RECEIVING ACC
2) LSHC T1,6 ;GET NEXT CHAR
2) IMULI W2,50 ;MULTIPLE BY 50
2) ADD W2,SXBTAB(T1) ;ADD IN NEW CHAR
2) JUMPN T2,.-4 ;NOT DONE YET
2) POPJ P,
2)
2) DEFINE SXBCHR (CHR)<
2) IRPC CHR,<
2) RADIX50 0,CHR
2) >>
2)
2) XALL
2) SXBTAB: SXBCHR ( $% . 0123456789 ABCDEFGHIJKLMNO
PQRSTUVWXYZ )
2) SALL
2)
2)34 ;HERE TO WRITE THE RADIX-50 SYMBOL IN W2/W3 TO THE IMAGE.
2) ;RETURNS NON-SKIP, MESSAGE PRINTED, IF SYMBOL WON'T FIT BELOW SY
MLIM.
2) ;SYMBOL WON'T FIT IF IT IS WITHIN C(SYMDEW) WORDS OF PASSING SYM
LIM.
2)
2) ;**;[1172] Replace @ SYMOUT JNG 5-Jun-79
2) SYMOUT: MOVE T1,TAB.PT(R) ;[1172] ADDRESS TO STORE INTO NE
XT
2) AOS T2,T1 ;[1172] LAST ADDRESS THIS SYMBOL
WILL USE
2) SUB T2,TAB.LB(R) ;[1172] CONVERT TO OFFSET IN SEG
Digital Equipment Corporation 28-AUG-79 Page 522
PCO Log Report
MENT
2) ADD T2,TAB.LW(R) ;[1172] (USUALLY SAME AS VIRTUAL
ADDRESS)
2) ADD T2,LL.S0(R) ;[1172] MAKE SURE IT'S A VIRTUAL
ADDRESS
2) ADD T2,SYMDEW ;[1172] RESPECT DISTANT EARLY WA
RNING FACTOR
2) CAMG T2,SYMLIM ;[1172] WOULD WE STORE BEYOND LE
GAL BOUNDS?
2) JRST SYMOU2 ;[1172] NO, CONTINUE
2) SKIPE SYMFUL ;[1172] ALREADY ISSUED A MESSAGE
?
2) POPJ P, ;[1172] YES, DONT SAY IT AGAIN
2) SETOM SYMFUL ;[1172] REMEMBER FOR NEXT TIME &
CALLERS
2) .ERR. (MS,.EC,V%L,L%W,S%W,ISS,<Insufficient space for
symbol table>)
**************
1)30 JRST SYMOE2 ;[727]
1) SYMOE1: .ERR. (MS,.EC,V%L,L%W,S%W,ISS)
1) .ETC. (STR,,,,,,<--table truncated>)
1) SYMOE2: SOS TAB.PT(R) ;[727] DECREMENT ONE
1) POP P,T1 ;[715]
1) POPJ P, ;[715] ERROR RETURN
1) SYMO4: CAMG T1,TAB.AB(R)
1) JRST SYMO1 ;YES
1) ;SEE IF WE CAN JUST EXPAND
1) CAML T1,TAB.UB(R) ;INTO FREE SPACE?
1) JRST SYMO2 ;NO, EXPAND OR WRITE PAGE OUT
1) MOVEI T2,.IPS ;PAGE SIZE
1) ADDM T2,TAB.AB(R) ;ACCOUNT FOR IT
1) SKIPE UW.S0(R) ;IF PAGING THIS SEGMENT
1) ADDM T2,UW.S0(R) ;INCREASE WINDOW
1) ;FALL INTO SYMO1
1)
1) SYMO1: AOS T1,TAB.PT(R) ;POINT TO NEXT FREE
1) DMOVEM W2,-2(T1) ;STORE SYMBOL & VALUE
1) IFN FTOVERLAY,<
****
2)34 ;**;[1172] Replace @ SYMOE1-1L JNG 5-Jun-79
2) POPJ P, ;[1172] ERROR RETURN
2)
2)35 ;HERE IF NOT PAST SYMLIM. CHECK TO SEE IF THE AREA/WINDOW IS BI
G ENOUGH.
2)
2) SYMOU2: CAMG T1,TAB.AB(R) ;[1172] STILL ROOM IN THE AREA?
2) AOJA T1,SYMOU8 ;[1172] YES, GO STORE THE SYMBOL
2) SETOM LS.PP ;[1172] DON'T SHRINK THE LS AREA
2) MOVE P1,R ;[1172] SEGMENT TO EXPAND
Digital Equipment Corporation 28-AUG-79 Page 523
PCO Log Report
2) MOVEI P2,.IPS ;[1172] BY ONE PAGE
2) PUSHJ P,LNKCOR## ;[1172] EXPAND
2) PUSHJ P,NO.COR## ;[1172] SHOULD NEVER GET HERE
2) SETZM LS.PP ;[1172] RESTORE
2)
2) IFN FTOVERLAY,<
2) SKIPL LNKMAX ;[1172] LSLOOP CALLED FROM LNKOV
2?
2) SKIPN PAG.S0(R) ;[1172] AND LNKCOR STARTED AREA
PAGING?
2) CAIA ;[1172] NO
2) PUSHJ P,NO.COR## ;[1172] YES, LNKOV2 CAN'T HANDLE
THAT
2) > ;END IFN FTOVERLAY
2)
2) PUSHJ P,CHKPAG ;[1172] FIX JOBDAT IF JUST START
ED PAGING
2) SKIPN TAB.PG(R) ;[1172] AREA NOW PAGING?
2) JRST SYMOUT ;[1172] NO, GO TRY AGAIN
2) MOVE T1,LW.S0(R) ;[1172] YES, MUST UPDATE UW
2) ADD T1,TAB.AB(R) ;[1172] LNKCOR SOMETIMES DOES
2) SUB T1,TAB.LB(R) ;[1172] BUT SOMETIMES IT DOESN'T
2) MOVEM T1,UW.S0(R) ;[1172] SO MAKE SURE IT'S RIGHT
2) ANDCMI T1,.IPM ;[1172] FIRST ADDRESS IN PAGE WE
JUST ADDED
2) CAML T1,HC.S0(R) ;[1172] ANY DATA FURTHER ON IN O
VERFLOW FILE?
2) JRST SYMOUT ;[1172] NO, JUST LEAVE NEW PAGE
ZERO
2) HRLZ T1,T1 ;[1172] YES, MUST FILL IN NEW PA
GE
2) HRR T1,UW.S0(R) ;[1172] OTHERWISE WE LOSE DATA
2) PUSHJ P,@TB.IN(R) ;[1172] DO THE I/O
2) JRST SYMOUT ;[1172] AND TRY AGAIN
2)
2)
2) ;HERE WHEN ALL IS OK TO STORE THE NEW SYMBOL.
2)
2) SYMOU8: DMOVEM W2,-2(T1) ;[1172] DO THE STORE
2) MOVEM T1,TAB.PT(R) ;[1172] UPDATE THE PT FOR NEXT T
IME
2)
2) IFN FTOVERLAY,<
**************
1)30 POPJ P,
1)
1) ;HERE WHEN NOT ENOUGH ROOM
1) SYMO2: SKIPE PAG.S0(R) ;PAGING?
1) JRST SYMO3 ;YES, NOT WORTH EXPANDING, JUST
Digital Equipment Corporation 28-AUG-79 Page 524
PCO Log Report
OUTPUT IT
1) MOVE T1,R ;EITHER LC.IX OR HC.IX
1) MOVEI T2,.IPS ;EXPAND THIS MUCH
1) PUSHJ P,EXPSYM ;GET SPACE
1) JRST SYMO1 ;AND STORE
1)
1)31 ;SUBROUTINE TO EXPAND CORE, BUT NOT TO PAGE SYMBOLS
1) ;USUALLY CALLED TO CAUSE OTHER AREA TO START PAGING
1) ;CALLED BY
1) ; MOVEI T1,AREA
1) ; MOVEI T2,SIZE
1) ; PUSHJ P,EXPSYM
1)
1) EXPSYM: PUSHJ P,.SAVE2## ;USES P1, P2
1) SETOM LS.PP ;PROHIBIT PAGING OF SYMBOLS
1) DMOVE P1,T1 ;GET ARGS
1) PUSHJ P,LNKCOR## ;MUST BE ABLE TO GET IT
1) JRST NO.COR## ;SHOULD NEVER HAPPEN
1)
1)
****
2)35 ;**;[1172] Delete @ SYMOU2-3L JNG 5-Jun-79
2)
2)36 ;**;[1172] Move up OLDSYM, SAVSYM, WRTSYM, JOBSET, and HJBSET
JNG 5-Jun-79
2) ;HERE FOR OLD FORM SYMBOLS (RADIX-50)
2) ;IF IN CORE WRITE THEM OUT WITH THREE INFORMATION WORDS AT FRONT
2) ;HEADER, .JBSYM (116) AND .JBUSY (117)
2) ;HEADER IS 776(TYPE) ,, LENGTH
2) ;OTHER TWO WORDS ARE RELATIVE TO ZERO
2) ;.JBSYM MUST HAVE A NEGATIVE LEFT HALF
2) ;.JBUSY IS ZERO IF NO UNDEFINED SYMBOLS
2)
2) OLDSYM: MOVEI T1,MC ;USE MAP CHAN INCASE PAGING LC
2) MOVEM T1,IO.CHN
2) MOVE T1,IO.PTR+%SC ;POINT TO CORRECT DATA
2) MOVEM T1,IO.PTR+MC
2) PUSHJ P,DVCHN.##
2) MOVSI T2,(Z MC,) ;RESET CHAN #
2) MOVEM T2,I.CHN(T1) ;SINCE %SC IS THERE CURRENTLY
2) HLRO T2,JOB116 ;NUMBER OF SYMBOLS
2) MOVM T2,T2
2) LSH T2,-.DBS2W ;[650] INTO BLOCKS (ASSUME FEW U
NDEFS)
2) MOVEM T2,I.EST(T1)
2) MOVE T2,VERNUM ;GET VERSION OF CORE IMAGE
2) SKIPN I.VER(T1) ;SKIP IF SET BY SWITCH
2) MOVEM T2,I.VER(T1) ;NO, SO SET IT
2) PUSHJ P,DVNAM.## ;MAKE SURE NAME SETUP
2) PUSHJ P,DVOPN.## ;INIT DEV
2) PUSHJ P,DVENT.## ;DO ENTER
Digital Equipment Corporation 28-AUG-79 Page 525
PCO Log Report
2) ;NOW TO STORE THREE INFO WORDS
2) HLRE T1,JOB116 ;NO. OF DEFINED SYMBOLS
2) HLRE T2,JOB117 ;NO. OF UNDEFS
2) MOVM T1,T1 ;+
2) MOVM T2,T2
2) ADDI T2,2(T1) ;PLUS TWO EXTRA WORDS
2) HRLI T2,776 ;BLOCK TYPE FOR LINK
2) SKIPN T1,JOB117 ;.JBUSY IF NON-ZERO
2) MOVE T1,JOB116 ;OTHERWISE .JBSYM
2) HRRZ T1,T1 ;REMOVE NEG LEFT HALF
2) SUB T1,LL.S0(R) ;REMOVE ORIGIN
2) SUB T1,LW.S0(R) ;INCASE PAGING
2) ADD T1,TAB.LB(R) ;FIX IN CORE
2)
2)37 ;NOW PUT HEADER WORDS IN CORE IMAGE SO WE CAN DUMP IT ALL WITH
2) ;ONE IOWD. PUSH REAL CONTENTS OF THOSE LOCATIONS (USUALLY 0) FIR
ST,
2) ;THEN RESTORE THEM LATER
2)
2) SUBI T1,3 ;BACKUP 3
2) PUSH P,0(T1) ;SAVE WORDS INCASE NOT ZERO
2) PUSH P,1(T1)
2) PUSH P,2(T1)
2) MOVEM T2,0(T1) ;SAVE HEADER
2) HLLZ T2,JOB117 ;COPY INFO WORDS
2) MOVEM T2,2(T1) ;TO NEXT 2 LOCS
2) HLRE T2,T2 ;GET - LENGTH (OR 0)
2) MOVM T2,T2 ;+
2) HLL T2,JOB116 ;-LENGTH,,OFFSET
2) MOVEM T2,1(T1) ;FIRST INFO WORD
2) HLRE T2,JOB116 ;FIND TOTAL LENGTH TO OUTPUT
2) HLRE T3,JOB117 ;.JBSYM+.JBUSY
2) ADD T2,T3
2) SUBI T2,3 ;+3 INFO WORDS
2) HRLZ T2,T2 ;-LENGTH
2) HRRI T2,-1(T1) ;IOWD LENGTH,ADDRESS
2) SETZ T3, ;TERMINATE
2) OUT MC,T2 ;DUMP IT
2) JRST [POP P,2(T1) ;RESTORE DATA
2) POP P,1(T1)
2) POP P,0(T1)
2) PJRST DVRLS.##] ;CLOSE FILE
2) POP P,2(T1) ;RESTORE DATA
2) POP P,1(T1)
2) POP P,0(T1)
2) PUSH P,[MC]
2) .ERR. (ST,,V%L,L%W,S%W,OES,<Output error on symbol fil
e, file closed, job continuing>)
2) POPJ P,
Digital Equipment Corporation 28-AUG-79 Page 526
PCO Log Report
2)
2)
2)38 ;HERE TO SAVE NEW FORM SYMBOL TABLE
2) ;IF ALL IN CORE JUST OPEN AND WRITE OUT
2) ;IF ON DSK EITHER RENAME OR COPY THEM
2)
2) SAVSYM: PUSHJ P,.SAVE1## ;NEED AN AC
2) CAIN T1,1 ;SIXBIT SYM FILE WANTED?
2) MOVEI P1,LS.IX ;YES, STORED IN LS AREA
2) CAIN T1,2 ;HOW ABOUT ALGOL .SYM FILE?
2) MOVEI P1,AS.IX ;YES, USE AS AREA INSTEAD
2) SKIPN TAB.UW(P1) ;PAGING?
2) JRST WRTSYM ;NO
2) MOVE T1,TAB.AB(P1) ;MAKE SURE UW.XX IS OK
2) SUB T1,TAB.LB(P1) ;MIGHT BE -1 IF LS AREA
2) ADD T1,TAB.LW(P1) ;NOW HAVE HIGHEST LOC IN CORE
2) MOVEM T1,TAB.UW(P1) ;UPDATE UW.XX
2) SETCM T1,TAB.LB(P1) ;ALSO MAKE SURE DISK FILE IS OK
2) ADD T1,TAB.PT(P1) ;IN CASE NEVER OUTPUT BEFORE
2) JUMPE T1,.+4 ;FORGET IT IF NOTHING TO OUTPUT
2) ADD T1,TAB.LW(P1) ;NOTE WE'RE GETTING EXACT WORD C
NT
2) HRL T1,TAB.LW(P1) ;ALGOL 7 NEEDS .RBSIZ EXACT
2) PUSHJ P,@TB.OUT##(P1) ;SO USE XX.PT INSTEAD OF XX.AB
2) MOVE T1,TAB.AB(P1) ;NOW READ IN FRONT OF FILE
2) SUB T1,TAB.LB(P1) ;SO CAN SET UP 10??,,COUNT
2) SETZM TAB.LW(P1) ;?W.?S MUST BE UP TO DATE
2) MOVEM T1,TAB.UW(P1) ;FOR FOLLOWING CALL
2) PUSHJ P,@TB.IN##(P1) ;AS FIRST WORD OF FILE
2) CAIE P1,AS.IX ;ALGOL?
2) JRST SAVSY0 ;NO, DO IT FOR LS AREA
2) MOVE T2,ASYM ;YES, GET SYMBOL COUNT
2) HRLI T2,1044 ;AND BLOCK TYPE
2) JRST SAVSY1 ;AND CONTINUE
2) SAVSY0: MOVE T2,LSYM ;COUNT FOR LS AREA
2) HRLI T2,1700 ;AND BLOCK TYPE
2) SAVSY1: SUBI T2,1 ;WORDS FOLLOWING IS 1 LESS
2) MOVEM T2,@TAB.LB(P1) ;STORE COUNT WORD
2) PUSHJ P,@TB.OUT##(P1) ;AND UPDATE FILE
2) MOVEI T1,SC ;FROM CHAN#
2) CAIN P1,AS.IX ;UNLESS AS AREA
2) MOVEI T1,AC ;IN WHICH CASE ALGOL CHANNEL
2) MOVE T2,IO.PTR+%SC ;TO CHANNEL
2) PUSHJ P,DVPRO. ;GET PROTECTION RIGHT
2) MOVEI T2,%SC ;TO CHAN#
2) MOVE T3,IO.PTR+%SC ;GET POINTER TO NEW FILE
2) MOVE T4,VERNUM ;GET VERSION OF PROGRAM
2) SKIPN I.VER(T3) ;UNLESS ALREADY SET BY SWITCH...
2) MOVEM T4,I.VER(T3) ;SAVE FOR ENTER
Digital Equipment Corporation 28-AUG-79 Page 527
PCO Log Report
2) PJRST DVMOV. ;GO COPY PAGED FILE TO SYMBOL FI
LE
2)
2)39 WRTSYM: MOVEI T1,DC ;USE THIS CHAN
2) MOVEM T1,IO.CHN
2) MOVE T1,IO.PTR+%SC ;HIDE DATA BLOCK HERE
2) MOVEM T1,IO.PTR+DC ;NOW BRING IT FORTH
2) PUSHJ P,DVCHN.## ;PUT ADDRESS OF BLOCK IN T1
2) MOVSI T2,(Z DC,) ;RESET CHAN # IN AC FIELD
2) MOVEM T2,I.CHN(T1) ;SINCE %SC IS THERE CURRENTLY
2) CAIE P1,AS.IX ;ALGOL?
2) JRST WRTSY0 ;NO, SETUP 1ST WORD FOR LS
2) MOVE T3,ASYM ;YES, SETUP COUNT WORD
2) HRLI T3,1044 ;AND BLOCK TYPE
2) JRST WRTSY1 ;CONTINUE
2) WRTSY0: MOVE T3,LSYM ;LS AREA COUNT
2) HRLI T3,1700 ;BLOCK TYPE FOR TRIPLET SYMBOLS
2) WRTSY1: HRRZ T2,T3 ;SAVE COUNT FOR ESTIMATE
2) SUBI T3,1 ;WORDS FOLLOWING IS 1 LESS
2) MOVEM T3,@TAB.LB(P1) ;SAVE WORD COUNT IN AREA
2) LSH T2,-.DBS2W ;[650] INTO BLOCKS
2) MOVEM T2,I.EST(T1) ;WE NEED THIS MUCH
2) MOVE T2,VERNUM ;GET VERSION OF CORE IMAGE
2) SKIPN I.VER(T1) ;SKIP IF SET BY SWITCH
2) MOVEM T2,I.VER(T1) ;NO, SO SET IT
2) PUSHJ P,DVNAM.## ;MAKE SURE NAME IS SET UP
2) PUSHJ P,DVOPN.## ;INIT DEVICE
2) PUSHJ P,DVENT.## ;ENTER FILE
2) ;NOW FOR OUTPUT
2) WRTSY2: MOVE T1,TAB.LB(P1) ;GET BOTTOM ADDR IN CORE
2) SUB T1,TAB.PT(P1) ;-LENGTH
2) HRLZ T1,T1 ;-LENGTH,,0
2) HRR T1,TAB.LB(P1) ;FIRST ADDR OF BUFFER
2) HRRI T1,-1(T1) ;-LENGTH,,ADDR-1
2) SETZ T2,
2) OUT DC,T1 ;OUTPUT IT
2) PJRST DVRLS.## ;PAGING NO LONGER HANDLED HERE
2) PUSH P,[DC]
2) .ERR. (ST,,V%L,L%W,S%W,OES)
2) POPJ P,
2)
2)40 ;HERE TO SET UP THE REST OF THE JOBDAT AREA. ENTER WITH P1 POINT
ING TO JOBDAT
2) ;AREA AND P2 TO VESTIGIAL JOBDAT (0 IF NO HIGH SEGMENT).
2)
2) JOBSET: SKIPE T2,HC.S1 ;GET HIGHEST DATA LOCATION LOADE
D
2) SUBI T2,1 ;MAKE IT HIGHEST LOC LOADED
2) IFN FTOVERLAY,<
Digital Equipment Corporation 28-AUG-79 Page 528
PCO Log Report
2) SKIPL LNKMAX ;LOADED ANY OVERLAYS?
2) SKIPN T1,JOB116 ;AND SAVED SYMBOLS?
2) JRST .+4 ;NO
2) HLRE T2,T1 ;-LENGTH
2) MOVM T2,T2
2) ADDI T2,-1(T1) ;HIGHEST LOCATION
2) >
2) HRLZM T2,.JBCOR(P1) ;PUT HIGHEST LOC IN LEFT HALF
2) HRRZ T2,HL.S1 ;GET HIGHEST LOC REQUIRED
2) HRL T2,STADDR ;GET STARTING ADDRESS
2) MOVSM T2,.JBSA(P1) ;SET .JBSA AND .JBFF
2) HRRZM T2,.JBFF(P1) ;INCASE RESET NOT DONE FIRST
2) IOR. T2,.PGSIZ ;INCLUDE ALL OF THIS PAGE
2) HRRZM T2,.JBREL(P1) ;SET .JBREL
2) MOVSI T2,(HALT) ;PUT A HALT IN .JB41
2) SKIPN .JB41(P1) ;UNLESS ALREADY SETUP
2) MOVEM T2,.JB41(P1)
2) MOVE T2,.JBSYM(P1) ;GET SYMBOL TABLE POINTER
2) HRRZ T1,T2 ;GET POINTER
2) JUMPE P2,JOBST0 ;NO HIGH SEG POSSIBLE
2) CAML T1,LL.S2 ;SEE IF IN HIGH SEG
2) MOVEM T2,.JBHSM(P2) ;STORE IN HIGH SEG DATA AREA
2) SKIPE T1,HL.S2 ;GET HIGHEST LOC +1
2) SUBI T1,1 ;HIGHEST LEGAL ADDRESS
2) ADD T1,LL.S2 ;PLUS ORIGIN
2) IOR. T1,.PGSIZ ;PUT ON PAGE BOUND
2) SKIPN T2,HL.S2 ;[650] LENGTH TO SAVE
2) JRST JOBST1 ;[650] NONE?
2) SKIPN .JBDDT##(P1) ;[650] DDT LOADED?
2) JRST JOBST1 ;[650] NO, NUMBER IS OK
2) SUBI T2,1 ;[650] YES, BE LIKE MONITOR
2) IOR. T2,.PGSIZ ;[650] ROUND UP TO TOP OF PAGE
2) ADDI T2,1 ;[650] THENCE TO BOTTOM OF NEXT
2) JOBST1: HRL T1,T2 ;[650] LENGTH TO SAVE,,HIGHEST A
DDR
2) MOVEM T1,.JBHRL(P1) ;LENGTH,,HIGHEST ADDRESS
2) JOBST0: MOVE T1,.JBERR ;GET NO OF PREVIOUS ERRORS
2) MOVEM T1,.JBERR(P1) ;COUNT AS EXECUTION ERRORS
2) MOVEM T1,ERRNO ;PROHIBIT EXECUTION IF NON-ZERO
2) ;**;[1144] Replace @JOBST0+3L DZN 16-Feb-79
2)
2) ; ..
2)
2)41 ; ..
2)
2) ;COMPUTE ADDRESS AT WHICH TO START PROGRAM. IF A DEBUGGER IS LOA
DED, THIS IS NOT
2) ;NECESSARILY THE MAIN PROGRAM'S START ADDRESS, BUT DEPENDS ON TH
E DEBUGGER.
Digital Equipment Corporation 28-AUG-79 Page 529
PCO Log Report
2)
2) SETZ T1, ;[1144] ASSUME WE DON'T START PR
OGRAM
2) SKIPE EXECSW ;GO INTO EXECUTION?
2) MOVE T1,STADDR ;YES, ASSUME .JBSA
2) HRRZ T2,DEBUGSW ;[1144] IF DEBUGGING, DEBUGGER'S
START ADDRESS
2) SKIPGE DEBUGSW ;[1144] TAKES PRIORITY SO
2) MOVE T1,@STLOCN(T2) ;[1144] FIND IT
2) HRRM T1,EXECSW ;IN ANY CASE STORE BACK IN EXECS
W
2) POPJ P,
2)
2)42 ;TABLE OF WHERE TO START FOR EACH DEBUGGER.
2)
2) DEFINE KEYMAC(A,B)<
2) XALL ;;[1144] GIVE A GOOD LIS
TING
2) IFIDN <A><DEB>,< ;;[1144] SELECT ONLY DEB
UGGING KEYWORDS
2) %%1==-1 ;;[1144] SKIP DUMMY ENTR
Y
2) IRP B,< ;;[1144] CHECK EACH KEYW
ORD
2) IFGE %%1,< ;;[1144] THAT IS NOT T
HE DUMMY
2) IFN <%%1&1>,< ;;[1144] AND IS A DEGU
GGER NAME
2) %%2==0 ;;[1144] ASSUME WE WON'T
FIND A DEBUGGER
2) IFN TOPS20,< ;;[1144] TOPS-20 UDDT IS
SPECIAL
2) IFIDN <B><DDT>,< ;;[1144] CHECK FOR DDT D
EBUGGER
2) [770000] ;UDDT STARTS AT 770000
2) %%2==1 ;;[1144] REMEMBER WE FOU
ND A DEBUGGER
2) >
2) >
2) IFIDN <B><FORDDT>,< ;;[1144] FORDDT IS SPECI
AL
2) STADDR ;FORDDT FORCES START ADDRESS TO
ITSELF
2) %%2==1 ;;[1144] REMEMBER WE FOU
ND A DEBUGGER
2) >
2) IFIDN <B><COBDDT>,< ;;[1144] COBDDT IS SPECI
AL
2) STADDR ;COBDDT GETS CONTROL FROM COBOL
PROGRAM
2) %%2==1 ;;[1144] REMEMBER WE FOU
Digital Equipment Corporation 28-AUG-79 Page 530
PCO Log Report
ND A DEBUGGER
2) >
2) IFE %%2,< ;;[1144] IF IT WASN'T AB
OVE DEBUGGERS
2) .JBDDT(P1) ;OTHER DEBUGGERS SET .JBDDT
2) >
2) >
2) >
2) %%1==%%1+1 ;;[1144] ADVANCE TO NEXT
ENTRY
2) >
2) >
2) PURGE %%1,%%2 ;;[1144] CLEAN UP AFTERW
ARD
2) SALL ;;[1144] ..
2) >
2)
2) STLOCN: KEYWORDS
2)
2)43 ;HERE TO SETUP REST OF VESTIGIAL JOBDAT AREA
2) ;ENTER WITH P1 POINTING TO JOBDAT AREA
2)
2) HJBSET: JUMPE P2,CPOPJ ;DON'T NEED TO DO THIS IF NO HIG
H SEG
2) HRRZ T1,HL.S2 ;GET HIGHEST HIGH SEG LOCATION+1
2) SKIPE .JBDDT(P1) ;IF DDT LOADED
2) SOJA T1,[IOR. T1,.PGSIZ ;INCLUDE ALL OF THIS PAG
E
2) AOJA T1,.+1] ;IN LENGTH
2) HRL T1,.JBREN(P1) ;GET .JBREN
2) MOVSM T1,JOBHRN(P2) ;SET BOTH HALVES OF JOBHRN
2) MOVE T1,.JBSA(P1) ;PUT .JBSA
2) MOVEM T1,JOBHSA(P2) ;IN HIGH SEG
2) MOVE T1,.JB41(P1)
2) MOVEM T1,JOBH41(P2)
2) MOVS T1,.JBCOR(P1)
2) SKIPN .JBDDT(P1) ;TEST FOR RARE CASE OF DDT, SYMB
OLS AND CODE
2) JRST .+3 ; ALL IN HIGH SEGMENT
2) TRNN T1,-140 ;TRUE IF HIGHEST LOC IS 137 OR L
ESS
2) ADDI T1,1 ;IF SO MAKE IT 140 IN HIGH SEG
2) MOVSM T1,.JBHCR(P2) ; SO WE LOAD LOW
2) MOVE T1,.JBVER(P1)
2) MOVEM T1,.JBHVR(P2)
2) SKIPE T1,RUNAME ;GET PROGNAM
2) JRST .+3 ;SET
2) SKIPN T1,SSNAME ;IF NOT TRY SAVE FILE NAME
2) MOVE T1,LODNAM ;USE DEFAULT IF NOT SET
Digital Equipment Corporation 28-AUG-79 Page 531
PCO Log Report
2) MOVEM T1,.JBHNM(P2) ;INTO HIGH SEG
2) MOVE T1,HL.S1 ;HIGHEST LOC +1 IN LOW SEG
2) SUBI T1,1
2) IOR. T1,.PGSIZ ;ROUND UP TO PAGE BOUNDARY
2) ADDI T1,1 ;NEXT PAGE
2) CAMGE T1,LL.S2 ;GREATER THAN HI-ORG?
2) MOVE T1,LL.S2 ;NO
2) LSH T1,-9 ;PAGE #
2) HRLZM T1,JOBHSO(P2) ;STORE IN HIGH
2) HRRZM T1,.JBHSO(P1) ;AND STORE
2) POPJ P,
2)
**************
1)31 CAIA
1) PUSHJ P,RDJBH ;SET UP JOBDAT IN HIGH
1) SETZM LS.PP ;BACK AS BEFORE
1) POPJ P,
1)
1)32 ;HERE WHEN WE HAVE TO OUTPUT CORE
1) ;THERE IS NO NEED TO KEEP ANY OF IT SO OUTPUT IT ALL
1)
1) SYMO3: AOS T1,TAB.PT(R) ;POINT TO NEXT FREE
1) TRNE T1,1 ;SEE IF 1 FREE LOC
1) MOVEM W2,-2(T1) ;YES, OUTPUT HALF OF SYMBOL
1) HRLZ T1,LW.S0(R) ;OUTPUT ALL OF WINDOW
1) HRR T1,UW.S0(R)
1) PUSHJ P,@[EXP LC.OUT##,HC.OUT##]-1(R) ;GO TO CORRECT R
OUTINE
1) SKIPGE SYMFRM ;NEED OLD SYMBOLS (RADIX50)
1) PUSHJ P,OLDSYM ;YES
1) HRRZ T1,TAB.LB(R) ;NOW TO CLEAR JUNK
1) HRLI T1,(T1)
1) ADDI T1,1 ;LOW,,LOW+1
1) SETZM -1(T1)
1) BLT T1,@TAB.AB(R) ;TO HIGH
1) MOVE T1,UW.S0(R) ;PREVIOUS HIGH WINDOW
1) ADDI T1,1 ;NEW LOW
1) MOVEM T1,LW.S0(R)
1) IORI T1,.IPM ;NEW HIGH IS END OF PAGE
1) MOVEM T1,UW.S0(R)
1) MOVE T1,TAB.PT(R) ;GET POINTER (JUST BEYOND END OF
CORE)
1) ANDI T1,.IPM ;SO JUST KEEP OFFSET IN THIS PAG
E
1) IOR T1,TAB.LB(R) ;ADD IN BASE
1) MOVEM T1,TAB.PT(R) ;AND STORE
1) TRNN T1,1 ;DID WE STORE 1 WORD BEFORE?
1) MOVEM W2,-2(T1) ;NO, DO SO NOW
1) MOVEM W3,-1(T1)
Digital Equipment Corporation 28-AUG-79 Page 532
PCO Log Report
1) IORI T1,.IPM ;LAST ADDRESS IN BLOCK
1) MOVEM T1,TAB.AB(R) ;NOW WINDOWS MATCH
1) JRST CPOPJ1 ;[715] SKIP RETURN
1)
****
2)44 ;**;[1172] Replace @ CHKPAG+6L JNG 5-Jun-79
2) POPJ P, ;[1172] DONE
2) PUSHJ P,RDJBH ;SET UP JOBDAT IN HIGH
2) POPJ P,
2)
**************
1)33 ;HERE TO MOVE SYMBOLS TO TOP OF CORE
1) ;IF SORTING PUT SORT BUFFER IN AREA GS
1)
1) SYMINI: SKIPE FX.LB ;ANY FIXUPS LEFT?
1) PUSHJ P,MOVFX ;YES, MUST MOVE THEM UP
1) SKIPN UW.LS ;IF LOCAL SYMBOLS ON DSK?
1) PJRST MOVSYM ;NO, JUST MOVE UP
1) ; PJRST LKPSYM ;READ BACK INTO CORE
1)
1) ;HERE TO WRITE OUT END OF SYMBOL TABLE AND SET IT UP FOR SORTING
1) LKPSYM: SKIPL UW.LS ;IF -1 THEN SYMBOL TABLE NOT OUT
PUT YET
1) JRST RDSYM ;JUST READ IT BACK IN
1) MOVE T1,LSYM ;ADRESS OF LAST SYMBOL STORED +1
1) SUBI T1,1
1) IORI T1,.IPM ;BLOCK BOUND
1) HRL T1,LW.LS ;FORM BLT WORD
1) HRRZM T1,UW.LS ;SIGNAL ALL OF SYMBOLS ON DSK
1) PUSHJ P,LS.OUT## ;AND OUTPUT IT
1) ;FALL INTO RDSYM TO READ IT BACK
1)
1)
1) RDSYM: PUSHJ P,MOVSYM ;MOVE WHAT WE HAVE UP IN CORE
1) ;AT THIS POINT THERE IS NO NEED
TO READ
1) ;MORE SYMBOLS, THAT WILL HAPPEN
NEXT TIME ANYWAY
1) ;UNLESS WE ONLY HAVE ONE BLOCK I
N CORE
1) ;THIS CASES PROBLEMS SO READ IN
MORE
1) MOVE T1,UW.LS ;UPPER LIMIT
1) ANDCMI T1,.IPM ;START OF THIS PAGE
1) CAME T1,LW.LS ;IS IT THE LOWER PAGE BOUND?
1) POPJ P, ;NO, JUST RETURN
1) MOVEI T1,LS.IX-1 ;YES, SEE HOW MUCH SPACE WE HAVE
WITHOUT SHUFFLING
1) SKIPN TAB.LB(T1) ;USUAL LOOK FOR LOWER AREA
Digital Equipment Corporation 28-AUG-79 Page 533
PCO Log Report
1) SOJA T1,.-1
1) MOVE T2,LS.LB ;WHERE WE START AT
1) SUB T2,TAB.AB(T1) ;MINUS WHATS IN USE
1) SUBI T2,1 ;COUNT OF WHATS FREE
1) LSH T2,-1 ;CUT IN HALF
1) ANDCMI T2,.IPM ;ON BLOCK BOUND
1) CAMLE T2,LW.LS ;BUT DON'T GET TOO MUCH
1) MOVE T2,LW.LS ;IF WE DON'T HAVE ENOUGH SYMBOLS
1) MOVN T2,T2 ;GET NEG SO WE CAN BACKUP
1) ADDM T2,LS.LB ;MOVE DOWN IN CORE
1) ADDM T2,TAB.UB(T1) ;AND TAKE THIS SPACE
1) ADDM T2,LW.LS ;OPEN WINDOW WIDER
1) MOVE T1,UW.LS ;GET TOP OF WINDOW
1) SUBI T1,.IPS ;BUT WE ALREADY HAVE THIS PAGE
1) HRL T1,LW.LS ;FORM TRANS WORD
1) PJRST LS.IN## ;READ IT IN
1)
1)34 ;HERE IF TOP OF SYMBOL TABLE IS ALREADY IN CORE
1) ;HOWEVER IT IS NOT AT TOP OF CORE WHERE WE WOULD LIKE IT
1) ;THEREFOR MOVE ALL LS UP TO .JBREL
1) ;USE REVERSE BLT IN ACCS
1)
1) MOVSYM:
1) IFN FTOVERLAY,<
1) SKIPLE LNKMAX ;ANY OVERLAYS
1) SKIPN LNKNO. ;BUT NOT ROOT
1) JRST .+3 ;NO
1) MOVE T1,LS.UB ;CAN NOT USE TOP OF CORE
1) JRST .+4
1) >
1) SKIPE T1,FX.LB ;STILL FIXUPS TO DO?
1) SOJA T1,.+2 ;YES, MAKE T1 POINT TO HIGHEST F
REE
1) MOVE T1,.JBREL ;NO, GET TOP OF CORE
1) CAMN T1,LS.AB ;AT ACTUAL TOP OF LS?
1) POPJ P, ;YES, JUST RETURN
1) MOVEM T1,LS.UB ;MAKE IT TOP
1) SUB T1,LS.AB ;GET DIFFERENCE = OFFSET
1) PUSH P,T1 ;SAVE OFFSET
1) MOVE T4,LS.AB ;TOP
1) SUB T4,LS.LB ;-BOTTOM
1) ADDI T4,400001 ;400000+LENGTH
1) MOVS T4,T4
1) HRR T4,LS.AB ;TOP OF OLD DATA
1) HRLI T1,(POP T4,0(T4))
1) MOVE T2,[JUMPL T4,T1]
1) MOVSI T3,(POPJ P,) ;REVERSE BLT NOW SET UP
1) PUSHJ P,T1 ;DO IT
1) MOVE T2,LS.AB ;[647]
1) MOVE T1,LS.UB
Digital Equipment Corporation 28-AUG-79 Page 534
PCO Log Report
1) MOVEM T1,LS.AB ;SET BOUNDS THE SAME
1) POP P,T1 ;OFFSET
1) ADD T1,LS.LB ;NEW BASE
1) SUBI T1,1 ;HIGHEST TO GIVE BACK
1) HRL T1,T2 ;[647] HIGHEST ADDR TO ZERO
1) PUSHJ P,GBCK.L##
1) MOVE T1,LSYM ;NOW RESET LS.PT TO POINT TO LAS
T SYMBOL
1) SUB T1,LW.LS ;MINUS WINDOW BASE
1) ADD T1,LS.LB ;PLUS OFFSET IN CORE
1) MOVEM T1,LS.PT ;OK NOW
1) POPJ P,
1)
1)35 ;HERE TO ADD FREE SPACE TO NEXT LOWEST AREA IN USE
1) ;CALLED BY
1) ; MOVEI T1,THIS AREA
1) ; PUSHJ P,ADJ.L
1) ;USES T1, T2
1)
1) ADJ.L: MOVE T2,TAB.LB(T1) ;GET CURRENT LOWEST SIZE
1) SUBI T2,1 ;THIS IS NOW UPPER OF NEXT LOWER
1) SKIPN TAB.LB-1(T1) ;FIND ONE
1) SOJA T1,.-1 ;EVENTUALLY
1) MOVEM T2,TAB.UB-1(T1)
1) POPJ P, ;RETURN
1)
1)36 ;HERE IF WE HAVE TO MOVE FIXUP AREA (IT MAY CONTAIN SYMBOL FIXUP
S)
1) ;MOVE UP TO VERY TOP OF CORE, OUT OF WAY OF SYMBOLS
1) ;USE REVERSE BLT IN ACCS
1)
1) MOVFX: MOVE T1,.JBREL ;GET TOP OF CORE
1) CAMN T1,FX.AB ;AT ACTUAL TOP OF FIXUPS?
1) POPJ P, ;YES, JUST RETURN
1) MOVEM T1,FX.UB ;MAKE IT TOP
1) SUB T1,FX.AB ;GET DIFFERENCE = OFFSET
1) PUSH P,T1 ;SAVE OFFSET
1) MOVE T4,FX.AB ;TOP
1) SUB T4,FX.LB ;-BOTTOM
1) ADDI T4,400001 ;400000+LENGTH
1) MOVS T4,T4
1) HRR T4,FX.AB ;TOP OF OLD DATA
1) HRLI T1,(POP T4,0(T4))
1) MOVE T2,[JUMPL T4,T1]
1) MOVSI T3,(POPJ P,) ;REVERSE BLT NOW SET UP
1) PUSHJ P,T1 ;DO IT
1) MOVE T1,FX.UB
1) MOVEM T1,FX.AB ;SET BOUNDS THE SAME
1) POP P,T1 ;OFFSET
1) ADDM T1,FX.PT
Digital Equipment Corporation 28-AUG-79 Page 535
PCO Log Report
1) ADD T1,FX.LB ;NEW BASE
1) SUBI T1,1 ;HIGHEST LOC TO GIVE AWAY
1) PJRST GBCK.L## ;TO NEXT LOWER
1)
1)37 SYDONE: SKIPE PAG.S1 ;PAGING LOW SEG?
1) SKIPA P1,JOBPTR ;YES, LOAD CORRECT OFFSET
1) MOVE P1,LC.LB ;LOAD UP OFFSET
1) SKIPE PAG.S2 ;PAGING HIGH SEG?
1) SKIPA P2,JBHPTR ;YES, LOAD CORRECT OFFSET
1) MOVE P2,HC.LB ;LOAD UP OFFSET
1) MOVE T2,.JBSYM(P1) ;GET ADDRESS OF BASE OF SYMBOLS
1) HRRZ T3,TAB.PT(R) ;AND CURRENT TOP
1) SUB T3,TAB.LB(R) ;REMOVE OFFSET
1) ADD T3,LW.S0(R) ;BUT ADD IN BASE OF INCORE WINDO
W
1) CAMG T3,HC.S0(R) ;[715] PSECT NAME USED?
1) JRST .+3 ;[715] YES, DON'T UPDATE
1) MOVEM T3,HC.S0(R) ;RESET HIGHEST LOC IN USE COUNTE
RS
1) MOVEM T3,HL.S0(R) ;SO WE WILL PRESERVE THE SYMBOLS
1) ADD T3,LL.S0(R) ;ADD IN SEGMENT OFFSET
1) ;**;[1132] Insert @ SYDONE+15L JNG 30-Jan-79
1) MOVE T1,SYMPSC ;[1132] GET POINTER TO /SYMSEG R
C BLOCK
1) CAMLE T3,RC.HL(T1) ;[1132] INCORPORATE SYMBOLS INTO
THAT PSECT
1) MOVEM T3,RC.HL(T1) ;[1132] BUT NEVER SHRINK A PSECT
1) SUBI T2,0(T3) ;FIND - LENGTH
1) HRLM T2,.JBSYM(P1) ;FIXUP SYMBOL TABLE POINTER
1) HRLM T2,JOB116 ;AND FOR .SYM FILE
1) SKIPGE SYMFRM ;OLD STYLE SYMBOL FILE REQUIRED?
1) PUSHJ P,OLDSYM ;YES, WRITE OR COMPLETE IT
1) .ERR. (MS,0,V%L,L%I,S%I,STC,<Symbol table completed>)
1) JRST REMVLS ;SETUP REST AND DELETE LS AREA
1)
1) NOLOCS: SKIPE PAG.S1 ;PAGING LOW SEG?
1) SKIPA P1,JOBPTR ;YES, LOAD CORRECT OFFSET
1) MOVE P1,LC.LB ;LOAD UP OFFSET
1) SKIPE PAG.S2 ;PAGING HIGH SEG?
1) SKIPA P2,JBHPTR ;YES, LOAD CORRECT OFFSET
1) MOVE P2,HC.LB ;LOAD UP OFFSET
1)
1) REMVLS:
1) SKIPLE T1,SYMFRM ;NEW STYLE SYMBOL FILE NEEDED?
1) PUSHJ P,SAVSYM ;YES, OUTPUT THEM NOW
1) PUSHJ P,AS.ZAP ;DONE WITH ALGOL SYMBOLS
1) PUSHJ P,FX.ZAP ;ALSO DONE WITH FIXUP BY NOW
1) IFN FTOVERLAY,<
1) SKIPL LNKMAX ;OVERLAYS?
Digital Equipment Corporation 28-AUG-79 Page 536
PCO Log Report
1) JRST SAVTST ;KEEP UNTIL SAV FILE MADE
1) >
1) PUSHJ P,LS.ZAP ;GET RID OF LS
1) SKIPN PAG.LS ;IF NOT PAGING
1) JRST SAVTST ;DON'T DELETE LS FILE
1) MOVEI T1,SC ;CAN DELETE CHAN# NOW
1) PUSHJ P,DVDEL.##
1) JFCL
1) ;**;[1146] Replace @REMVLS+15L DZN 8-Mar-79
1) JRST SAVTST ;[1146] DONE WITH SYMBOLS
1)
1)38 SUBTTL ROUTINES FOR SYMBOLS
1)
1)
1) ;**;[1132] Insert @ LTITLE JNG 30-Jan-79
1) LTITLE: TXNE W1,PT.PSC ;[1132] JUST A PSECT DEFINITION?
1) JRST LSLOOP ;[1132] YES, DON'T PUT IN SYMBOL
TABLE
1) PUSHJ P,SXBR50 ;CONVERT TO RADIX-50
1) TXNE W1,PT.BLK ;ONLY A FAIL BLOCK HEADER?
1) JRST BTITLE ;YES
1) MOVE T2,TTLPTR ;GET ADDRESS OF LAST PROG
1) HRRZ T1,TAB.PT(R) ;GET THIS ADDRESS
1) SUB T1,TAB.LB(R) ;MINUS OFFSET
1) ADD T1,TAB.LW(R) ;PLUS BASE OF WINDOW
1) MOVEM T1,TTLPTR ;SAVE FOR NEXT
1) SUB T1,T2 ;GET DIFFERENCE
1) MOVN T1,T1 ;NEGATE
1) JUMPE T2,.+2 ;IGNORE IF FIRST TIME
1) HRL W3,T1 ;FIXUP POINTER
1) PUSH P,W2 ;SAVE SYMBOLS
1) PUSH P,W3
1) TTLLUP: MOVX T1,S.TTL!S.SEG ;FLAGS
1) PUSHJ P,GETAST ;GET EXTENSION TRIPLET
1) SETZB W2,W3 ;ONLY HERE IF DEFINED BY /SWITCH
1) SKIPE W3 ;IF ANY HIGH SEG STUFF
1) MOVE W2,W3 ;USE IT
1) POP P,W3 ;GET W3 BACK
1) HLR W3,W2 ;FIX IT UP
1) POP P,W2
1) PUSHJ P,SYMOUT ;OUTPUT PSEUDO SYMBOL
1) POPJ P, ;[715] EXCEEDED SPACE, RETURN
1) JRST LSLOOP ;RETURN
1)
1)
1)
1) BTITLE: TXO W2,R5.LCL!R5.GLB ;MAKE RADIX50 14,SYM
1) HRRZ W3,W3 ;BLOCK LEVEL ONLY
1) JRST LSLUP1 ;AND TREAT AS LOCAL SYMBOL
Digital Equipment Corporation 28-AUG-79 Page 537
PCO Log Report
1)
1)39 ;SXBR50 -- SUBROUTINE TO CONVERT SIXBIT TO RADIX-50
1) ;CALLED BY
1) ; MOVE W2,SIXBIT WORD
1) ; PUSHJ P,SXBR50
1) ;RETURN
1) ; RADIX-50 IN W2
1) ;USES T1, T2
1)
1) SXBR50: MOVE T2,W2 ;GET SIXBIT SYMBOL
1) SETZ W2, ;WHERE TO STORE RADIX50 SYMBOL
1) SETZ T1, ;CLEAR RECEIVING ACC
1) LSHC T1,6 ;GET NEXT CHAR
1) IMULI W2,50 ;MULTIPLE BY 50
1) ADD W2,SXBTAB(T1) ;ADD IN NEW CHAR
1) JUMPN T2,.-4 ;NOT DONE YET
1) POPJ P,
1)
1) DEFINE SXBCHR (CHR)<
1) IRPC CHR,<
1) RADIX50 0,CHR
1) >>
1)
1) XALL
1) SXBTAB: SXBCHR ( $% . 0123456789 ABCDEFGHIJKLMNO
PQRSTUVWXYZ )
1) SALL
1)
1)40 ;HERE FOR OLD FORM SYMBOLS (RADIX-50)
1) ;IF IN CORE WRITE THEM OUT WITH THREE INFORMATION WORDS AT FRONT
1) ;HEADER, .JBSYM (116) AND .JBUSY (117)
1) ;HEADER IS 776(TYPE) ,, LENGTH
1) ;OTHER TWO WORDS ARE RELATIVE TO ZERO
1) ;.JBSYM MUST HAVE A NEGATIVE LEFT HALF
1) ;.JBUSY IS ZERO IF NO UNDEFINED SYMBOLS
1)
1) OLDSYM: MOVEI T1,MC ;USE MAP CHAN INCASE PAGING LC
1) MOVEM T1,IO.CHN
1) MOVE T1,IO.PTR+%SC ;POINT TO CORRECT DATA
1) MOVEM T1,IO.PTR+MC
1) PUSHJ P,DVCHN.##
1) MOVSI T2,(Z MC,) ;RESET CHAN #
1) MOVEM T2,I.CHN(T1) ;SINCE %SC IS THERE CURRENTLY
1) HLRO T2,JOB116 ;NUMBER OF SYMBOLS
1) MOVM T2,T2
1) LSH T2,-.DBS2W ;[650] INTO BLOCKS (ASSUME FEW U
NDEFS)
1) MOVEM T2,I.EST(T1)
1) MOVE T2,VERNUM ;GET VERSION OF CORE IMAGE
Digital Equipment Corporation 28-AUG-79 Page 538
PCO Log Report
1) SKIPN I.VER(T1) ;SKIP IF SET BY SWITCH
1) MOVEM T2,I.VER(T1) ;NO, SO SET IT
1) PUSHJ P,DVNAM.## ;MAKE SURE NAME SETUP
1) PUSHJ P,DVOPN.## ;INIT DEV
1) PUSHJ P,DVENT.## ;DO ENTER
1) ;NOW TO STORE THREE INFO WORDS
1) HLRE T1,JOB116 ;NO. OF DEFINED SYMBOLS
1) HLRE T2,JOB117 ;NO. OF UNDEFS
1) MOVM T1,T1 ;+
1) MOVM T2,T2
1) ADDI T2,2(T1) ;PLUS TWO EXTRA WORDS
1) HRLI T2,776 ;BLOCK TYPE FOR LINK
1) SKIPN T1,JOB117 ;.JBUSY IF NON-ZERO
1) MOVE T1,JOB116 ;OTHERWISE .JBSYM
1) HRRZ T1,T1 ;REMOVE NEG LEFT HALF
1) SUB T1,LL.S0(R) ;REMOVE ORIGIN
1) SUB T1,LW.S0(R) ;INCASE PAGING
1) ADD T1,TAB.LB(R) ;FIX IN CORE
1)
1)41 ;NOW PUT HEADER WORDS IN CORE IMAGE SO WE CAN DUMP IT ALL WITH
1) ;ONE IOWD. PUSH REAL CONTENTS OF THOSE LOCATIONS (USUALLY 0) FIR
ST,
1) ;THEN RESTORE THEM LATER
1)
1) SUBI T1,3 ;BACKUP 3
1) PUSH P,0(T1) ;SAVE WORDS INCASE NOT ZERO
1) PUSH P,1(T1)
1) PUSH P,2(T1)
1) MOVEM T2,0(T1) ;SAVE HEADER
1) HLLZ T2,JOB117 ;COPY INFO WORDS
1) MOVEM T2,2(T1) ;TO NEXT 2 LOCS
1) HLRE T2,T2 ;GET - LENGTH (OR 0)
1) MOVM T2,T2 ;+
1) HLL T2,JOB116 ;-LENGTH,,OFFSET
1) MOVEM T2,1(T1) ;FIRST INFO WORD
1) HLRE T2,JOB116 ;FIND TOTAL LENGTH TO OUTPUT
1) HLRE T3,JOB117 ;.JBSYM+.JBUSY
1) ADD T2,T3
1) SUBI T2,3 ;+3 INFO WORDS
1) HRLZ T2,T2 ;-LENGTH
1) HRRI T2,-1(T1) ;IOWD LENGTH,ADDRESS
1) SETZ T3, ;TERMINATE
1) OUT MC,T2 ;DUMP IT
1) JRST [POP P,2(T1) ;RESTORE DATA
1) POP P,1(T1)
1) POP P,0(T1)
1) PJRST DVRLS.##] ;CLOSE FILE
1) POP P,2(T1) ;RESTORE DATA
1) POP P,1(T1)
Digital Equipment Corporation 28-AUG-79 Page 539
PCO Log Report
1) POP P,0(T1)
1) PUSH P,[MC]
1) .ERR. (ST,,V%L,L%W,S%W,OES,<Output error on symbol fil
e, file closed, job continuing>)
1) POPJ P,
1)
1)
1)42 ;HERE TO SAVE NEW FORM SYMBOL TABLE
1) ;IF ALL IN CORE JUST OPEN AND WRITE OUT
1) ;IF ON DSK EITHER RENAME OR COPY THEM
1)
1) SAVSYM: PUSHJ P,.SAVE1## ;NEED AN AC
1) CAIN T1,1 ;SIXBIT SYM FILE WANTED?
1) MOVEI P1,LS.IX ;YES, STORED IN LS AREA
1) CAIN T1,2 ;HOW ABOUT ALGOL .SYM FILE?
1) MOVEI P1,AS.IX ;YES, USE AS AREA INSTEAD
1) SKIPN TAB.UW(P1) ;PAGING?
1) JRST WRTSYM ;NO
1) MOVE T1,TAB.AB(P1) ;MAKE SURE UW.XX IS OK
1) SUB T1,TAB.LB(P1) ;MIGHT BE -1 IF LS AREA
1) ADD T1,TAB.LW(P1) ;NOW HAVE HIGHEST LOC IN CORE
1) MOVEM T1,TAB.UW(P1) ;UPDATE UW.XX
1) SETCM T1,TAB.LB(P1) ;ALSO MAKE SURE DISK FILE IS OK
1) ADD T1,TAB.PT(P1) ;IN CASE NEVER OUTPUT BEFORE
1) JUMPE T1,.+4 ;FORGET IT IF NOTHING TO OUTPUT
1) ADD T1,TAB.LW(P1) ;NOTE WE'RE GETTING EXACT WORD C
NT
1) HRL T1,TAB.LW(P1) ;ALGOL 7 NEEDS .RBSIZ EXACT
1) PUSHJ P,@TB.OUT##(P1) ;SO USE XX.PT INSTEAD OF XX.AB
1) MOVE T1,TAB.AB(P1) ;NOW READ IN FRONT OF FILE
1) SUB T1,TAB.LB(P1) ;SO CAN SET UP 10??,,COUNT
1) SETZM TAB.LW(P1) ;?W.?S MUST BE UP TO DATE
1) MOVEM T1,TAB.UW(P1) ;FOR FOLLOWING CALL
1) PUSHJ P,@TB.IN##(P1) ;AS FIRST WORD OF FILE
1) CAIE P1,AS.IX ;ALGOL?
1) JRST SAVSY0 ;NO, DO IT FOR LS AREA
1) MOVE T2,ASYM ;YES, GET SYMBOL COUNT
1) HRLI T2,1044 ;AND BLOCK TYPE
1) JRST SAVSY1 ;AND CONTINUE
1) SAVSY0: MOVE T2,LSYM ;COUNT FOR LS AREA
1) HRLI T2,1700 ;AND BLOCK TYPE
1) SAVSY1: SUBI T2,1 ;WORDS FOLLOWING IS 1 LESS
1) MOVEM T2,@TAB.LB(P1) ;STORE COUNT WORD
1) PUSHJ P,@TB.OUT##(P1) ;AND UPDATE FILE
1) MOVEI T1,SC ;FROM CHAN#
1) CAIN P1,AS.IX ;UNLESS AS AREA
1) MOVEI T1,AC ;IN WHICH CASE ALGOL CHANNEL
1) MOVE T2,IO.PTR+%SC ;TO CHANNEL
1) PUSHJ P,DVPRO. ;GET PROTECTION RIGHT
Digital Equipment Corporation 28-AUG-79 Page 540
PCO Log Report
1) MOVEI T2,%SC ;TO CHAN#
1) MOVE T3,IO.PTR+%SC ;GET POINTER TO NEW FILE
1) MOVE T4,VERNUM ;GET VERSION OF PROGRAM
1) SKIPN I.VER(T3) ;UNLESS ALREADY SET BY SWITCH...
1) MOVEM T4,I.VER(T3) ;SAVE FOR ENTER
1) PJRST DVMOV. ;GO COPY PAGED FILE TO SYMBOL FI
LE
1)
1)43 WRTSYM: MOVEI T1,DC ;USE THIS CHAN
1) MOVEM T1,IO.CHN
1) MOVE T1,IO.PTR+%SC ;HIDE DATA BLOCK HERE
1) MOVEM T1,IO.PTR+DC ;NOW BRING IT FORTH
1) PUSHJ P,DVCHN.## ;PUT ADDRESS OF BLOCK IN T1
1) MOVSI T2,(Z DC,) ;RESET CHAN # IN AC FIELD
1) MOVEM T2,I.CHN(T1) ;SINCE %SC IS THERE CURRENTLY
1) CAIE P1,AS.IX ;ALGOL?
1) JRST WRTSY0 ;NO, SETUP 1ST WORD FOR LS
1) MOVE T3,ASYM ;YES, SETUP COUNT WORD
1) HRLI T3,1044 ;AND BLOCK TYPE
1) JRST WRTSY1 ;CONTINUE
1) WRTSY0: MOVE T3,LSYM ;LS AREA COUNT
1) HRLI T3,1700 ;BLOCK TYPE FOR TRIPLET SYMBOLS
1) WRTSY1: HRRZ T2,T3 ;SAVE COUNT FOR ESTIMATE
1) SUBI T3,1 ;WORDS FOLLOWING IS 1 LESS
1) MOVEM T3,@TAB.LB(P1) ;SAVE WORD COUNT IN AREA
1) LSH T2,-.DBS2W ;[650] INTO BLOCKS
1) MOVEM T2,I.EST(T1) ;WE NEED THIS MUCH
1) MOVE T2,VERNUM ;GET VERSION OF CORE IMAGE
1) SKIPN I.VER(T1) ;SKIP IF SET BY SWITCH
1) MOVEM T2,I.VER(T1) ;NO, SO SET IT
1) PUSHJ P,DVNAM.## ;MAKE SURE NAME IS SET UP
1) PUSHJ P,DVOPN.## ;INIT DEVICE
1) PUSHJ P,DVENT.## ;ENTER FILE
1) ;NOW FOR OUTPUT
1) WRTSY2: MOVE T1,TAB.LB(P1) ;GET BOTTOM ADDR IN CORE
1) SUB T1,TAB.PT(P1) ;-LENGTH
1) HRLZ T1,T1 ;-LENGTH,,0
1) HRR T1,TAB.LB(P1) ;FIRST ADDR OF BUFFER
1) HRRI T1,-1(T1) ;-LENGTH,,ADDR-1
1) SETZ T2,
1) OUT DC,T1 ;OUTPUT IT
1) PJRST DVRLS.## ;PAGING NO LONGER HANDLED HERE
1) PUSH P,[DC]
1) .ERR. (ST,,V%L,L%W,S%W,OES)
1) POPJ P,
1)
1)44 ;**;[1146] Move 5 pages starting at JBSAVE down where indicated
****
2)45 ;**;[1172] Delete and move up @ SYMINI JNG 5-Jun-79
2) ;**;[1146] Move 5 pages starting at JBSAVE down where indicated
**************
Digital Equipment Corporation 28-AUG-79 Page 541
PCO Log Report
1)44 SUBTTL FINISH JOBDAT AND DECIDE TO LOAD OR SAVE
1)
****
2)45 SUBTTL DECIDE TO LOAD OR SAVE
2)
**************
1)44 ; 4. ON TOPS-20, ANY PSECT HAS THE READ-ONLY ATTRIBUTE.
1) ; 5. THE PROGRAM WILL NOT FIT IN MEMORY WITH LINK'S FINAL PLA
CEMENT CODE
****
2)45 ; 4. ANY PSECT HAS NON-DEFAULT WRITEABILITY.
2) ; 5. THE PROGRAM WILL NOT FIT IN MEMORY WITH LINK'S FINAL PLA
CEMENT CODE
**************
1)44 SAVTST: PUSHJ P,JOBSET ;[1146] FINISH SETTING UP JOBDAT
1) PUSHJ P,HJBSET ;[1146] AND VESTIGIAL JOBDAT
1) SKIPE IO.PTR+%VC ;[1146] SAVE FILE REQUIRED?
1) JRST JBSAVE ;YES
****
2)45 ;**;[1172] Delete @ SAVTST JNG 5-Jun-79
2) SAVTST: SKIPE IO.PTR+%VC ;[1146] SAVE FILE REQUIRED?
2) JRST JBSAVE ;YES
**************
1)47 ;HERE TO SET UP THE REST OF THE JOBDAT AREA. ENTER WITH P1 POINT
ING TO JOBDAT
1) ;AREA AND P2 TO VESTIGIAL JOBDAT (0 IF NO HIGH SEGMENT).
1)
1) JOBSET: SKIPE T2,HC.S1 ;GET HIGHEST DATA LOCATION LOADE
D
1) SUBI T2,1 ;MAKE IT HIGHEST LOC LOADED
1) IFN FTOVERLAY,<
1) SKIPL LNKMAX ;LOADED ANY OVERLAYS?
1) SKIPN T1,JOB116 ;AND SAVED SYMBOLS?
1) JRST .+4 ;NO
1) HLRE T2,T1 ;-LENGTH
1) MOVM T2,T2
1) ADDI T2,-1(T1) ;HIGHEST LOCATION
1) >
1) HRLZM T2,.JBCOR(P1) ;PUT HIGHEST LOC IN LEFT HALF
1) HRRZ T2,HL.S1 ;GET HIGHEST LOC REQUIRED
1) HRL T2,STADDR ;GET STARTING ADDRESS
1) MOVSM T2,.JBSA(P1) ;SET .JBSA AND .JBFF
1) HRRZM T2,.JBFF(P1) ;INCASE RESET NOT DONE FIRST
1) IOR. T2,.PGSIZ ;INCLUDE ALL OF THIS PAGE
1) HRRZM T2,.JBREL(P1) ;SET .JBREL
1) MOVSI T2,(HALT) ;PUT A HALT IN .JB41
1) SKIPN .JB41(P1) ;UNLESS ALREADY SETUP
1) MOVEM T2,.JB41(P1)
1) MOVE T2,.JBSYM(P1) ;GET SYMBOL TABLE POINTER
Digital Equipment Corporation 28-AUG-79 Page 542
PCO Log Report
1) HRRZ T1,T2 ;GET POINTER
1) JUMPE P2,JOBST0 ;NO HIGH SEG POSSIBLE
1) CAML T1,LL.S2 ;SEE IF IN HIGH SEG
1) MOVEM T2,.JBHSM(P2) ;STORE IN HIGH SEG DATA AREA
1) SKIPE T1,HL.S2 ;GET HIGHEST LOC +1
1) SUBI T1,1 ;HIGHEST LEGAL ADDRESS
1) ADD T1,LL.S2 ;PLUS ORIGIN
1) IOR. T1,.PGSIZ ;PUT ON PAGE BOUND
1) SKIPN T2,HL.S2 ;[650] LENGTH TO SAVE
1) JRST JOBST1 ;[650] NONE?
1) SKIPN .JBDDT##(P1) ;[650] DDT LOADED?
1) JRST JOBST1 ;[650] NO, NUMBER IS OK
1) SUBI T2,1 ;[650] YES, BE LIKE MONITOR
1) IOR. T2,.PGSIZ ;[650] ROUND UP TO TOP OF PAGE
1) ADDI T2,1 ;[650] THENCE TO BOTTOM OF NEXT
1) JOBST1: HRL T1,T2 ;[650] LENGTH TO SAVE,,HIGHEST A
DDR
1) MOVEM T1,.JBHRL(P1) ;LENGTH,,HIGHEST ADDRESS
1) JOBST0: MOVE T1,.JBERR ;GET NO OF PREVIOUS ERRORS
1) MOVEM T1,.JBERR(P1) ;COUNT AS EXECUTION ERRORS
1) MOVEM T1,ERRNO ;PROHIBIT EXECUTION IF NON-ZERO
1) ;**;[1144] Replace @JOBST0+3L DZN 16-Feb-79
1)
1) ; ..
1)
1)48 ; ..
1)
1) ;COMPUTE ADDRESS AT WHICH TO START PROGRAM. IF A DEBUGGER IS LOA
DED, THIS IS NOT
1) ;NECESSARILY THE MAIN PROGRAM'S START ADDRESS, BUT DEPENDS ON TH
E DEBUGGER.
1)
1) SETZ T1, ;[1144] ASSUME WE DON'T START PR
OGRAM
1) SKIPE EXECSW ;GO INTO EXECUTION?
1) MOVE T1,STADDR ;YES, ASSUME .JBSA
1) HRRZ T2,DEBUGSW ;[1144] IF DEBUGGING, DEBUGGER'S
START ADDRESS
1) SKIPGE DEBUGSW ;[1144] TAKES PRIORITY SO
1) MOVE T1,@STLOCN(T2) ;[1144] FIND IT
1) HRRM T1,EXECSW ;IN ANY CASE STORE BACK IN EXECS
W
1) POPJ P,
1)
1)
1) DEFINE KEYMAC(A,B)<
1) XALL ;;[1144] GIVE A GOOD LIS
TING
1) IFIDN <A><DEB>,< ;;[1144] SELECT ONLY DEB
Digital Equipment Corporation 28-AUG-79 Page 543
PCO Log Report
UGGING KEYWORDS
1) %%1==-1 ;;[1144] SKIP DUMMY ENTR
Y
1) IRP B,< ;;[1144] CHECK EACH KEYW
ORD
1) IFGE %%1,< ;;[1144] THAT IS NOT T
HE DUMMY
1) IFN <%%1&1>,< ;;[1144] AND IS A DEGU
GGER NAME
1) %%2==0 ;;[1144] ASSUME WE WON'T
FIND A DEBUGGER
1) IFN TOPS20,< ;;[1144] TOPS-20 UDDT IS
SPECIAL
1) IFIDN <B><DDT>,< ;;[1144] CHECK FOR DDT D
EBUGGER
1) [770000] ;UDDT STARTS AT 770000
1) %%2==1 ;;[1144] REMEMBER WE FOU
ND A DEBUGGER
1) >
1) >
1) IFIDN <B><FORDDT>,< ;;[1144] FORDDT IS SPECI
AL
1) STADDR ;FORDDT FORCES START ADDRESS TO
ITSELF
1) %%2==1 ;;[1144] REMEMBER WE FOU
ND A DEBUGGER
1) >
1) IFIDN <B><COBDDT>,< ;;[1144] COBDDT IS SPECI
AL
1) STADDR ;COBDDT GETS CONTROL FROM COBOL
PROGRAM
1) %%2==1 ;;[1144] REMEMBER WE FOU
ND A DEBUGGER
1) >
1) IFE %%2,< ;;[1144] IF IT WASN'T AB
OVE DEBUGGERS
1) .JBDDT(P1) ;OTHER DEBUGGERS SET .JBDDT
1) >
1) >
1) >
1) %%1==%%1+1 ;;[1144] ADVANCE TO NEXT
ENTRY
1) >
1) >
1) PURGE %%1,%%2 ;;[1144] CLEAN UP AFTERW
ARD
1) SALL ;;[1144] ..
1) >
1)
Digital Equipment Corporation 28-AUG-79 Page 544
PCO Log Report
1) STLOCN: KEYWORDS
1)
1)49 ;HERE TO SETUP REST OF VESTIGIAL JOBDAT AREA
1) ;ENTER WITH P1 POINTING TO JOBDAT AREA
1)
1) HJBSET: JUMPE P2,CPOPJ ;DON'T NEED TO DO THIS IF NO HIG
H SEG
1) HRRZ T1,HL.S2 ;GET HIGHEST HIGH SEG LOCATION+1
1) SKIPE .JBDDT(P1) ;IF DDT LOADED
1) SOJA T1,[IOR. T1,.PGSIZ ;INCLUDE ALL OF THIS PAG
E
1) AOJA T1,.+1] ;IN LENGTH
1) HRL T1,.JBREN(P1) ;GET .JBREN
1) MOVSM T1,JOBHRN(P2) ;SET BOTH HALVES OF JOBHRN
1) MOVE T1,.JBSA(P1) ;PUT .JBSA
1) MOVEM T1,JOBHSA(P2) ;IN HIGH SEG
1) MOVE T1,.JB41(P1)
1) MOVEM T1,JOBH41(P2)
1) MOVS T1,.JBCOR(P1)
1) SKIPN .JBDDT(P1) ;TEST FOR RARE CASE OF DDT, SYMB
OLS AND CODE
1) JRST .+3 ; ALL IN HIGH SEGMENT
1) TRNN T1,-140 ;TRUE IF HIGHEST LOC IS 137 OR L
ESS
1) ADDI T1,1 ;IF SO MAKE IT 140 IN HIGH SEG
1) MOVSM T1,.JBHCR(P2) ; SO WE LOAD LOW
1) MOVE T1,.JBVER(P1)
1) MOVEM T1,.JBHVR(P2)
1) SKIPE T1,RUNAME ;GET PROGNAM
1) JRST .+3 ;SET
1) SKIPN T1,SSNAME ;IF NOT TRY SAVE FILE NAME
1) MOVE T1,LODNAM ;USE DEFAULT IF NOT SET
1) MOVEM T1,.JBHNM(P2) ;INTO HIGH SEG
1) MOVE T1,HL.S1 ;HIGHEST LOC +1 IN LOW SEG
1) SUBI T1,1
1) IOR. T1,.PGSIZ ;ROUND UP TO PAGE BOUNDARY
1) ADDI T1,1 ;NEXT PAGE
1) CAMGE T1,LL.S2 ;GREATER THAN HI-ORG?
1) MOVE T1,LL.S2 ;NO
1) LSH T1,-9 ;PAGE #
1) HRLZM T1,JOBHSO(P2) ;STORE IN HIGH
1) HRRZM T1,.JBHSO(P1) ;AND STORE
1) POPJ P,
1)
1)50 ;**;[1146] Insert before LC.DLT-5L DZN 8-Mar-79
****
2)48 ;**;[1172] Move up JOBSET and HJBSET JNG 5-Jun-79
2) ;**;[1146] Insert before LC.DLT-5L DZN 8-Mar-79
**************
1)69 ANDCMI T1,.IPM ;[1132] PUT ON THE PAGE BOUND
****
Digital Equipment Corporation 28-AUG-79 Page 545
PCO Log Report
2)67 ;**;[1172] Insert @ XCMADV+21L JNG 5-Jun-79
2) ADDI T1,1 ;[1172] SUBTRACTED ONE TOO MUCH,
HC IS FF FORMAT
2) ANDCMI T1,.IPM ;[1132] PUT ON THE PAGE BOUND
**************
1)85 ZCMP9A: SKIPE T1,LSTPAG ;NOW CUT BACK CORE
****
2)83 ; ..
2)
2)84 ; ..
2) ZCMP9A: SKIPE T1,LSTPAG ;NOW CUT BACK CORE
**************
1)88 DEBNAM: KEYWORDS
1)
****
2)87 XALL
2) DEBNAM: KEYWORDS
2) SALL
2)
**************
1)99 ;**;[1070] Insert @ JBLOAD JNG 23-May-79
1) JBLOAD: MOVE T1,[HC.IX+1-HG.TAB,,HC.IX+1] ;[1070] AOBJN PT
R TO AREAS
1) PUSHJ P,XX.ZAP ;[1070] CLEAR ALL AREAS ABOVE HC
1) AOBJN T1,.-1 ;[1070] SINCE CORE MGT BELOW A
SSUMES THEM GONE
1) DMOVE P1,LC.LB ;SAVE THE CURRENT LOCATIONS
1) DMOVE P3,LC.AB ; SO WE CAN MOVE DATA
****
2)98 ;**;[1172] Delete @ JBLOAD JNG 5-Jun-79
2) JBLOAD: DMOVE P1,LC.LB ;SAVE THE CURRENT LOCATIONS
2) DMOVE P3,LC.AB ; SO WE CAN MOVE DATA
**************
1)112 U (LSCNT) ;COUNT OF WORDS LEFT IN THIS 128
WORD BLOCK
1) U (TTLPTR) ;BACK POINTER TO LAST SUBPROGRAM
1) U (LCSIZE) ;SIZE OF LOCAL SYMBOL FILE
1) U (JOBPTR) ;POINTER TO COPY OF JOBDAT AREA
1) U (JBHPTR) ;DITTO FOR HIGH SEG
1) U (LSTPAG) ;-1 WHEN LAST PAGE IS IN CORE
1) U (ERRNO) ;.JBERR COUNT
****
2)111 ;**;[1172] Replace @ LSCNT JNG 5-Jun-79
2) U (TTLPTR) ;BACK POINTER TO LAST SUBPROGRAM
2) U (JOBPTR) ;POINTER TO COPY OF JOBDAT AREA
2) U (JBHPTR) ;DITTO FOR HIGH SEG
2) IFE FTEXE,<
2) U (LSTPAG) ;-1 WHEN LAST PAGE IS IN CORE
2) > ;END IFE FTEXE
Digital Equipment Corporation 28-AUG-79 Page 546
PCO Log Report
2) U (ERRNO) ;.JBERR COUNT
**************
1)112 ;**;[1132] Replace @ SCRTCH JNG 30-Jan-79
1) U (SYMPSC) ;[1132] RC BLOCK OF /SYMSEG PSEC
T
1)
****
2)111 ;**;[1172] Replace @ SYMPSC JNG 5-Jun-79
2) U (SYMDEW) ;[1172] RESERVE SPACE IN SYMBOL
TABLE
2) U (SYMFUL) ;[1172] SYMOUT HAS NON-SKIPPED O
NCE
2)
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 547
PCO Log Report
*********************
*PCO #:10-LINK -284*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 10-JUN-79
[Programmer] GILBERT
[Routines] LNKWLD
[Key Words] /COMMON NOALLOC RC.HL
[Source Before Edit] %4A (001172)
[Source After Edit] %4A (001173)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 548
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can forget to allocate pages containing a common
block declared with the /COMMON switch. This will only
occur if no modules are loaded after the /COMMON switch, and
only if LINK is writing an EXE file.
**********
[DIAGNOSIS]
The /COMMON switch updates the current value of the
.LOW. relocation counter, but not the highest location ever
loaded. If no other module is ever seen, then the highest
location loaded counter will remain incorrect.
**********
[CURE]
Update the highest location loaded (RC.HL) in the
/COMMON switch processor.
Digital Equipment Corporation 28-AUG-79 Page 549
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 2222 08-Jun-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1557 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 5-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 10-Jun-7
9
2)
**************
1)1 DECEVR==1172 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1173 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1173 JNG 10-Jun-79
2) ; Update RC.HL on /COMMON.
2) ; Routine: LNKWLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 550
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1208 07-Jun-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1558 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 5-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 10-Jun-7
9
2)
**************
1)1 DECEVR==1172 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1173 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1173 Update RC.HL on /COMMON.
2)
**************
1)16 CAML T2,HL.S1 ;NEVER DECREASE HL.S1
****
2)16 ;**;[1173] Insert @ .COMMON+3L JNG 10-Jun-79
2) CAMLE T2,RC.HL(T1) ;[1173] NEVER DECREASE
2) MOVEM T2,RC.HL(T1) ;[1173] UPDATE HIGHEST LOCATION
IN THIS PSECT
2) CAML T2,HL.S1 ;NEVER DECREASE HL.S1
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 551
PCO Log Report
*********************
*PCO #:10-LINK -285*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)+766 THRU 1173 TESTED IN 4A(1173)
[Date Entered] 12-JUN-79
[Programmer] D. NEFF
[Routines] ALL!
[Key Words] ALL MESAGS
[Source Before Edit] % (000000)
[Source After Edit] %4A (001174)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-12548
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 552
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK's error message facility has a number of problems:
1. Specifying /VERBOSITY:SHORT can result in a variety of
fatal memory errors following a message that, in its
medium form, prints a large amount of variable text.
2. After edit 1144, defining the logical name LOG: as TTY:
results in an address check.
3. Various messages added to LINK by the psect project for
version 4 did not include long messages (available with
the /VERBOSITY:LONG switch) to explain them. This has the
additional side effect that the LINK manual does not
explain these messages, since the appendix describing all
messages was generated directly from LINK's sources.
4. The listing of LNKERR, which lists all messages in LINK,
does not agree with the actual messages in LINK. As noted
above, this has adversely affected the LINK manual.
5. LINK's messages, especially the ones that cannot use
LINK's internal message facility, are in general hard to
find when debugging and when attempting to keep LNKERR
up-to-date.
6. LINK is missing first line messages and long explanations
for the more recent LOOKUP/RENAME/ENTER error codes.
Again, this has impacted the LINK manual.
7. Several of LINK's messages print the module or file
associated with a particular error, but not both. Also,
many messages that ought to include this information do
not.
8. After edit 1144, the blank line in the log file following
the processing of a link in an overlaid program is
missing.
9. The code to handle common portions of the long
LOOKUP/RENAME/ENTER messages was put under REPEAT 0
Digital Equipment Corporation 28-AUG-79 Page 553
PCO Log Report
(turned off) without including the text in the long
messages.
10. Several of LINK's messages do not get written to the log
file as they should, or are not under control of the /LOG,
/LOGLEVEL, /ERRORLEVEL or /VERBOSITY switches. Some
examples are the LNKUGS, LNKRER, LNKRLC and LNKLSS
messages.
11. Long (multi-line) messages are not very readable in the
log file. Typically, the heading of a list does not line
up with the data under it.
**********
[DIAGNOSIS]
1. If a JMP code is used in an .ETC. macro representing a
non-fatal error, LINK is supposed to follow the JMP to a
message continuation list and subsequent return after
printing the message. However, if the /VERBOSITY:SHORT
switch is specified, LINK attempts to speed error message
processing by skipping any .ETC. codes. This causes LINK
to return to a random word following the message.
2. Edit 1144 made log file initialization always use LINK's
generalized file initialization routines. Unfortunately,
edit 604 made these routines fail for terminals other than
the controlling one.
3. The long messages were inadvertently left out.
4&5.The difficulty of finding LINK's messages in the sources
has generally led to LNKERR getting out of date.
6. LINK's table must be periodically updated as new monitor
error codes are added.
7. There is no general facility to print common message
segments, so each maintainer or developer has had to
remember to include the module and file in all appropriate
messages. This has made it difficult to keep all such
messages consistent.
8. The feature that printed a blank line in the log file
relied on a bug in LINK that was fixed by edit 1144. In
particular, the blank line feature required a bit to be
Digital Equipment Corporation 28-AUG-79 Page 554
PCO Log Report
saved by a byte pointer that was not intended to save it.
Since edit 1144 caused the byte pointer to save only what
it was supposed to, the blank line bit got lost.
9. The common message feature was turned off without
realizing its effect on the long LOOKUP/RENAME/ENTER text.
10. The affected messages do not use LINK's internal message
facility, but instead do everything by hand. These
messages neglect to take the log file into account if
necessary.
11. Many of LINK's more complex messages contain imbedded tabs
to line up columns of data. This works on the terminal
because each new line starts at a tab stop. However, the
combination of the time-stamp, level and severity numbers
and error code in the log file does not end on a tab stop.
Thus, subsequent tabs in the text do not line up.
**********
[CURE]
1. Make LINK's error message routines only ignore those .ETC.
codes that do not affect program control.
2. Fix LINK's file initialization routines to correctly
detect the job's controlling terminal.
3. Include long message text for all messages. This affects
the following messages:
LNKDEB LNKDLT LNKEGD LNKELF LNKIMI LNKIMM
LNKIRC LNKIRR LNKISS LNKIUU LNKLFC LNKLFI
LNKLNS LNKLSS LNKNSA LNKONS LNKRER LNKRLC
LNKRME LNKUGS LNKVAL LNKXCT
4&5.Label all of LINK's error messages with well-defined
labels. Also, use a special OPDEF in place of OUTSTR for
those messages that cannot use the regular message
facility. This makes all messages easy to find both in
the listing and in debugging versions of LINK. Then,
update LNKERR so that it agrees with the real messages.
6. Update LINK's tables to include all current
LOOKUP/RENAME/ENTER errors. This affects the following
messages:
Digital Equipment Corporation 28-AUG-79 Page 555
PCO Log Report
LNKFEE LNKFLE LNKFRE LNKGSE
7. Add a facility to print common segments of messages, and
use it to print the module and file currently being
processed wherever possible. This affects the following
messages:
LNKAIC LNKB4R LNKCCD LNKCMC LNKCMF LNKDRC
LNKDSC LNKDSL LNKDSO LNKFCD LNKFOV LNKFSF
LNKHCL LNKHSL LNKI4D LNKI4S LNKI4T LNKICB
LNKIPO LNKIPX LNKIRB LNKIRC LNKIRR LNKISD
LNKISN LNKISO LNKMDS LNKMSR LNKOFN LNKPBI
LNKRBS LNKSRB LNKSRP LNKSTL LNKT13 LNKTMA
LNKUAR LNKURC
8. Add a new function to .ETC. to print a blank line in the
log file, since the bit used before cannot work.
9. Include the common portions of the long
LOOKUP/RENAME/ENTER messages directly in the long text for
each separate message. This affects the following
messages:
LNKFEE LNKFLE LNKFRE LNKGSE
10. Make the following messages use LINK's internal message
facility so that these messages get written to the log
file when necessary:
LNKEGD LNKLFB LNKLFC LNKLFI LNKLIN LNKLSS
LNKRER LNKRLC LNKUGS
11. Restructure the log file format slightly so that the text
portion of each message begins on a tab stop.
As a result of a general clean-up of LINK's messages also done
along with this edit, the following message mnemonics were changed:
LNKIBC, LNKTEC --> LNKAIC LNKEOI, LNKEID --> LNKEIF
LNKANC --> LNKANM LNKCEF --> LNKMEF
LNK999 --> LNKEGD LNKICI --> LNKIMI
LNKITT --> LNKICB LNKIFD --> LNKOFD
LNKIPL --> LNKIRR LNKLIM --> LNKLIN
LNKLNC --> LNKLNM LNKODV --> LNKOFS
LNKSLS --> LNKOSL LNLRPN --> LNKSRP
LNKRUC --> LNKRUM
Also, the following messages were deleted:
Digital Equipment Corporation 28-AUG-79 Page 556
PCO Log Report
LNKPOO LNKPSF
Digital Equipment Corporation 28-AUG-79 Page 557
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1557 10-Jun-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1633 10-Jun-1979
1)1 ;COPYRIGHT (C) 1973, 1978, 1979 BY
1) ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY
2) ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1 DECEVR==1173 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1174 DZN 10-Jun-79 SPRs 20-12548, 20-12244, QAR 10-
03199
2) ; Revamp all error messages.
2) ; . Label all messages with E$$xxx:: or Ennxxx:: so messa
ges can be found
2) ; when debugging. E$$xxx should be the label of the
.ERR. (or its
2) ; preceeding PUSH P,[channel]) that defines the .E
Rxxx text block.
2) ; Ennxxx should be the label of all other .ERR.s with th
e same assigned
2) ; mnemonic, with nn starting at 01.
2) ; . Include the module and file name in which an error was
detected in all
2) ; applicable messages.
2) ; . Make .OERR. synonamous with OUTSTR for use in place
of .ERR. when a
2) ; message must be printed with an OUTSTR, so that all su
ch messages can
2) ; be found easily.
2) ; . Make the list of messages and long text in LNKER
R and the actual
2) ; messages in LINK agree.
2) ; . Fix log device being a terminal other than the control
ling one.
2) ; . Clean up the wording of all messages to be more consis
tent.
2) ; Routines: All
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 558
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 0230 09-Jun-1979
File 2) LINK:LNKPAR.MAC[10,645063] created: 1652 11-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 5-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 10-Jun-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1 ;COPYRIGHT (C) 1973, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1 DECEVR==1172 ;DEC EDIT VERSION
1) LOC 137 ;KEEPS MACRO HAPPY
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) LOC 137 ;KEEPS MACRO HAPPY
**************
1)5 ;1172 Delete .FRESP, .SYLIM, .OVPSP, and .LLOC.
1)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
****
2)5 ;1172 Delete .FRESP, .SYLIM, .OVPSP, AND .LLOC.
2) ;1174 Label and clean up all error messages.
2)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
**************
1)10 PT.FAK==:1B7 ;TITLE DEFINED BY LINK-10 NOT USER
1) PT.BLK==:1B8 ;FAIL LOCAL BLOCK
****
2)10 PT.FAK==:1B7 ;TITLE DEFINED BY LINK NOT USER
2) PT.BLK==:1B8 ;FAIL LOCAL BLOCK
**************
1)26 T.'X,,T.ERR
1) >>
****
2)26 T.'X,,E$$IRB ;;[1174]
2) >>
**************
1)26 T.ERR,,T.'Y
1) >
1) IFNDEF T.'Y,<
1) T.ERR,,T.ERR
1) >>>>
****
2)26 E$$IRB,,T.'Y ;;[1174]
2) >
2) IFNDEF T.'Y,<
Digital Equipment Corporation 28-AUG-79 Page 559
PCO Log Report
2) E$$IRB,,E$$IRB ;;[1174]
2) >>>>
**************
1)28 ; .ERR. (TYP,FLG,VER,LVL,SEV,CODE,TXT)
1) ; .ETC. (TYP,FLG,,,,CODE,TXT)
1) ; ...
****
2)28 ; .ERR. (TYP,FLG,VER,LVL,SEV,CODE,TXT)
2) ; .ETC. (TYP,FLG,,,,CODE,TXT)
2) ; ...
**************
1)28 ; .EE ERROR MAY BE EDITED AND JOB CONTINUED
1) ; .EB PRINT BLANK LINE IN LOG AFTER THIS MESSAGE
****
2)28 ; .EB PRINT BLANK LINE IN LOG AFTER THIS MESSAGE
**************
1)28 DEFINE .ERR.(TYP,FLG,VER,LVL,SEV,CODE,TXT)<
****
2)28 ;
2) ;THE .ERR. CALL (OR THE PUSHJ P,[CHANNEL] THAT PRECEEDS IT) THAT
DEFINES TXT (OR
2) ;THAT USES THE .EN FLAG IN ITS PLACE) SHOULD HAVE THE LABEL E$$x
xx::, WHERE xxx
2) ;IS THE CODE ARGUMENT. ALL OTHER .ERR.'S THAT USE THE SAME CODE
SHOULD HAVE
2) ;LABELS OF Ennxxx, WHERE nn BEGINS WITH 01 AND INCREASES BY 1 FO
R EACH USE.
2) ;REALLY FATAL ERRORS THAT CANNOT USE .ERR. SHOULD USE .OERR. WIT
H THE SAME LABEL
2) ;CONVENTIONS.
2)29 DEFINE .ERR.(TYP,FLG,VER,LVL,SEV,CODE,TXT)<
**************
1)28 .ER'CODE::ASCIZ \CODE \
1) IFE <<FLG>&.EN>,<ASCIZ \TXT\>
1) ]^_
****
2)29 .ER'CODE::ASCIZ \CODE\ ;;[1174]
2) IFE <<FLG>&.EN>,<ASCIZ \TXT\>
2) IFN <<FLG>&.EN>,<0> ;;[1174] NULL TEXT
2) ]^_
**************
1)29 ;CONTINUED ERROR WORDS HAVE SIMILAR FORM. DIFFERENCES ARE:
****
2)29 SYN OUTSTR,.OERR. ;[1174] USED FOR MESSAGES LNKLOG
CAN'T HANDLE
2)30 ;CONTINUED ERROR WORDS HAVE SIMILAR FORM. DIFFERENCES ARE:
**************
1)29 ;VER BLANK
****
Digital Equipment Corporation 28-AUG-79 Page 560
PCO Log Report
2)30 ; RTN RETURN FROM PREVIOUS JMP
2) ; NLN PRINT A NEW LINE WITH CORRECT INDENTATION
2) ; XCT CODE IS ADDRESS OF INSTRUCTION TO XCT, SKIP ALLO
WED
2) ; BKL PRINT A BLANK IN THE LOG FILE ONLY, AND ONLY IF
REAL LOG FILE
2) ; DAT PRINT TODAY'S DATE
2) ; NOP NO OPERATION (GOOD FOR JMPING TO)
2) ;VER BLANK
**************
1)29 DEFINE .ETC. (TYP,FLG,VER,LVL,SEV,CODE,TXT)<
1) IFGE %LVL,<
****
2)30 DEFINE .ETC.(TYP,FLG,VER,LVL,SEV,CODE,TXT)< ;;[1174]
2) IFGE %LVL,<
**************
1)29 IFNB <TXT>,<
1) EXP <FLG>+<ET%'TYP>B<B%LVL>+<[ ASCIZ \TXT\]>
1) >
1) IFB <TXT>,<
1) EXP <FLG>+<ET%'TYP>B<B%LVL>
****
2)30 ;;**;[1174] Replace in .ETC. macro DZN 3-Jun-79
2) IFIDN <TYP><STR>,< ;;[1174]
2) EXP <FLG>+<ET%'TYP>B<B%LVL>+<[ ASCIZ \TXT\]>
2) >
2) IFDIF <TYP><STR>,< ;;[1174]
2) EXP <FLG>+<ET%'TYP>B<B%LVL>
**************
1)30 IFN .NWBLK,<
****
2)31 XXX (RTN);;[1174] RETURN FROM LAST JMP
2) XXX (NLN);;[1174] NEW LINE
2) XXX (XCT);;[1174] XCT AN INSTRUCTION
2) XXX (BKL);;[1174] BLANK LINE IN LOG FILE (OLD .EB FLAG)
2) XXX (DAT);;[1174] PRINT TODAY'S DATE
2) XXX (NOP);;[1174] NO OPERATION
2) IFN .NWBLK,<
**************
1)31 .EE==1B2 ;[1144] ERROR CAN BE EDITED
1) .EB==1B3 ;[1144] PRINT BLANK LINE IN LOG AFTER TH
IS MESSAGE
1) .EN==1B4 ;[1144] .ERR. WITHOUT MESSAGE (JUST CODE
)
1) ;BIT POSITIONS
****
2)32 .EN==1B2 ;[1174] .ERR. WITHOUT MESSAGE (JUST CODE
)
2) ;BIT POSITIONS
Digital Equipment Corporation 28-AUG-79 Page 561
PCO Log Report
**************
1)31 S%I==:1 ;INFORMATION ONLY
****
2)32 ;**;[1174] Insert before S%I DZN 29-May-79
2) S%D==:0 ;[1174] DEFERRED (SEVERITY DEPENDS ON LO
OKUP/ENTER CODE)
2) S%I==:1 ;INFORMATION ONLY
**************
1)31 S%F==:37 ;ALWAYS FATAL
1) ;LOG LEVEL CUTOFF
1) L%I==:1 ;INFORMATION ONLY
****
2)32 S%C==:^D28 ;[1174] FATAL (?) BUT CONTINUE ANYWAY
2) S%F==:37 ;ALWAYS FATAL
2) ;LOG LEVEL CUTOFF
2) ;**;[1174] Insert before L%I DZN 29-May-79
2) L%D==:0 ;[1174] DEFERRED (LEVEL DEPENDS ON LOOKU
P/ENTER CODE)
2) L%I==:1 ;INFORMATION ONLY
**************
Digital Equipment Corporation 28-AUG-79 Page 562
PCO Log Report
[FILCOM]
File 1) LINK:LNK999.MAC[30,4507] created: 1428 01-Mar-1978
File 2) LINK:LNK999.MAC[10,645063] created: 1639 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNK999
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNK999
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL EMERGENCY GETSEG
****
2)2 ;START OF VERSION 4A
2) ;1174 Label and clean up error messages.
2)3 SUBTTL EMERGENCY GETSEG
**************
1)3 .ERR. (MS,,V%L,L%I,S%I,999,<Emergency GETSEG done>)
1) HRRZ T1,SEGBLK+2 ;GET ERROR CODE
****
2)3 E$$EGD::.ERR. (MS,,V%L,L%I,S%I,EGD,<Emergency GETSEG done>)
2) HRRZ T1,SEGBLK+2 ;GET ERROR CODE
**************
1)3 LNKDIE: PUSH P,[0] ;GETSEG ON CHAN 0
1) .ERR. (LRE,,V%L,L%F,S%F,GSE)
****
2)3 E01GSE::PUSH P,[0] ;[1174] GETSEG ON CHAN 0
2) .ERR. (LRE,,V%L,L%F,S%F,GSE)
**************
1)4 JUMPE T1,LNKDIE ;NO CORE AVAILABLE
1) MOVE P2,T1 ;TRY FOR THIS
****
2)4 JUMPE T1,E01GSE ;[1174] NO MEMORY AVAILABLE
2) MOVE P2,T1 ;TRY FOR THIS
**************
1)4 PUSH P,[0] ;GETSEG ON CHAN 0
Digital Equipment Corporation 28-AUG-79 Page 563
PCO Log Report
1) .ERR. (LRE,,V%L,L%W,S%W,GSE)
****
2)4 E02GSE::PUSH P,[0] ;[1174] GETSEG ON CHAN 0
2) .ERR. (LRE,,V%L,L%W,S%W,GSE)
**************
1)4 END
Digital Equipment Corporation 28-AUG-79 Page 564
PCO Log Report
[FILCOM]
File 1) LINK:LNKCOR.MAC[30,4507] created: 1324 26-Jan-1979
File 2) LINK:LNKCOR.MAC[10,645063] created: 1640 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 26-Jan-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1130 ;DEC EDIT VERSION
1) SALL
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) SALL
**************
1)4 SUBTTL SIMPLE TESTS FIRST
****
2)3 ;1174 Label and clean up all error messages.
2)4 SUBTTL SIMPLE TESTS FIRST
**************
1)6 .ERR. (MS,.EC,V%L,L%I3,S%I,EXP,<Expanding low segment
to >)
1) .ETC. (COR,.EP,,,,.JBREL)
****
2)6 E$$EXP::.ERR. (MS,.EC,V%L,L%I3,S%I,EXP,<Expanding low segment
to >) ;[1174]
2) .ETC. (COR,.EP,,,,.JBREL)
**************
1)7 .ERR. (MS,.EC,V%L,L%I3,S%I,EXP)
1) .ETC. (COR,.EP,,,,.JBREL)
****
2)7 E01EXP::.ERR. (MS,.EC,V%L,L%I3,S%I,EXP) ;[1174]
2) .ETC. (COR,.EP,,,,.JBREL)
**************
1)7 NO.COR::.ERR. (MS,0,V%L,L%F,S%F,CEF,<Core expansion failed>)
1)8 ;WE HAVE ENOUGH CORE SOMEWHERE BUT IS IT ABOVE WHERE WE ARE?
****
2)7 E$$MEF::.ERR. (MS,0,V%L,L%F,S%F,MEF,<Memory expansion failed>)
;[1174]
2)8 ;WE HAVE ENOUGH CORE SOMEWHERE BUT IS IT ABOVE WHERE WE ARE?
**************
1)8 .ERR. (MS,.EC,V%L,L%I,S%I,MOV,<Moving low segment to e
xpand area >)
1) .ETC. (STR,.EP,,,,T1)
****
2)8 E$$MOV::.ERR. (MS,.EC,V%L,L%I,S%I,MOV,<Moving low segment to e
xpand area >) ;[1174]
2) .ETC. (STR,.EP,,,,T1)
**************
1)17 PUSHJ P,PAGERR ;[650] DIDN'T MAKE IT
Digital Equipment Corporation 28-AUG-79 Page 565
PCO Log Report
1) MOVSI T3,-LN.PAG ;[650] RESTORE AOBJN POINTER TO
GOODNESS
****
2)17 PUSHJ P,E$$PUF ;[1174] DIDN'T MAKE IT
2) MOVSI T3,-LN.PAG ;[650] RESTORE AOBJN POINTER TO
GOODNESS
**************
1)17 PAGERR: .ERR. (MS,.EC,V%L,L%F,S%F,PUF,<PAGE. UUO Failed, error
code was >)
1) .ETC. (OCT,.EP,,,,T3)
****
2)17 E$$PUF::.ERR. (MS,.EC,V%L,L%F,S%F,PUF,<PAGE. UUO failed, error
code was >) ;[1174]
2) .ETC. (OCT,.EP,,,,T3)
**************
1)20 .ERR. (MS,,V%L,L%F,S%F,AZW,<Allocating zero words>)
1) GETWDS: CAMLE T2,TB.FSP(P1) ;SEE IF ENOUGH TOTAL FREE SPACE
****
2)20 E$$AZW::.ERR. (MS,,V%L,L%F,S%F,AZW,<Allocating zero words>) ;[
1174]
2) GETWDS: CAMLE T2,TB.FSP(P1) ;SEE IF ENOUGH TOTAL FREE SPACE
**************
1)22 JRST NO.COR ;FAILED
1) POP P,P2 ;RESTORE P2
****
2)22 JRST E$$MEF ;[1174] FAILED
2) POP P,P2 ;RESTORE P2
**************
1)23 PUSHJ P,NO.COR
1) MOVNI T1,.IPS ;WE MUST HAVE GOT THE SPACE
****
2)23 PUSHJ P,E$$MEF ;[1174]
2) MOVNI T1,.IPS ;WE MUST HAVE GOT THE SPACE
**************
1)26 PUSHJ P,RETSPE ;ITS NOT, GIVE ERROR
1) CAIGE T2,.IPS ;IF MORE THAN 1 BLOCK
****
2)26 PUSHJ P,E$$RUM ;[1174] IT'S NOT, GIVE ERROR
2) CAIGE T2,.IPS ;IF MORE THAN 1 BLOCK
**************
1)26 RETSPE: .ERR. (MS,,V%L,L%F,S%F,RUC,<Returning unavailable core
>)
1)27 ADDWD1: MOVEI T4,TB.LNK(P1) ;START OF CHAIN
****
2)26 E$$RUM::.ERR. (MS,,V%L,L%F,S%F,RUM,<Returning unavailable memo
ry>) ;[1174]
2)27 ADDWD1: MOVEI T4,TB.LNK(P1) ;START OF CHAIN
**************
1)37
Digital Equipment Corporation 28-AUG-79 Page 566
PCO Log Report
1)38 SUBTTL DSK OVERFLOW ROUTINES
****
2)38 SUBTTL DSK OVERFLOW ROUTINES
**************
1)41 JRST NO.COR ;[1113] NO--JUST RAN OUT OF LUCK
1) MOVE T1,LC.AB ;[650] FIND SIZE
****
2)41 JRST E$$MEF ;[1174] NO--JUST RAN OUT OF LUCK
2) MOVE T1,LC.AB ;[650] FIND SIZE
**************
1)42 .ERR. (MS,.EC,V%L,L%W,S%W,MSS,<MAXCOR set too small, e
xpanding to >)
1) .ETC. (COR,.EP,,,,T1)
****
2)42 E$$MSS::.ERR. (MS,.EC,V%L,L%W,S%W,MSS,</MAXCOR: set too small,
expanding to >) ;[1174]
2) .ETC. (COR,.EP,,,,T1)
**************
1)44 PUSH P,[CHAN] ;STACK ERROR CHAN
1) .ERR. (ST,0,V%L,L%F,S%F,O'%AREA,<Error outputting area
%AREA>)
****
2)44 ;;**;[1174] Replace @%AREA'.OUT+16L DZN 4-Jun-79
2) E$$O'%AREA::PUSH P,[CHAN] ;[1174] STACK ER
ROR CHAN
2) .ERR. (ST,0,V%L,L%F,S%F,O'%AREA,<Error outputting area
%AREA>)
**************
1)49 %OK: HLRZ T2,T1 ;GET FIRST ADDRESS
1) LSH T2,-.DBS2W ;[650] INTO 128 WORD BLOCKS
****
2)49 ;**;[1174] Replace @%AREA'.IN+7L DZN 4-Jun-79
2) %OK:! HLRZ T2,T1 ;[1174] GET FIRST ADDRESS
2) LSH T2,-.DBS2W ;[650] INTO 128 WORD BLOCKS
**************
1)49 PUSH P,[CHAN] ;SAVE ERROR CHAN
1) .ERR. (ST,0,V%L,L%F,S%F,I'%AREA,<Error inputting area
%AREA>)
****
2)49 ;;**;[1174] Replace @%AREA'.IN+24L DZN 4-Jun-79
2) E$$I'%AREA::PUSH P,[CHAN] ;[1174] SAVE ERR
OR CHAN
2) .ERR. (ST,0,V%L,L%F,S%F,I'%AREA,<Error inputting area
%AREA>)
**************
1)55 .ERR. (MS,0,V%L,L%I,S%I,PLS,<Area LS overflowing to DS
K>)
1) SKIPLE T1,SYMFRM ;[604] USER REQUESTING A SYMBOL
FILE?
Digital Equipment Corporation 28-AUG-79 Page 567
PCO Log Report
****
2)55 E$$PLS::.ERR. (MS,0,V%L,L%I,S%I,PLS,<Area LS overflowing to di
sk>) ;[1174]
2) SKIPLE T1,SYMFRM ;[604] USER REQUESTING A SYMBOL
FILE?
**************
1)55 PUSHJ P,CLSERR ;ERROR
1)56 ;NOW FOR OUTPUT, SETUP IOWD FOR ALL SYMBOLS NOT IN CURRENT PROG
****
2)55 PUSHJ P,E$$ELS ;[1174] ERROR
2)56 ;NOW FOR OUTPUT, SETUP IOWD FOR ALL SYMBOLS NOT IN CURRENT PROG
**************
1)56 CLSERR: PUSH P,[SC]
1) .ERR. (LRE,0,V%L,L%F,S%F,ELS,<Error creating overflow
file for area LS -
1) >)
1) POPJ P,
****
2)56 E$$ELS::PUSH P,[SC] ;[1174]
2) .ERR. (LRE,0,V%L,L%F,S%F,ELS,<Error creating area LS o
verflow file>) ;[1174]
2) POPJ P,
**************
1)57 .ERR. (MS,0,V%L,L%I,S%I,PAS,<Area AS overflowing to DS
K>)
1) SKIPLE T1,SYMFRM ;[604] USER WANT ALGOL SYFILE?
****
2)57 E$$PAS::.ERR. (MS,0,V%L,L%I,S%I,PAS,<Area AS overflowing to di
sk>) ;[1174]
2) SKIPLE T1,SYMFRM ;[604] USER WANT ALGOL SYFILE?
**************
1)57 PUSHJ P,CASERR ;ERROR CREATING AS AREA FILE
1)58 MOVE T1,AS.PT ;FIGURE SIZE OF AS AREA
****
2)57 PUSHJ P,E$$EAS ;[1174] ERROR CREATING AS AREA F
ILE
2)58 MOVE T1,AS.PT ;FIGURE SIZE OF AS AREA
**************
1)58 CASERR: PUSH P,[AC] ;INDICATE WHICH CHANNEL
1) .ERR. (LRE,0,V%L,L%F,S%F,EAS,<Error creating overflow
file for area AS - >)
1) POPJ P, ;NEVER GET HERE
****
2)58 E$$EAS::PUSH P,[AC] ;[1174] INDICATE WHICH CHANNEL
2) .ERR. (LRE,0,V%L,L%F,S%F,EAS,<Error creating area AS o
verflow file>) ;[1174]
2) POPJ P, ;NEVER GET HERE
**************
1)59 LC.DMP::.ERR. (MS,0,V%L,L%I,S%I,PLC,<Area LC overflowing to DS
K>)
1) PUSH P,R ;SAVE R
Digital Equipment Corporation 28-AUG-79 Page 568
PCO Log Report
****
2)59 LC.DMP:: ;[1174]
2) E$$PLC::.ERR. (MS,0,V%L,L%I,S%I,PLC,<Area LC overflowing to di
sk>) ;[1174]
2) PUSH P,R ;SAVE R
**************
1)59 HC.DMP::.ERR. (MS,0,V%L,L%I,S%I,PHC,<Area HC overflowing to DS
K>)
1) PUSH P,R
****
2)59 HC.DMP:: ;[1174]
2) E$$PHC::.ERR. (MS,0,V%L,L%I,S%I,PHC,<Area HC overflowing to di
sk>) ;[1174]
2) PUSH P,R
**************
1)60 PUSHJ P,@[EXP CLCERR,CHCERR]-1(R)
1)61 ;NOW FOR OUTPUT, SETUP IOWD FOR DATA TO BE OUTPUT
****
2)60 PUSHJ P,@[EXP E$$ELC,E$$EHC]-1(R) ;[1174]
2)61 ;NOW FOR OUTPUT, SETUP IOWD FOR DATA TO BE OUTPUT
**************
1)62 CLCERR: PUSH P,[LC]
1) .ERR. (LRE,0,V%L,L%F,S%F,ELC,<Error creating overflow
file for area LC -
1) >)
1) POPJ P,
1) CHCERR: PUSH P,[HC]
1) .ERR. (LRE,0,V%L,L%F,S%F,EHC,<Error creating overflow
file for area HC -
1) >)
1) POPJ P,
****
2)62 E$$ELC::PUSH P,[LC] ;[1174]
2) .ERR. (LRE,0,V%L,L%F,S%F,ELC,<Error creating area LC o
verflow file>) ;[1174]
2) POPJ P,
2) E$$EHC::PUSH P,[HC] ;[1174]
2) .ERR. (LRE,0,V%L,L%F,S%F,EHC,<Error creating area HC o
verflow file>) ;[1174]
2) POPJ P,
**************
1)70 .ERR. (MS,0,V%L,L%W,S%W,SFU,<Symbol table fouled up>)
;OUCH!
1) POP P,T1 ;RECOVER FIXUP POINTER
****
2)70 E$$SFU::.ERR. (MS,0,V%L,L%W,S%W,SFU,<Symbol table fouled up>)
;[1174] OUCH!
2) POP P,T1 ;RECOVER FIXUP POINTER
**************
Digital Equipment Corporation 28-AUG-79 Page 569
PCO Log Report
Digital Equipment Corporation 28-AUG-79 Page 570
PCO Log Report
[FILCOM]
File 1) LINK:LNKCST.MAC[30,4507] created: 1435 07-Mar-1978
File 2) LINK:LNKCST.MAC[10,645063] created: 1641 10-Jun-1979
1)1 TITLE LNKCST - LOAD CUSTOMER LINK ITEMS MODULE FOR LINK-10
1) SUBTTL D.M.NIXON/DMN/JBC/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 TITLE LNKCST - LOAD CUSTOMER LINK ITEMS MODULE FOR LINK
2) SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKCST
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKCST
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1174 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)2 SUBTTL REVISION HISTORY
****
2)1 SALL
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL DISPATCH TABLES FOR CUSTOMER TYPES
****
2)2 ;START OF VERSION 4A
2) ;1174 Label and clean up all error messages.
2)3 SUBTTL DISPATCH TABLES FOR CUSTOMER TYPES
**************
1)4 JRST T.ERR## ;NEW BLOCK TYPES NOT IMPLEMENTED
1) > ;END IFE .NWBLK
****
2)4 JRST E$$IRB## ;[1174] NEW BLOCK TYPES NOT IMPL
EMENTED
2) > ;END IFE .NWBLK
**************
1)4 JRST T.ERR## ;SNH,GIVE ERROR MESSAGE
1) HRREI T2,-<2000+CDSTL3>(T1) ;OFFSET TYPE
****
2)4 JRST E$$IRB## ;[1174] SNH,GIVE ERROR MESSAGE
2) HRREI T2,-<2000+CDSTL3>(T1) ;OFFSET TYPE
Digital Equipment Corporation 28-AUG-79 Page 571
PCO Log Report
**************
Digital Equipment Corporation 28-AUG-79 Page 572
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1156 08-Mar-1979
File 2) LINK:LNKERR.MAC[10,645063] created: 1720 11-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 8-Mar-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
1) ENTRY LNKERR
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKERR
**************
1)1 DECEVR==1146 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)2 SUBTTL REVISION HISTORY
****
2)1 LRELEN==:42 ;[1174] **MUST** AGREE WITH LNKLOG
2)2 SUBTTL REVISION HISTORY
**************
1)2 ;1113 Add long message for LNKPOT.
****
2)3 ;START OF VERSION 4A
2) ;1113 Add long message for LNKPOT.
**************
1)3 SUBTTL FIND MESSAGE
****
2)3 ;1174 Label and clean up all error messages.
2)4 SUBTTL FIND MESSAGE
**************
1)8 VIATBL (FEE,-1,32)
1) VIATBL (FLE,0,32)
1) VIATBL (FRE,0,32)
1) VIATBL (GSE,0,32)
1)9 .HWFRMT ;SAVE SPACE
1) COMMENT \
1) SHORT LEVEL MESSAGE
1) THESE ARE INCORE AT ALL TIMES (IN OTHER SEGMENTS)
1) CODE LVL SEV MESSAGE
1) ABT 31 31 Load aborted due to %LNKTMA errors, max.
/ARSIZE
1) needed was [decimal]
Digital Equipment Corporation 28-AUG-79 Page 573
PCO Log Report
1) AMP 8 8 ALGOL main program not loaded
1) ANC 31 31 Address not in core
1) ARL 8 8 Ambiguous request in link [decimal] for
[symbol]
1) defined in links [decimal]
1) AZW 31 31 Allocating zero words
1) B4R 8 8 Bad F40 produced .REL file for [name]
1) CCD 31 31 CPU conflict detected in module [module]
1) CEF 31 31 Core expansion failed
1) CLF 1 1 Closing LOG file, continuing on [file]
1) CMC 31 31 Cannot mix COBOL-68 and COBOL-74 compile
d code
1) Error detected in module [module] from
[file]
1) CMF 31 31 COBOL module must be loaded first
1) CNW 31 31 Code not yet written at [label]
1) CSF 1 1 Creating saved file
1) DEB * 1 [Debugger] execution
1) DLT * 1 Execution deleted
1) DNA 31 31 DDT not available
1) DNS 8 8 Device not specified for /[switch]
1) DRC 8 8 Decreasing relocation counter [symbol
] from
1) [octal] to [octal]
1) DSC 31 31 Data store to COMMON [symbol] not in lin
k number
1) [decimal] for [module] in [file]
1) DSL 31 31 Data store to location [octal] not
in link
1) number [decimal] for [module] in [file]
1) DSO 31 31 Data statement overflow in module [name]
1) DUZ 31 31 Decreasing undefined symbol count below
zero
1) EAS 31 31 Error creating overflow file for area AS
1) ECE 31 31 Error creating .EXE file
1) EHC 31 31 Error creating overflow file for area HC
1) EID 31 31 Error on input device status [status] fo
r [file]
1) ELC 31 31 Error creating overflow file for area LC
1) ELF 1 1 End of LOG file
1) ELN 7 1 End of link number [number], name [name]
1) ELS 31 31 Error creating overflow file for area LS
1) EMS 1 1 End of MAP segment
1) EOE 31 31 .EXE file output error
1) EOI 31 31 Error on input status [status] for [file
]
1) EOO 31 31 Error on output status [status] for [fil
e]
1) EOV 31 31 Error creating overlay file for [file]
Digital Equipment Corporation 28-AUG-79 Page 574
PCO Log Report
1) ESN 31 31 Extended symbol not expected
1) EXP 4 1 Expanding low segment to [decimal]P
1) EXS 1 1 EXIT segment
1) FCD 31 31 FORTRAN confused about data statements i
n module
1) [name]
1) FCF 1 1 Final code fixups
1) FEE 31 31 (Indexed file LOOKUP, ENTER, or RENAME e
rror)
1) FIN 1 1 LINK finished
1) FLE 31 31 (Indexed file LOOKUP, ENTER, or RENAME e
rror)
1) FOV 31 31 Cannot overlay F40 compiled code in [mod
ule]
1) FRE 31 31 (Indexed file LOOKUP, ENTER, or RENAME e
rror)
1) FSF 8 8 FORTRAN subroutine [name] not in expecte
d form,
1) MIXFOR fixup not done
1) FSI 8 8 FORTRAN requires FOROTS, /FORSE switch i
gnored
1) FSN 31 31 FUNCT. subroutine not loaded
1) GFE 31 31 GTJFN% JSYS failed for [file]
1) GSE 31 31 (Indexed file LOOKUP, ENTER, or RENAME e
rror)
1) HCL 31 31 High segment code not allowed in an over
lay link in module [module]
1) HSL 31 31 Attempt to set high segment origin too l
ow
1) HTL 31 31 Symbol hash table too large
1) IAS 31 31 Error inputting area AS
1) I4D 31 31 Illegal F40 DATA code [octal] in module
[name]
1) I4S 31 31 Illegal F40 sub-block [octal] in module
[name]
1) I4T 31 31 Illegal F40 table entry [octal] in modul
e [name]
1) IBC 31 31 Attempt to increase size of blank COMM
ON from
1) [decimal] to [decimal]
1) ICI 31 31 Insufficient core to initialize LINK
1) IDM 31 31 Illegal data mode for device
1) IFD 31 31 INIT failure for device [device]
1) IHC 31 31 Error inputting area HC
1) ILC 31 31 Error inputting area LC
1) ILS 31 31 Error inputting area LS
1) IMA 8 8 Incremental maps not yet available
1) IMM * 1 [number] included modules missing (fr
om file
Digital Equipment Corporation 28-AUG-79 Page 575
PCO Log Report
1) [file])
1) INS 31 31 I/O data block not set up
1) IOV 31 31 Input error for overlay file
1) IPO 31 31 Invalid Polish operator [octal]
1) IPX 31 31 Invalid PSECT index
1) IRB 31 31 Illegal REL Block Type [octal] for [mod
ule] in
1) [file]
1) ISD 8 8 Inconsistent symbol definition for [symb
ol]
1) ISN 31 31 Illegal symbol name
1) ISO 31 31 Invalid store operator [octal]
1) ISP 31 31 Incorrect symbol pointer
1) ISS 8 8 Insufficient space for symbol table (aft
er PSECT
1) [name])--table truncated
1) IST 31 31 Inconsistency in switch table
1) ITT 8 8 Illegal type 12 link number [octal] in
module
1) [name]
1) IUU * 31 Illegal user UUO at PC [octal]
1) IVC 31 31 Index validation check failed at [addres
s]
1) LDS 1 1 LOAD segment
1) LFC 1 1 LOG file continuation
1) LFI 1 1 LOG file initilaization
1) LII 8 1 Library index inconsistent, continuing
1) LIM 1 1 LINK initialization
1) LMN 6 1 Loading module [module]
1) LNA 8 8 Link name [name] already assigned to lin
k number
1) [decimal]
1) LNC 31 31 Link number [decimal] not in core
1) LNL 8 8 Link number [decimal] not loaded
1) LNN 8 8 Link name [name] not assigned
1) LSM 8 8 /LINK switch missing while loading link
number
1) [decimal] -- /LINK assumed
1) LSS * 1 Library Search Symbols (Entry points)
1) MDS 31 8 Multiply-Defined Global symbol [symb
ol] in
1) module [name] defined value = [octal
], this
1) value = [octal]
1) MOV 1 1 Moving low segment to expand area [area]
1) MPS 1 1 MAP segment
1) MRN 1 1 Multiple regions not yet implemented
1) MSN 8 8 MAP sorting not yet implemented
1) MSR 31 31 /MIXFOR switch required to mix F40 and
FORTRAN
1) code
Digital Equipment Corporation 28-AUG-79 Page 576
PCO Log Report
1) MSS 8 8 MAXCOR set too small, increasing to [dec
imal]P
1) MTB 8 8 MAXCOR too big, [decimal]P used
1) MTS 8 8 MAXCOR too small, at least [decima
l]P is
1) required
1) NBR 31 31 Attempt to position to node before root
1) NEB 8 8 No end block seen for [module]
1) NED 31 24 Non-existent device
1) NSA * 1 No start address
1) OAS 31 31 Error outputting area AS
1) ODV 31 31 Overlay file must be created on a file s
tructure
1) OEL 8 8 Output error on LOG file, file clos
ed, job
1) continuing
1) OEM 8 8 Output error on MAP file, file clos
ed, job
1) continuing
1) OES 8 8 Output error on symbol file, file clos
ed, job
1) continuing
1) OEX 8 8 Output error on XPN file, file clos
ed, job
1) continuing
1) OFN 31 31 Old FORTRAN (F40) module not available
1) OHC 31 31 Error outputting area HC
1) OHN 31 31 Overlay handler not loaded
1) OLC 31 31 Error outputting area LC
1) OLS 31 31 Error outputting area LS
1) OMB 31 31 /OVERLAY switch must be first
1) ONS 8 1 Overlays not supported in this version o
f LINK
1) OOV 31 31 Output error for overlay file status
[status]
1) for [file]
1) OS2 1 1 Overlay segment phase 2
1) PAS 1 1 Area AS overflowing to DSK
1) PBI 8 8 Program break [octal] invalid in [name]
1) PCL 8 8 Program too complex to load, saving as [
file]
1) PCX 8 1 Program too complex to load and execute,
will run from [file]
1) PEF 31 8 Premature end of file in [file]
1) PHC 1 1 Area HC overflowing to DSK
1) PLC 1 1 Area LC overflowing to DSK
1) PLS 1 1 Area LS overflowing to DSK
1) POO 8 8 PSECT overlay occurred--[name],[name]
1) POT 1 1 Plotting overlay tree
Digital Equipment Corporation 28-AUG-79 Page 577
PCO Log Report
1) PSF 31 31 Polish symbol fixups not yet implemented
1) PUF 31 31 PAGE. UUO failed, error code was [octal]
1) RBS 31 31 REL Block Type [octal] too short for [fi
le]
1) RCU 31 31 Relocation counter [symbol] undefined,
set to
1) [symbol]
1) RED 1 1 Reducing low segment to [decimal]P
1) RER * 1 Request External References (Inter-Lin
k Entry
1) Points)
1) RGS 1 1 Rehashing Global symbol table from [deci
mal] to
1) [decimal]
1) RLC * 1 Reloc ctr. initial value current value
[octal]
1) RUC 31 31 Returning unavailable core
1) SFU 8 8 Symbol table fouled up
1) SIF 31 31 Symbol insert failure, non-zero hole fou
nd
1) SLS 8 8 Symbols must be in low segment
1) SMP 8 8 SIMULA main program not loaded
1) SNC 31 31 Symbol [symbol] already defined, but
not as
1) COMMON
1) SNL 1 1 Scanning new command line
1) SNP 8 8 Subroutine [symbol] in link number [deci
mal] not
1) on path for call from link number [deci
mal]
1) SOE 31 31 Saved file output error - status [status
]
1) SRB 8 8 Attempt to set relocation counter [name
] below
1) initial value of [octal]
1) SSN 8 8 Symbol table sorting not yet implemented
1) SST 1 1 Sorting symbol table
1) STC 1 1 Symbol table completed
1) STL 31 31 High segment code too long
1) T13 31 31 LVAR (type 13) code not implemented
1) TDS 8 8 Too late to delete initial symbols
1) TEC 31 31 Trying to expand COMMON [symbol] from [
decimal]
1) to [decimal] in module [name]
1) TMA 31 8 Too many ambiguous requests in link [
number],
1) use /ARSIZE:[decimal]
1) TTF 8 8 Too many titles found
1) UAR 8 8 Undefined assign for [symbol] in [file]
Digital Equipment Corporation 28-AUG-79 Page 578
PCO Log Report
1) UGS * 1 Undefined global symbols
1) UNS 31 31 Universal files not supported loading [f
ile]
1) URC 31 1 Unknown Radix-50 symbol code
1) USA 8 8 Undefined start address [symbol]
1) USC 31 8 Undefined subroutine [name] called fr
om link
1) number [decimal]
1) VAL * 1 [symbol] [value] [type]
1) XCT * 1 [Name] execution
1) ZSV 8 8 Zero switch value illegal
1) END OF COMMENT \
1)10 SUBTTL LONG MESSAGES
****
2)9 VIATBL (FEE,-1,LRELEN)
2) VIATBL (FLE,0,LRELEN)
2) VIATBL (FRE,0,LRELEN)
2) VIATBL (GSE,0,LRELEN)
2)10 SUBTTL CODE LVL SEV FIRST LINE MESSAGE
2) COMMENT \
2) CODE LVL SEV MESSAGE
2) ABT 31 31 Load aborted due to %LNKTMA errors, max. /ARSIZE
: needed was [decimal]
2) AIC 31 31 Attempt to increase size of {blank common} fro
m [decimal] to [decimal]
2) {common [symbol}
2) {Detected in module [symbol] from file [file]}
2) AMP 8 8 ALGOL main program not loaded
2) ANM 31 31 Address not in memory
2) ARL 8 8 Ambiguous request in link [decimal] {name [name]
} for [symbol] defined in
2) links [decimal], [decimal], ...
2) AZW 31 31 Allocating zero words
2) B4R 8 8 Bad F40 produced REL file
2) {Detected in module [symbol] from file [file]}
2) CCD 31 31 CPU conflict
2) {Detected in module [symbol] from file [file]}
2) CLF 1 1 Closing log file, continuing on file [file]
2) CMC 31 31 Cannot mix COBOL-68 and COBOL-74 compiled code
2) {Detected in module [symbol] from file [file]}
2) CMF 31 31 COBOL module must be loaded first
2) {Detected in module [symbol] from file [file]}
2) CNW 31 31 Code not yet written at [label]
2) CSF 1 1 Creating saved file
2) DEB 31 1 [Name] execution
2) DLT 38 1 Execution deleted
2) DNA 31 31 DDT not available
2) DNS 8 8 Device not specified for switch [switch]
2) DRC 8 8 Decreasing relocation counter [symbol] from [oct
al] to [octal]
2) {Detected im module [symbol] from file [file]}
Digital Equipment Corporation 28-AUG-79 Page 579
PCO Log Report
2) DSC 31 31 Data store to common [symbol] not in link number
[decimal]
2) {Detected in module [symbol] from file [file]}
2) DSL 31 * Data store to location [octal] not in link numbe
r [decimal]
2) {Detected in module [symbol] from file [file]}
2) DSO 31 31 Data statement overflow
2) {Detected in module [symbol] from file [file]}
2) DUZ 31 31 Decreasing undefined symbol count below zero
2) EAS 31 31 Error creating area AS overflow file [reason] [f
ile]
2) ECE 31 31 Error creating EXE file [reason] [file]
2) EGD 1 1 Emergency GETSEG done
2) EHC 31 31 Error creating area HC overflow file [reason] [f
ile]
2) EIF 31 31 Error for input file Status [octal] for file [fi
le]
2) ELC 31 31 Error creating area LC overflow file [reason] [f
ile]
2) ELF 1 1 End of log file
2) ELN 7 1 End of link number [decimal] {name [name]}
2) ELS 31 31 Error creating area LS overflow file [reason] [f
ile]
2) EMS 1 1 End of MAP segment
2) EOE 31 31 EXE file output error Status [octal] for file [f
ile]
2) EOI 31 31 Error on input Status [octal] for file [file]
2) EOO 31 31 Error on output Status [octal] for file [file]
2) EOV 31 31 Error creating overlay file [reason] [file]
2) ESN 31 31 Extended symbol not expected
2) EXP 3 1 Expanding low segment to [memory]
2) EXS 1 1 EXIT segment
2) FCD 31 31 F40 confused about data statements
2) {Detected in module [symbol] from file [file]}
2) FCF 1 1 Final code fixups
2) FEE 31 31 ENTER error [reason] [file]
2) FIN 1 1 LINK finished
2) FLE 31 31 LOOKUP error [reason] [file]
2) FOV 31 31 Cannot overlay F40 compiled code
2) {Detected in module [symbol] from file [file]}
2) FRE 31 31 RENAME error [reason] [file]
2) FSF 8 8 FORTRAN subroutine not in expected format, /MIXF
OR fixup not done
2) {Detected in module [symbol] from file [file]}
2) FSI 8 8 FORTRAN requires FOROTS, /FORSE switch ignored
2) FSN 31 31 FUNCT. subroutine not loaded
2) GFE 31 31 GTJFN% JSYS failed for file [file]
2) GSE * * GETSEG error [reason] [file]
2) HCL 31 31 High segment code not allowed in an overlay link
Digital Equipment Corporation 28-AUG-79 Page 580
PCO Log Report
2) {Detected in module [symbol] from file [file]}
2) HSL 31 31 Attempt to set high segment origin too low
2) {Detected in module [symbol] from file [file]}
2) HTL 31 31 Symbol hash table too large
2) IAS 31 31 Error inputting area AS Status [octal] for file
[file]
2) I4D 31 31 Illegal F40 data code [octal]
2) {Detected in module [symbol] from file [file]}
2) I4S 31 31 Illegal F40 sub-block [octal]
2) {Detected in module [symbol] from file [file]}
2) I4T 31 31 Illegal F40 table entry [octal]
2) {Detected in module [symbol] from file [file]}
2) ICB 8 8 Invalid chain REL block (type 12) link number [o
ctal]
2) {Detected in module [symbol] from file [file]}
2) IDM 31 31 Illegal data mode for device [device]
2) IHC 31 31 Error inputting area HC Status [octal] for file
[file]
2) ILC 31 31 Error inputting area LC Status [octal] for file
[file]
2) ILS 31 31 Error inputting area LS Status [octal] for file
[file]
2) IMA 8 8 Incremental maps not yet available
2) IMI 31 31 Insufficient memory to initialize LINK
2) IMM * 1 [Decimal] included modules missing {from file [f
ile]}
2) INS 31 31 I/O data block not set up
2) IOV 31 31 Input error for overlay file Status [octal] for
file [file]
2) IPO 31 31 Invalid polish operator [octal]
2) {Detected in module [symbol] from file [file]}
2) IPX 31 31 Invalid psect index {for psect [symbol]}
2) {Detected in module [symbol] from file [file]}
2) IRB 31 31 Illegal REL block type [octal]
2) {Detected in module [symbol] from file [file]}
2) IRC 31 31 Illegal relocation counter
2) {Detected in module [symbol] from file [file]}
2) IRR 8 8 Illegal request/require block
2) {Detected in module [symbol] from file [file]}
2) ISD 8 8 Inconsistent symbol definition for symbol [symbo
l]
2) {Detected in module [symbol] from file [file]}
2) ISN 31 31 Illegal symbol name [symbol]
2) {Detected in module [symbol] from file [file]}
2) ISO 31 31 Invalid polish store operator [octal]
2) {Detected in module [symbol] from file [file]}
2) ISP 31 31 Incorrect symbol pointer
2) ISS 8 8 Insufficient space for symbol table after psect
[symbol] -- table truncated
Digital Equipment Corporation 28-AUG-79 Page 581
PCO Log Report
2) IST 31 31 Inconsistency in switch table
2) ITB 31 31 Invalid text in ASCII block from file [file]
2) IUU * 31 Illegal user UUO at PC [octal]
2) IVC 31 31 Index validation check failed at [address]
2) LDS 1 1 LOAD segment
2) LFB 1 1 LINK log file begun on [date]
2) LFC 1 1 Log file continuation
2) LFI 1 1 Log file initialization
2) LII 8 1 Library index inconsistent, continuing
2) LIN 1 1 LINK initialization
2) LMN 6 1 Loading module [symbol]
2) LNA 8 8 Link name [name] already assigned to link number
[decimal]
2) LNL 8 8 Link number [decimal] not loaded
2) LNM 31 31 Link number [decimal] not in memory
2) LNN 8 8 Link name [name] not assigned
2) LNS 31 8 Low segment data base not same size
2) LSM 8 8 /LINK switch missing while loading link number [
decimal] -- assumed
2) LSS 31 1 {No} Library search symbols (entry points)
2) {[symbol] [octal]
2) . . . . . . }
2) MDS 8 8 Multiply-defined global symbol [symbol]
2) {Detected in module [symbol] from file [file]}
2) Defined value = [octal], this value = [octal]
2) MEF 31 31 Memory expansion failed
2) MOV 1 1 Moving low segment to expand area [area]
2) MPS 1 1 MAP segment
2) MRN 1 1 Multiple regions not yet implemented
2) MSN 8 8 Map sorting not yet implemented
2) MSR 31 31 /MIXFOR switch required to mix F40 and FORTRAN c
ode
2) {Detected in module [symbol] from file [file]}
2) MSS 8 8 /MAXCOR: set too small, expanding to [memory]
2) MTB 8 8 /MAXCOR: too big, [memory] used
2) MTS 8 8 /MAXCOR: too small, at least [memory] is require
d
2) NBR 31 31 Attempt to position to node before the root
2) NEB 8 8 No end block seen
2) {Detected in module [symbol] from file [file]}
2) NED 31 24 Non-existent device [device]
2) NPS 8 8 Non-existent psect [symbol] specified for symbol
table
2) NSA 31 1 No start address
2) OAS 31 31 Error outputting area AS Status [octal] for file
[file]
2) OEL 8 8 Output error on log file, file closed, load cont
inuing {Status [octal] for
2) file [file]}
Digital Equipment Corporation 28-AUG-79 Page 582
PCO Log Report
2) OEM 8 8 Output error on map file, file closed, load cont
inuing Status [octal] for
2) file [file]
2) OES 8 8 Output error on symbol file, file closed, load c
ontinuing Status [octal] for
2) file [file]
2) OEX 8 8 Output error on XPN file, file closed, load cont
inuing Status [octal] for
2) file [file]
2) OFD 31 31 OPEN failure for device [device]
2) OFN 31 31 Old FORTRAN (F40) module not available
2) {Detected in module [symbol] from file [file]}
2) OFS 31 31 Overlay file must be created on a file structure
2) OHC 31 31 Error outputting area HC Status [octal] for file
[file]
2) OHN 31 31 Overlay handler not loaded
2) OLC 31 31 Error outputting area LC Status [octal] for file
[file]
2) OLS 31 31 Error outputting area LS Status [octal] for file
[file]
2) OMB 31 31 /OVERLAY switch must be first
2) ONS 8 1 Overlays not supported in this version of LINK
2) OOV 31 31 Output error for overlay file Status [octal] for
file [file]
2) OS2 1 1 Overlay segment phase 2
2) OSL 8 8 Overlaid program symbols must be in low segment
2) PAS 1 1 Area AS overflowing to disk
2) PBI 8 8 Program break [octal] invalid
2) {Detected in module [symbol] from file [file]}
2) PCL 8 8 Program too complex to load, saving as file [fil
e]
2) PCX 8 1 Program too complex to load and execute, will ru
n from file [file]
2) PEF 31 8 Premature end of file from file [file]
2) PHC 1 1 Area HC overflowing to disk
2) PLC 1 1 Area LC overflowing to disk
2) PLS 1 1 Area LS overflowing to disk
2) POT 1 1 Plotting overlay tree
2) POV 8 8 Psects [symbol] and [symbol] overlap from [addre
ss] to [address]
2) PUF 31 31 PAGE. UUO failed, error code was [octal]
2) RBS 31 31 REL block type [octal] too short
2) {Detected in module [symbol] from file [file]}
2) RED 1 1 Reducing low segment to [memory]
2) RER * 1 {No} Request external references (inter-link ent
ry points)
2) {[symbol] [octal]
2) . . . . . .}
2) RGS 1 1 Rehashing global symbol table from [decimal] to
[decimal]
2) RLC 31 1 Reloc ctr. initial value current value
Digital Equipment Corporation 28-AUG-79 Page 583
PCO Log Report
2) [symbol] [octal] [octal]
2) {. . . . . . . . .}
2) RME 31 * REMAP error{, high segment origin may be incorre
ct}
2) RUM 31 31 Returning unavailable memory
2) SFU 8 8 Symbol table fouled up
2) SIF 31 31 Symbol insert failure, non-zero hole found
2) SMP 8 8 SIMULA main program not loaded
2) SNC 31 31 Symbol [symbol] already defined, but not as comm
on
2) {Detected in module [symbol] from file [file]}
2) SNL 1 1 Scanning new command line
2) SNP 8 8 Subroutine [symbol] in link number [decimal] not
on path for call from link
2) number [decimal] {name [name]}
2) SOE 31 31 Saved file output error Status [octal] for file
[file]
2) SRB 8 8 Attempt to set relocation counter [symbol] below
initial value of [octal]
2) {Detected in module [symbol] from file [file]}
2) SRP 31 31 /SET: switch required for psect [symbol]
2) {Detected in module [symbol] from file [file]}
2) SSN 8 8 Symbol table sorting not yet implemented
2) SST 1 1 Sorting symbol table
2) STC 1 1 Symbol table completed
2) STL 31 31 High segment code too long
2) {Detected in module [symbol] from file [file]}
2) T13 31 31 LVAR REL block (type 13) not implemented
2) {Detected in module [symbol] from file [file]}
2) TDS 8 8 Too late to delete initial symbols
2) TMA 31 8 Too many ambiguous requests in link [decimal] {n
ame [name]}, use
2) /ARSIZE:[decimal]
2) {Detected in module [symbol] from file [file]}
2) TTF 8 8 Too many titles found
2) UAR 8 8 Undefined assign for [symbol]
2) {Detected in module [symbol] from file [file]}
2) UGS * 1 {No} Undefined global symbols
2) {[symbol] [octal]
2) . . . . . .}
2) UNS 31 31 Universal file REL block (type 777) not supporte
d
2) from file [file]
2) URC 31 1 Unknown radix-50 symbol code [octal] [symbol]
2) {Detected in module [symbol] from file [file]}
2) USA 8 8 Undefined start address [symbol]
2) {Detected in module [symbol] from file [file]}
2) USC 31 8 Undefined subroutine [symbol] called from link n
umber [decimal] {name
Digital Equipment Corporation 28-AUG-79 Page 584
PCO Log Report
2) [name]}
2) USI 8 16 Undefined symbol [symbol] illegal in switch [swi
tch]
2) VAL 31 1 Symbol [symbol] [octal] [type]
2) XCT 31 1 [Name] execution
2) ZSV 8 8 Zero switch value illegal
2) END OF COMMENT \
2)11 SUBTTL LONG MESSAGES
**************
1)10 HASH AMP,0,<^_
****
2)11 HASH AIC,0,<^_
2) FORTRAN common areas cannot be expanded once define
d.
2) Either load the module with the largest definition firs
t,
2) or use the /COMMON: switch to reserve the needed space.>
2) HASH AMP,0,<^_
**************
1)10 HASH ANC,0,<^_
1) LINK expected a particular user address to be in memor
y,
****
2)11 HASH ANM,0,<^_
2) LINK expected a particular user address to be in memor
y,
**************
1)10 ;**;[1120] Insert before LNKCEF long message DZN 22-Sep-7
8
1) HASH CCD,0,<^_
****
2)11 HASH CCD,0,<^_
**************
1)10 HASH CEF,0,<^_
1) LINK cannot expand core further. All permitted overflo
ws
1) to disk have been tried, but your program is still t
oo
1) large for available memory. A probable cause is a lar
ge
1) global symbol table, which cannot be overflowed to disk.
>
1) HASH CLF,0,<^_
1) You have changed the log file device. The old log file
is
1) closed; further log entries are written in the new l
og
1) file.>
1) HASH CMC,0,<^_
Digital Equipment Corporation 28-AUG-79 Page 585
PCO Log Report
****
2)11 HASH CLF,0,<^_
2) You have changed the log file specification. The old l
og
2) file is closed; further log entries are written in t
he
2) new log file.>
2) HASH CMC,0,<^_
**************
1)10 LINK is generating your .EXE file.>
1) ;**;[1144] Replace before DNA long message DZN 16-Feb-7
9
1) HASH DEB,0,<^_
1) LINK is beginning program execution at the named debugg
er
1) which you have specified.>
1) HASH DLT,0,<^_
1) Though you have asked for program execution, LINK cann
ot
1) proceed due to earlier fatal compiler or LINK errors.>
1) HASH DNA,0,<^_
1) A monitor call for SYS:UDDT.EXE failed.>
1) HASH DNS,0,<^_
****
2)11 LINK is generating your executable (EXE) file.>
2) HASH DEB,0,<^_
2) LINK is beginning program execution at the named debugge
r.>
2) HASH DLT,0,<^_
2) Though you have asked for program execution, LINK cann
ot
2) proceed due to earlier fatal compiler or LINK error
s.
2) Your program is left in memory or in an executable file.
>
2) IFN TOPS20,<
2) HASH DNA,0,<^_
2) A monitor call to obtain SYS:UDDT.EXE failed. This c
an
2) happen if you have redefined the logical name SYS: a
nd
2) neglected to include any directory that contains UDDT.EX
E.>
2) > ;END IFN TOPS20
2) HASH DNS,0,<^_
**************
1)10 You loaded a FORTRAN-compiled file with DATA stateme
nt
1) assignments to a COMMON area. The COMMON area is alrea
dy
1) defined in an ancestor link.>
Digital Equipment Corporation 28-AUG-79 Page 586
PCO Log Report
1) HASH DSL,0,<^_
****
2)11 You loaded a FORTRAN-compiled module with DATA stateme
nt
2) assignments to a common area. The common area is alrea
dy
2) defined in an ancestor link. Restructure the load so th
at
2) the DATA statements are loaded in the same link as t
he
2) common area to which they refer.>
2) HASH DSL,0,<^_
**************
1)10 If [octal] is less than 140, this message has
1) level 8 and severity 8.
****
2)11 If the location is less than 140, this message has
2) level 8 and severity 8.
**************
1)10 HASH EHC,0,<^_
****
2)11 HASH EGD,0,<^_
2) LINK has expanded its low segment so large that one of i
ts
2) larger high segments will not now fit in memory. LI
NK
2) will attempt to shrink its internal tables so that t
he
2) GETSEG will succeed and loading continue.>
2) HASH EHC,0,<^_
**************
1)10 HASH EID,0,<^_
1) A read error has occurred on the input device. Use of t
he
1) device is terminated and the file is released. The stat
us
1) is represented by the right half of the file status wor
d.
****
2)11 HASH EIF,0,<^_
2) A read error has occurred on the input file. Use of t
he
2) file is terminated and the file is released. The stat
us
2) is represented by the right half of the file status wor
d.
**************
1)10 HASH EID,0,<^_
1) A read error has occurred on the input device. Use of t
Digital Equipment Corporation 28-AUG-79 Page 587
PCO Log Report
he
1) device is terminated and the file is released.>
1) > ;END IFN TOPS20
****
2)11 HASH EIF,0,<^_
2) A read error has occurred on the input file. Use of t
he
2) file is terminated and the file is released.>
2) > ;END IFN TOPS20
**************
1)10 ;(There is no long text for the ELF message.)
1) HASH ELN,0,<^_
****
2)11 HASH ELF,0,<^_
2) LINK has finished writing your log file. The file
is
2) closed.>
2) HASH ELN,0,<^_
**************
1)10 HASH EOE,0,<^_
1) LINK could not write the saved file on the disk. Y
ou
1) could be over your disk quota, or the disk could be fu
ll
1) or have errors.>
1) IFE TOPS20,<
****
2)11 IFE TOPS20,<
2) HASH EOE,0,<^_
2) LINK could not write the saved file on the disk. T
he
2) status is represented by the left half of the file stat
us
2) word. Refer to the DECsystem-10 Monitor Calls for t
he
2) explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH EOE,0,<^_
2) LINK could not write the saved file on the disk.>
2) > ;END IFN TOPS20
2) IFE TOPS20,<
**************
1)10 HASH EOV,0,<^_
1) LINK cannot write the overlay file on disk. You may
be
1) over your disk quota; the disk may be full; or the di
sk
1) may have errors.>
Digital Equipment Corporation 28-AUG-79 Page 588
PCO Log Report
1) HASH ESN,0,<^_
****
2)11 IFE TOPS20,<
2) HASH EOV,0,<^_
2) LINK could not write the overlay file on the disk. T
he
2) status is represented by the left half of the file stat
us
2) word. Refer to the DECsystem-10 Monitor Calls for t
he
2) explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH EOV,0,<^_
2) LINK could not write the saved file on the disk.>
2) > ;END IFN TOPS20
2) HASH ESN,0,<^_
**************
1)10 HASH EXP,0,<^_
1) LINK is expanding memory to the specified amount. You c
an
1) speed up future loads of this program by using the /CO
RE
1) switch to allocate the required core.>
1) HASH EXS,0,<^_
1) LINK is in the last stages of loading your program (f
or
1) example, creating .EXE and symbol files, preparing f
or
1) execution if requested).>
****
2)11 IFE TOPS20,<
2) HASH EXP,0,<^_
2) LINK is expanding memory to the specified amount. You c
an
2) speed up future loads of this program by using the /COR
E:
2) switch to allocate the required memory.>
2) > ;END IFE TOPS20
2) HASH EXS,0,<^_
2) LINK is in the last stages of loading your program (f
or
2) example, creating EXE and symbol files, preparing f
or
2) execution if requested).>
**************
1)10 subroutine.>
1) HASH FSI,0,<^_
1) You gave the /FORSE switch while loading FORTRAN-compil
ed
1) code.>
Digital Equipment Corporation 28-AUG-79 Page 589
PCO Log Report
1) HASH FSN,0,<^_
****
2)11 subroutine. This message is not expected to occur. If
it
2) does, please notify your Software Specialist or send
a
2) Software Performance Report (SPR) to DIGITAL.>
2) HASH FSI,0,<^_
2) You gave the /FORSE switch while loading FORTRAN-compil
ed
2) code. LINK ignored the switch and will use the FORTR
AN
2) run-time system.>
2) HASH FSN,0,<^_
**************
1)10 ;**;[1144] Insert before LNKGST long message DZN 16-Feb-7
8
1) HASH GFE,0,<^_
****
2)11 HASH GFE,0,<^_
**************
1)10 ;**;[1115] Insert before LNKHSL long message DZN 2-Sep-78
1) HASH HCL,0,<^_
****
2)11 HASH HCL,0,<^_
**************
1)10 HASH IAS,0,<^_
1) An error occurred while reading in the ALGOL symb
ol
1) table.>
1) HASH I4D,0,<^_
****
2)11 IFE TOPS20,<
2) HASH IAS,0,<^_
2) An error occurred while reading in the ALGOL symb
ol
2) table. The status is represented by the right half of t
he
2) file status word. Refer to the DECsystem-10 Monitor Cal
ls
2) for the explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH IAS,0,<^_
2) An error occurred while reading in the ALGOL symb
ol
2) table.>
2) > ;END IFN TOPS20
2) HASH I4D,0,<^_
Digital Equipment Corporation 28-AUG-79 Page 590
PCO Log Report
**************
1)10 HASH IBC,0,<^_
1) A blank COMMON area cannot be expanded once define
d.
1) Either load the module with the largest definition firs
t,
1) or use the /COMMON switch to reserve the needed space.>
1) HASH ICI,0,<^_
1) LINK needs more memory than is available.>
1) HASH IDM,0,<^_
****
2)11 HASH ICB,0,<^_
2) REL block type 12 (chain), generated by the MAC
RO
2) pseudo-op .LINK and .LNKEND, must contain a number from
1
2) to 100 (octal) in its first word. The link word
is
2) ignored.>
2) HASH IDM,0,<^_
**************
1)10 HASH IFD,0,<^_
1) An OPEN or INIT monitor call for the specified devi
ce
1) failed. The device may be under another user's control.
>
1) HASH IHC,0,<^_
****
2)11 IFE TOPS20,<
2) HASH IHC,0,<^_
2) An error occurred while reading in your high-segme
nt
2) code. The status is represented by the right half of t
he
2) file status word. Refer to the DECsystem-10 Monitor Cal
ls
2) for the explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH IHC,0,<^_
**************
1)10 HASH ILC,0,<^_
1) An error occurred while reading in your low-segment code
.>
1) HASH ILS,0,<^_
****
2)11 > ;END IFN TOPS20
2) IFE TOPS20,<
2) HASH ILC,0,<^_
Digital Equipment Corporation 28-AUG-79 Page 591
PCO Log Report
2) An error occurred while reading in your low-segment cod
e.
2) The status is represented by the right half of the fi
le
2) status word. Refer to the DECsystem-10 Monitor Calls f
or
2) the explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH ILC,0,<^_
2) An error occurred while reading in your low-segment code
.>
2) > ;END IFN TOPS20
2) IFE TOPS20,<
2) HASH ILS,0,<^_
2) An error occurred while reading in your local symb
ol
2) table. The status is represented by the right half of t
he
2) file status word. Refer to the DECsystem-10 Monitor Cal
ls
2) for the explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH ILS,0,<^_
**************
1)10 HASH IMA,0,<^_
1) The INCREMENTAL keyword for /MAP is not implemented. T
he
1) switch is ignored.>
1) ;(There is no long text for the IMM message.)
1) HASH INS,0,<^_
****
2)11 > ;END IFN TOPS20
2) HASH IMA,0,<^_
2) The INCREMENTAL keyword for the /MAP: switch is n
ot
2) implemented. The switch is ignored.>
2) HASH IMI,0,<^_
2) LINK needs more memory than is available.>
2) HASH IMM,0,<^_
2) You have requested with the /INCLUDE: switch that t
he
2) named modules (if any) be loaded. Specify fil
es
2) containing these modules.>
2) HASH INS,0,<^_
**************
1)10 REL Block Type 11 (POLISH). This is an internal LI
NK
1) error. This message is not expected to occur. If
Digital Equipment Corporation 28-AUG-79 Page 592
PCO Log Report
it
1) does, please notify your Software Specialist or send
a
1) Software Performance Report (SPR) to DIGITAL.>
1) HASH IPX,0,<^_
1) A REL block contains a reference to a nonexistent PSEC
T.
1) This error is probably caused by a fault in the langua
ge
1) translator used for the program.>
1) HASH IRB,0,<^_
****
2)11 REL block type 11 (polish). This message is not expect
ed
2) to occur. If it does, please notify your Softwa
re
2) Specialist or send a Software Performance Report (SPR)
to
2) DIGITAL.>
2) HASH IPX,0,<^_
2) A REL block contains a reference to a nonexistent psec
t.
2) This error is probably caused by a fault in the langua
ge
2) translator used for the program. This error is n
ot
2) expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
2) HASH IRB,0,<^_
**************
1)10 recognize, or it may be an ASCII or .EXE file.>
1) HASH ISD,0,<^_
****
2)11 recognize, or it may be an ASCII or EXE file.>
2) IFN .NWBLK,<
2) HASH IRC,0,<^_
2) One of the new style 1000+ block types has an illeg
al
2) relocation counter. This message is not expected
to
2) occur. If it does, please notify your Software Speciali
st
2) or send a Software Performance Report (SPR) to DIGITAL.>
2) HASH IRR,0,<^_
2) One of the REL block types 1042 or 1043 is in the wro
ng
Digital Equipment Corporation 28-AUG-79 Page 593
PCO Log Report
2) format. This message is not expected to occur. If
it
2) does, please notify your Software Specialist or send
a
2) Software Performance Report (SPR) to DIGITAL.>
2) > ;END IFN .NWBLK
2) HASH ISD,0,<^_
**************
1)10 symbol. This is an internal LINK error. This message
is
1) not expected to occur. If it does, please notify yo
ur
1) Software Specialist or send a Software Performance Repo
rt
1) (SPR) to DIGITAL.>
****
2)11 symbol. This error can be caused by a fault in t
he
2) language translator used for the program. This message
is
2) not expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
**************
1)10 REL Block Type 11 (POLISH). This is an internal LI
NK
1) error. This message is not expected to occur. If
it
1) does, please notify your Software Specialist or send
a
1) Software Performance Report (SPR) to DIGITAL.>
1) HASH ISP,0,<^_
1) There is an error in the global symbol table. Th
is
1) message is not expected to occur. If it does, plea
se
1) notify your Software Specialist or send a Softwa
re
1) Performance Report (SPR) to DIGITAL.>
1) ;(There is no long text for the ISS message.)
1) HASH IST,0,<^_
1) LINK has found errors in the switch table passed from t
he
1) SCAN module. This message is not expected to occur.
If
1) it does, please notify your Software Specialist or send
a
Digital Equipment Corporation 28-AUG-79 Page 594
PCO Log Report
1) Software Performance Report (SPR) to DIGITAL.>
1) HASH ITT,0,<^_
1) REL Block Type 12 (CHAIN) must contain a number from 1
to
1) 100 (octal) in its first word.>
1) ;(There is no long text for the IUU message.)
1) HASH IVC,0,<^_
****
2)11 REL block type 11 (polish). This error can be caused by
a
2) fault in the language translator used for the progra
m.
2) This message is not expected to occur. If it does, plea
se
2) notify your Software Specialist or send a Softwa
re
2) Performance Report (SPR) to DIGITAL.>
2) HASH ISP,0,<^_
2) There is an error in the global symbol table. This is
an
2) internal LINK error. This message is not expected
to
2) occur. If it does, please notify your Software Speciali
st
2) or send a Software Performance Report (SPR) to DIGITAL.>
2) HASH ISS,0,<^_
2) There is insufficient address space for the symbol tab
le
2) between the named psect and the next higher one or the e
nd
2) of the address space. Restructure your psect layout
to
2) allow sufficient room for the symbol table.>
2) HASH IST,0,<^_
2) LINK has found errors in the switch table passed from t
he
2) SCAN module. This is an internal error. This message
is
2) not expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
2) HASH ITB,0,<^_
2) LINK has failed to complete the processing of an ASC
II
2) text REL block from the named file. This is an intern
al
2) error. This message is not expected to occur. If
it
2) does, please notify your Software Specialist or send
Digital Equipment Corporation 28-AUG-79 Page 595
PCO Log Report
a
2) Software Performance Report (SPR) to DIGITAL.>
2) HASH IUU,0,<^_
2) LINK's user UUO (LUUO) handler has detected an illeg
al
2) UUO. This is an internal error. This message is n
ot
2) expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
2) HASH IVC,0,<^_
**************
1)10 at which failure occurred. This message is not expect
ed
1) to occur. If it does, please notify your Softwa
re
1) Specialist or send a Software Performance Report (SPR)
to
1) DIGITAL.>
1) ;**;[1120] Delete LNKKIA long message DZN 22-Sep-78
1) HASH LDS,0,<^_
1) The LINK module LNKLOD is beginning its processing.>
1) ;(There is no long text for the LFC message.)
1) ;(There is no long text for the LFI message.)
1) HASH LII,0,<^_
1) A REL Block Type 14 (INDEX) for a MAKLIB or FUDGE2 libra
ry
1) file is inconsistent. The library is searched, but t
he
1) index is ignored.>
1) HASH LIM,0,<^_
1) LINK is ready for your input.>
1) HASH LMN,0,<^_
****
2)11 at which failure occurred. This is an internal erro
r.
2) This message is not expected to occur. If it does, plea
se
2) notify your Software Specialist or send a Softwa
re
2) Performance Report (SPR) to DIGITAL.>
2) HASH LDS,0,<^_
2) The LINK module LNKLOD is beginning its processing.>
2) HASH LFB,0,<^_
2) LINK is creating your log file as a result of defining t
he
2) logical name LOG:.>
Digital Equipment Corporation 28-AUG-79 Page 596
PCO Log Report
2) HASH LFC,0,<^_
2) LINK is continuing your log file as a result of the /L
OG
2) switch.>
2) HASH LFI,0,<^_
2) LINK is beginning your log file as a result of the /L
OG
2) switch.>
2) HASH LII,0,<^_
2) A REL block type 14 (index) for a MAKLIB or FUDG
E2
2) generated library file is inconsistent. The library
is
2) searched, but the index is ignored.>
2) HASH LIN,0,<^_
2) LINK is beginning its processing by initializing i
ts
2) internal tables and variables.>
2) HASH LMN,0,<^_
**************
1)10 HASH LNC,0,<^_
1) LINK cannot find the named link in memory. This messa
ge
1) is not expected to occur. If it does, please notify yo
ur
1) Software Specialist or send a Software Performance Repo
rt
1) (SPR) to DIGITAL.>
1) HASH LNL,0,<^_
****
2)11 HASH LNL,0,<^_
**************
1)10 HASH LNN,0,<^_
****
2)11 HASH LNM,0,<^_
2) LINK cannot find the named link in memory. This is
an
2) internal error. This message is not expected to occu
r.
2) If it does, please notify your Software Specialist or se
nd
2) a Software Performance Report (SPR) to DIGITAL.>
2) HASH LNN,0,<^_
**************
1)10 HASH LSM,0,<^_
****
2)11 IFE FTSINGLE,<
2) HASH LNS,0,<^_
2) The length of LINK's low segment differs from the leng
Digital Equipment Corporation 28-AUG-79 Page 597
PCO Log Report
th
2) stored in the current LINK high segment. This occurs
if
2) some but not all of LINK's EXE files have been updat
ed
2) after rebuilding LINK from sources. Update all of LINK
's
2) EXE files.>
2) > ;END OF IFE FTSINGLE
2) HASH LSM,0,<^_
**************
1)10 ;(There is no long text for the LSS message.)
1) HASH MDS,0,<^_
1) The named module contains a new definition of an alrea
dy
1) defined global symbol. The new definition is used. Ma
ke
1) the definitions consistent and reload.>
1) HASH MOV,0,<^_
1) LINK is rearranging the low segment to make more room f
or
1) the specified area. area is one of the followin
g:
1) AS=ALGOL symbol table, BG=bound global symbols, DY=dynam
ic
1) free core, FX=fixup area, GS=global symbol table, HC=yo
ur
1) high-segment code, LC=your low-segment code, LS=loc
al
1) symbol tables, RT=relocation tables.>
1) HASH MPS,0,<^_
****
2)11 HASH LSS,0,<^_
2) The listed symbols and their values (if any) are tho
se
2) that are library search entry points.>
2) HASH MDS,0,<^_
2) The named module contains a new definition of an alrea
dy
2) defined global symbol. The old definition is used. Ma
ke
2) the definitions consistent and reload.>
2) HASH MEF,0,<^_
2) LINK cannot expand memory further. All permitt
ed
2) overflows to disk have been tried, but your program
is
2) still too large for available memory. A probable cause
is
2) a large global symbol table, which cannot be overflowed
to
Digital Equipment Corporation 28-AUG-79 Page 598
PCO Log Report
2) disk.>
2) HASH MOV,0,<^_
2) LINK is rearranging its low segment to make more room f
or
2) the specified area. Area is one of the followin
g:
2) AS=ALGOL symbol table, BG=bound global symbols, DY=dynam
ic
2) free memory, FX=fixup area, GS=global symbol tabl
e,
2) HC=your high-segment code, LC=your low-segment cod
e,
2) LS=local symbol tables, RT=relocation tables.>
2) HASH MPS,0,<^_
**************
1)10 Overlay structures consisting of more than one region a
re
1) not supported.>
1) HASH MSN,0,<^_
****
2)11 The REGION keyword for the /OVERLAY: switch is n
ot
2) implemented. The argument is ignored.>
2) HASH MSN,0,<^_
**************
1)10 must precede any module names or filenames.>
1) HASH MSS,0,<^_
****
2)11 must precede any file specifications.>
2) HASH MSS,0,<^_
**************
1)10 setting the /MAXCOR switch to this expanded size at t
he
1) beginning of the load.>
1) HASH MTB,0,<^_
1) You are attempting to set MAXCOR so large that the l
ow
1) segment cannot fit before the high segment. LINK will u
se
1) only the core indicated.>
1) HASH MTS,0,<^_
1) LINK needs more space than you gave with the /MAXC
OR
1) switch. Give a new /MAXCOR switch with at least t
he
1) required size.>
****
2)11 setting the /MAXCOR: switch to this expanded size at t
he
Digital Equipment Corporation 28-AUG-79 Page 599
PCO Log Report
2) beginning of the load.>
2) HASH MTB,0,<^_
2) You are attempting to specify the /MAXCOR: switch so lar
ge
2) that the low segment cannot fit before the high segmen
t.
2) LINK will use only the core indicated.>
2) HASH MTS,0,<^_
2) LINK needs more space than you gave with the /MAXCO
R:
2) switch. Give a new /MAXCOR: switch with at least t
he
2) required size.>
**************
1)10 ;**;[1146] Delete LNKNCL and LNKNCX long messages DZN
8-Mar-79
1) HASH NEB,0,<^_
1) No REL Block Type 5 (END) was found in the named modul
e.
1) This will happen if LINK finds two Type 6 Blocks (NAM
E)
1) without an intervening END, or if an end-of-file is fou
nd
1) before the END. Fatal messages usually follow th
is
1) message.>
1) HASH NED,0,<^_
****
2)11 HASH NEB,0,<^_
2) No REL block type 5 (end) was found in the named modul
e.
2) This will happen if LINK finds two type 6 blocks (nam
e)
2) without an intervening end, or if an end-of-file is fou
nd
2) before the end block is seen. LINK simulates the missi
ng
2) end block. However, fatal messages usually follow thi
s,
2) since this condition usually indicates a bad REL file.>
2) HASH NED,0,<^_
**************
1)10 ;**;[1144] Replace before LNKOAS long message DZN 16-Feb-7
9
1) HASH NSA,0,<^_
****
2)11 HASH NPS,0,<^_
2) You have specified the name of a psect after which LI
NK
2) should append the symbol table, but no psect with th
at
Digital Equipment Corporation 28-AUG-79 Page 600
PCO Log Report
2) name was loaded. Load the named psect or specify
an
2) existing psect for the symbols.>
2) HASH NSA,0,<^_
**************
1)10 HASH OAS,0,<^_
1) An error occurred while writing out the ALGOL symb
ol
1) table.>
1) HASH ODV,0,<^_
1) Specify a disk device for the overlay file.>
1) IFE TOPS20,<
****
2)11 IFE TOPS20,<
2) HASH OAS,0,<^_
2) An error occurred while writing out the ALGOL symb
ol
2) table. The status is represented by the right half of t
he
2) file status word. Refer to the DECsystem-10 Monitor Cal
ls
2) for the explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH OAS,0,<^_
2) An error occurred while writing out the ALGOL symb
ol
2) table.>
2) > ;END IFN TOPS20
2) IFE TOPS20,<
**************
1)10 HASH OEX,0,<^_
****
2)11 IFE TOPS20,<
2) HASH OEX,0,<^_
**************
1)10 IFE TOPS20,<
****
2)11 > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH OEX,0,<^_
2) An error has occurred on the output file. The output fi
le
2) is closed at the end of the last data successfully outpu
t.>
2) > ;END IFN TOPS20
2) HASH OFD,0,<^_
2) An OPEN or INIT monitor call for the specified devi
ce
Digital Equipment Corporation 28-AUG-79 Page 601
PCO Log Report
2) failed. The device may be under another user's control.
>
2) IFE TOPS20,<
**************
1)10 HASH OHC,0,<^_
1) An error occurred while writing out your high-segme
nt
1) code.>
1) HASH OHN,0,<^_
****
2)11 HASH OFS,0,<^_
2) Specify a disk device for the overlay file.>
2) IFE TOPS20,<
2) HASH OHC,0,<^_
2) An error occurred while writing out your high-segme
nt
2) code. The status is represented by the right half of t
he
2) file status word. Refer to the DECsystem-10 Monitor Cal
ls
2) for the explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH OHC,0,<^_
2) An error occurred while writing out your high-segme
nt
2) code.>
2) > ;END IFN TOPS20
2) HASH OHN,0,<^_
**************
1)10 HASH OLC,0,<^_
****
2)11 IFE TOPS20,<
2) HASH OLC,0,<^_
2) An error occurred while writing out your low-segme
nt
2) code. The status is represented by the right half of t
he
2) file status word. Refer to the DECsystem-10 Monitor Cal
ls
2) for the explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH OLC,0,<^_
**************
1)10 HASH OLS,0,<^_
****
2)11 > ;END IFN TOPS20
2) IFE TOPS20,<
Digital Equipment Corporation 28-AUG-79 Page 602
PCO Log Report
2) HASH OLS,0,<^_
2) An error occurred while writing out your local symb
ol
2) table. The status is represented by the right half of t
he
2) file status word. Refer to the DECsystem-10 Monitor Cal
ls
2) for the explanation of the file status bits.>
2) > ;END IFE TOPS20
2) IFN TOPS20,<
2) HASH OLS,0,<^_
**************
1)10 HASH OMB,0,<^_
1) The /OVERLAY switch must appear before you can use any
of
1) the following switches: /ARSIZE, /LINK, /NODE, /PLO
T,
1) /SPACE. (It is sufficient that the /OVERLAY switch appe
ar
1) on the same line as the first of these switches you use.
)>
1) ;(There is no long text for the ONS message.)
1) IFE TOPS20,<
****
2)11 > ;END IFN TOPS20
2) HASH OMB,0,<^_
2) The /OVERLAY switch must appear before you can use any
of
2) the following switches: /ARSIZE:, /LINK, /NODE, /PLO
T,
2) /SPACE. (It is sufficient that the /OVERLAY switch appe
ar
2) on the same line as the first of these switches you use.
)>
2) HASH ONS,0,<^_
2) LINK handles overlays with its LNKOV1 and LNKOV2 module
s.
2) Your installation has substituted dummy versions of thes
e.
2) You should request that your installation rebuild LI
NK
2) with the real LNKOV1 and LNKOV2 modules.>
2) IFE TOPS20,<
**************
1)10 HASH PAS,0,<^_
1) The job is too large to fit into the allowed memory a
nd
1) the ALGOL symbol table is being moved to disk.>
****
2)11 HASH OSL,0,<^_
2) You have specified /SYMSEG:HIGH or /SYMSEG:PSECT: wh
Digital Equipment Corporation 28-AUG-79 Page 603
PCO Log Report
en
2) loading an overlay structure. Specify /SYMSEG:LOW
or
2) /SYMSEG:DEFAULT.>
2) HASH PAS,0,<^_
2) The load is too large to fit into the allowed memory a
nd
2) the ALGOL symbol table is being moved to disk.>
**************
1)10 ;**;[1146] Insert LNKPCL and LNKPCX long messages before LNKPEF
DZN 8-Mar-79
1) IFE TOPS20,<
****
2)11 IFE TOPS20,<
**************
1)10 1. There are page gaps between PSECTs (except bel
ow
1) the high segment).
1) 2. There are PSECTs above the origin of the hi
gh
1) segment.
****
2)11 1. There are page gaps between psects (except bel
ow
2) the high segment).
2) 2. There are psects above the origin of the hi
gh
2) segment.
**************
1)10 LINK has saved your program as an .EXE file on disk a
nd
1) cleared your user memory. You can use a GET or R
UN
1) command to load the .EXE file.>
1) HASH PCX,0,<^_
****
2)11 4. Your program's low segment has the read-on
ly
2) attribute, or the high segment has the read a
nd
2) write attribute.
2) LINK has saved your program as an EXE file on disk a
nd
2) cleared your user memory. You can use a GET or R
UN
2) command to load the EXE file.>
2) HASH PCX,0,<^_
**************
1)10 1. There are page gaps between PSECTs (except bel
Digital Equipment Corporation 28-AUG-79 Page 604
PCO Log Report
ow
1) the high segment).
1) 2. There are PSECTs above the origin of the hi
gh
1) segment.
****
2)11 1. There are page gaps between psects (except bel
ow
2) the high segment).
2) 2. There are psects above the origin of the hi
gh
2) segment.
**************
1)10 LINK will save your program as an .EXE file on disk a
nd
1) automatically run it, but the .EXE file will not
be
1) deleted.>
****
2)11 4. Your program's low segment has the read-on
ly
2) attribute, or the high segment has the read a
nd
2) write attribute.
2) LINK will save your program as an EXE file on disk a
nd
2) automatically run it, but the EXE file will not
be
2) deleted.>
**************
1)10 1. There are page gaps between PSECTs (except bel
ow
1) the high segment).
1) 2. There are PSECTs above the origin of the hi
gh
1) segment.
****
2)11 1. There are page gaps between psects (except bel
ow
2) the high segment).
2) 2. There are psects above the origin of the hi
gh
2) segment.
**************
1)10 4. One or more PSECTs has the read-only attribute.
1) LINK has saved your program as an .EXE file on disk a
nd
1) cleared your user memory. You can use a GET or R
UN
Digital Equipment Corporation 28-AUG-79 Page 605
PCO Log Report
1) command to load the .EXE file.>
1) HASH PCX,0,<^_
****
2)11 4. One or more psects has the read-only attribute.
2) LINK has saved your program as an EXE file on disk a
nd
2) cleared your user memory. You can use a GET or R
UN
2) command to load the EXE file.>
2) HASH PCX,0,<^_
**************
1)10 1. There are page gaps between PSECTs (except bel
ow
1) the high segment).
1) 2. There are PSECTs above the origin of the hi
gh
1) segment.
****
2)11 1. There are page gaps between psects (except bel
ow
2) the high segment).
2) 2. There are psects above the origin of the hi
gh
2) segment.
**************
1)10 4. One or more PSECTs has the read-only attribute.
1) LINK will save your program as an .EXE file on disk a
nd
1) automatically run it, but the .EXE file will not
be
1) deleted.>
****
2)11 4. One or more psects has the read-only attribute.
2) LINK will save your program as an EXE file on disk a
nd
2) automatically run it, but the EXE file will not
be
2) deleted.>
**************
1)10 LINK found an end-of-file inside a REL Block (that is, t
he
1) word count for the block extended beyond t
he
1) end-of-file).>
1) HASH PHC,0,<^_
1) The job is too large to fit into the allowed memory a
nd
1) your high-segment code is being moved to disk.>
1) HASH PLC,0,<^_
1) The job is too large to fit into the allowed memory a
nd
Digital Equipment Corporation 28-AUG-79 Page 606
PCO Log Report
1) your low-segment code is being moved to disk.>
1) HASH PLS,0,<^_
1) The job is too large to fit into the allowed memory a
nd
1) your local symbol tables are being moved to disk.>
1) ;(There is no long text for the POO message.)
1) ;**;[1113] Insert in long messages before LNKPSF message
DZN 25-Aug-78
1) HASH POT,0,<^_
1) LINK is creating your overlay tree file.>
1) HASH PSF,0,<^_
1) The feature you requested is not available.>
1) HASH PUF,0,<^_
****
2)11 LINK found an end-of-file inside a REL block (that is, t
he
2) word count for the block extended beyond t
he
2) end-of-file). This error can be caused by a fault in t
he
2) language translator used for the program.>
2) HASH PHC,0,<^_
2) The load is too large to fit into the allowed memory a
nd
2) your high-segment code is being moved to disk.>
2) HASH PLC,0,<^_
2) The load is too large to fit into the allowed memory a
nd
2) your low-segment code is being moved to disk.>
2) HASH PLS,0,<^_
2) The load is too large to fit into the allowed memory a
nd
2) your local symbol tables are being moved to disk.>
2) HASH POT,0,<^_
2) LINK is creating your overlay tree file.>
2) HASH POV,0,<^_
2) The named psects overlap each other in the indicated ran
ge
2) of addresses. If you do not expect this messag
e,
2) restructure your psect origins with the /SET:PSEC
T:
2) switch.>
2) IFE TOPS20,<
2) HASH PUF,0,<^_
**************
1)10 the /CORE and /MAXCOR switches. This is an internal LI
NK
1) error. This message is not expected to occur. If
Digital Equipment Corporation 28-AUG-79 Page 607
PCO Log Report
it
1) does, please notify your Software Specialist or send
a
1) Software Performance Report (SPR) to DIGITAL.>
1) HASH RBS,0,<^_
1) The REL Block is inconsistent. This may be caused
by
1) incorrect output from a translator (for example, missi
ng
1) argument for an END block). Recompile the module a
nd
1) reload.>
1) HASH RCU,0,<^_
1) The global symbol you gave with the /SET switch is n
ot
1) defined. Load a module that defines the symbol.>
1) HASH RED,0,<^_
****
2)11 the /CORE: and /MAXCOR: switches. This is an intern
al
2) LINK error. This message is not expected to occur. If
it
2) does, please notify your Software Specialist or send
a
2) Software Performance Report (SPR) to DIGITAL.>
2) > ;END IFE TOPS20
2) HASH RBS,0,<^_
2) The REL block is inconsistent. This may be caused
by
2) incorrect output from a translator (for example, missi
ng
2) argument for an end block). Recompile the module a
nd
2) reload.>
2) HASH RED,0,<^_
**************
1)10 ;(There is no long text for the RER message.)
1) HASH RGS,0,<^_
1) LINK is expanding the global symbol table either to
a
1) prime number larger than your /HASHSIZE switch requeste
d,
1) or by about 50 percent. You can speed up future loads
of
1) this program by setting /HASHSIZE this large at t
he
1) beginning of the load.>
1) ;(There is no long text for the RLC message.)
1) HASH RUC,0,<^_
Digital Equipment Corporation 28-AUG-79 Page 608
PCO Log Report
1) LINK attempted to return memory to the memory manager, b
ut
1) the specified memory was never allocated to this jo
b.
1) This message is not expected to occur. If it does, plea
se
1) notify your Software Specialist or send a Softwa
re
1) Performance Report (SPR) to DIGITAL.>
1) HASH SFU,0,<^_
****
2)11 HASH RER,0,<^_
2) The listed symbols and their values (if any) represe
nt
2) subroutine entry points in the current link.>
2) HASH RGS,0,<^_
2) LINK is expanding the global symbol table either to
a
2) prime number larger than your /HASHSIZE: switch requeste
d,
2) or by about 50 percent. You can speed up future loads
of
2) this program by setting /HASHSIZE: this large at t
he
2) beginning of the load.>
2) HASH RLC,0,<^_
2) The listed symbols and values represent the curre
nt
2) placement of psects in your address space.>
2) HASH RME,0,<^_
2) The REMAP UUO to place your program's high segment h
as
2) failed. This message is not expected to occur. If
it
2) does, please notify your Software Specialist or send
a
2) Software Performance Report (SPR) to DIGITAL.>
2) HASH RUM,0,<^_
2) LINK attempted to return memory to the memory manager, b
ut
2) the specified memory was not previously allocated. Th
is
2) is an internal error. This message is not expected
to
2) occur. If it does, please notify your Software Speciali
st
2) or send a Software Performance Report (SPR) to DIGITAL.>
2) HASH SFU,0,<^_
**************
1)10 control section lengths. This message is not expected
to
Digital Equipment Corporation 28-AUG-79 Page 609
PCO Log Report
1) occur. If it does, please notify your Software Speciali
st
1) or send a Software Performance Report (SPR) to DIGITAL.>
1) HASH SIF,0,<^_
****
2)11 control section lengths. This is an internal error. Th
is
2) message is not expected to occur. If it does, plea
se
2) notify your Software Specialist or send a Softwa
re
2) Performance Report (SPR) to DIGITAL.>
2) HASH SIF,0,<^_
**************
1)10 load your files in a different order. This message is n
ot
1) expected to occur. If it does, please notify yo
ur
1) Software Specialist or send a Software Performance Repo
rt
1) (SPR) to DIGITAL.>
1) HASH SLS,0,<^_
1) You have specified /SYMSEG:HIGH or /SYMSEG:PSECT wh
en
1) loading an overlay structure. Specify /SYMSEG:LOW
or
1) /SYMSEG:DEFAULT.>
1) HASH SMP,0,<^_
****
2)11 load your files in a different order. This is an intern
al
2) error. This message is not expected to occur. If
it
2) does, please notify your Software Specialist or send
a
2) Software Performance Report (SPR) to DIGITAL.>
2) HASH SMP,0,<^_
**************
1)10 You defined a COMMON symbol with the same name as
a
1) non-COMMON symbol. You must decide which definition y
ou
1) want. If you want the COMMON definition, load the COMM
ON
1) area first.>
****
2)11 You defined a FORTRAN common area with the same name as
a
2) non-common symbol. You must decide which definition y
Digital Equipment Corporation 28-AUG-79 Page 610
PCO Log Report
ou
2) want. If you want the common definition, load the comm
on
2) area first.>
**************
1)10 An error occurred in outputting the .EXE file. The fi
le
1) was closed after the last successful output. The stat
us
1) is represented by the right half of the file status wor
d.
****
2)11 An error occurred in outputting the EXE file. The stat
us
2) is represented by the right half of the file status wor
d.
**************
1)10 An error occurred in outputting the .EXE file. The fi
le
1) was closed after the last successful output.>
1) > ;END IFN TOPS20
1) HASH SRB,0,<^_
1) You cannot /SET the named relocation counter below i
ts
1) initial value. The attempt is ignored.>
1) HASH SSN,0,<^_
****
2)11 An error occurred in outputting the .EXE file.>
2) > ;END IFN TOPS20
2) HASH SRB,0,<^_
2) You cannot use the /SET: switch to set the nam
ed
2) relocation counter below its initial value. The attem
pt
2) is ignored.>
2) HASH SRP,0,<^_
2) Relocatable psects are not implemented; you must speci
fy
2) an explicit absolute origin with the /SET:PSECT: swit
ch
2) for the named psect.>
2) HASH SSN,0,<^_
**************
1)10 indicated on the /SYMSEG, /SYMBOL, or /DEBUG switch.>
1) HASH STC,0,<^_
1) The symbol table has been sorted and moved according
to
1) the /SYMSEG, /SYMBOL, or /DEBUG switch.>
1) ;**;[1133] Insert @ the T13 message JNG 30-Jan-79
1) HASH STL,0,<^_
****
Digital Equipment Corporation 28-AUG-79 Page 611
PCO Log Report
2)11 indicated on the /SYMSEG, /SYFILE, or /DEBUG switch.>
2) HASH STC,0,<^_
2) The symbol table has been sorted and moved according
to
2) the /SYMSEG, /SYFILE, or /DEBUG switch.>
2) HASH STL,0,<^_
**************
1)10 REL Block Type 13 (LVAR) is obsolete. Use the MAC
RO
1) pseudo-op TWOSEG.>
****
2)11 REL block type 13 (LVAR) is obsolete. Use the MAC
RO
2) pseudo-op TWOSEG.>
**************
1)10 HASH TEC,0,<^_
1) You cannot expand an already defined COMMON area. Lo
ad
1) the largest definition of a given named COMMON first,
or
1) use the /COMMON switch to reserve space for it. You c
an
1) define a new COMMON area with a new name any time.>
1) HASH TMA,0,<^_
****
2)11 HASH TMA,0,<^_
**************
1)10 is in error. This message is not expected to occur.
If
1) it does, please notify your Software Specialist or send
a
1) Software Performance Report (SPR) to DIGITAL.>
1) HASH UAR,0,<^_
1) The named symbol was referenced in an .ASSIGN pseudo-o
p,
1) but the symbol is undefined. The .ASSIGN pseudo-op
is
1) ignored. You should load a module that defines t
he
1) symbol.>
1) ;(There is no long text for the UGS message.)
1) HASH UNS,0,<^_
****
2)11 is in error. This is an internal error. This message
is
2) not expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
Digital Equipment Corporation 28-AUG-79 Page 612
PCO Log Report
2) (SPR) to DIGITAL.>
2) HASH UAR,0,<^_
2) The named symbol was referenced in a REL block type 1
00
2) (ASSIGN), but the symbol is undefined. This is generat
ed
2) with the MACRO pseudo-op .ASSIGN. The assignment
is
2) ignored. You should load a module that defines t
he
2) symbol.>
2) HASH UGS,0,<^_
2) The listed symbols and their values (if any) represe
nt
2) symbols not yet defined by any module. Each value is t
he
2) first address in a chain of references for the associat
ed
2) symbol.
2) If this message resulted automatically at the end
of
2) loading, this is a user error. In this case, the lo
ad
2) will continue, leaving references to these symbo
ls
2) unresolved.>
2) HASH UNS,0,<^_
**************
1)10 In a REL Block Type 2 (SYMBOLS), the first 4 bits of ea
ch
1) word pair contain the Radix-50 symbol code. LINK fou
nd
1) one or more invalid codes in the block.>
1) HASH USA,0,<^_
****
2)11 In a REL block type 2 (symbols), the first 4 bits of ea
ch
2) word pair contain the Radix-50 symbol code. LINK fou
nd
2) one or more invalid codes in the block. This error can
be
2) caused by a fault in the language translator used for t
he
2) program.>
2) HASH USA,0,<^_
**************
1)10 ;(There is no long text for the VAL message.)
1) ;**;[1144] Replace before LNKZSV long message DZN 16-Feb-7
9
Digital Equipment Corporation 28-AUG-79 Page 613
PCO Log Report
1) HASH XCT,0,<^_
****
2)11 HASH USI,0,<^_
2) You have specified an undefined symbol to a switch th
at
2) can only take a defined symbol or a number. Specify t
he
2) correct switch value.>
2) HASH VAL,0,<^_
2) LINK has printed the specified symbol, its value and i
ts
2) attributes as requested.>
2) HASH XCT,0,<^_
**************
1)11 1. The filename given was illegal.
1) 2. When updating a file, the filename given did not mat
ch
1) the file to be updated.
1) 3. The RENAME monitor call following a LOOKUP monitor c
all
1) failed.>
1) INDEX <FLE,GSE>,0,0,<^_
1) The file requested by the user was not found. The us
er
1) should respecify the correct filename.>
1) INDEX <FEE,FLE,FRE,GSE>,1,0,<^_
1) The directory does not exist on the named file structur
e,
1) or the project-programmer number given was incorrect.>
1) INDEX <FEE,FLE,FRE,GSE>,2,0,<^_
1) The user does not have the correct privileges to acce
ss
1) the named file.>
1) INDEX FEE,-1,0,<^_
1) The directory on the DECtape has no room for the file.>
1) INDEX <FEE,FLE,FRE,GSE>,3,0,<^_
1) Another user is currently modifying the named file. T
he
1) user should try accessing the file later.>
1) INDEX <FEE,FLE,FRE,GSE>,4,0,<^_
1) The specified filename already exists, or a differe
nt
1) filename was given on the ENTER monitor call following
a
1) LOOKUP monitor call.>
1) INDEX <FEE,FLE,FRE,GSE>,5,%SPR,<^_
1) The user specified an illegal sequence of monitor cal
ls
1) (e.g., a RENAME without a preceding LOOKUP or ENTER, or
a
1) LOOKUP after an ENTER).>
Digital Equipment Corporation 28-AUG-79 Page 614
PCO Log Report
1) INDEX <FEE,FLE,FRE,GSE>,6,0,<^_
1) One of the following conditions occurred:
1) 1. Transmission, device, or data error occurred whi
le
1) attempting to read the UFD or RIB.
1) 2. A hardware-detected device or data error was detect
ed
1) while reading the UFD RIB or UFD data block.
1) 3. A software-detected data inconsistency error w
as
1) detected while reading the UFD RIB or file RIB.>
1) INDEX <FEE,FLE,FRE,GSE>,7,%NPOS,<^_
1) The named file is not a saved file.>
1) INDEX <FEE,FLE,FRE,GSE>,10,%NPOS,<^_
1) The system cannot supply enough memory to use as buffe
rs
1) or to read in a program.>
1) INDEX <FEE,FLE,FRE,GSE>,11,%NPOS,<^_
1) The device indicated by the user is currently n
ot
1) available.>
1) INDEX <FEE,FLE,FRE,GSE>,12,%NPOS,<^_
1) The device specified by the user does not exist.>
1) INDEX <FEE,FLE,FRE,GSE>,13,%NPOS,<^_
1) The machine does not have a two-register relocati
on
1) capability.>
1) INDEX <FEE,FLE,FRE,GSE>,14,0,<^_
1) There is no room on the file structure for the named fil
e,
1) or the user's quota on the file structure would
be
1) exceeded if the file were placed on the structure.>
1) INDEX <FEE,FLE,FRE,GSE>,15,0,<^_
1) The user cannot write on the specified device because
it
1) is write-locked.>
1) INDEX <FEE,FLE,FRE,GSE>,16,0,<^_
1) There is not enough table space in the monitor's 4-WO
rd
1) blocks for the specified file. The user should try runni
ng
1) the job at a later time.>
1) INDEX <FEE,FLE,FRE,GSE>,17,0,<^_
1) Because of the user's quota or the available space on t
he
1) device, the total number of blocks requested could not
be
1) allocated and a partial allocation was given.>
Digital Equipment Corporation 28-AUG-79 Page 615
PCO Log Report
1) INDEX <FEE,FLE,FRE,GSE>,20,%NPOS,<^_
1) The block required by LINK is not available for allocati
on.>
1) INDEX <FEE,FLE,FRE,GSE>,21,0,<^_
1) The user attempted to supersede an existing director
y.>
1) INDEX <FEE,FLE,FRE,GSE>,22,%NPOS,<^_
1) The user attempted to delete a directory that was n
ot
1) empty.>
1) INDEX <FEE,FLE,FRE,GSE>,23,0,<^_
1) The required sub-file directory in the specified path w
as
1) not found.>
1) INDEX <FEE,FLE,FRE,GSE>,24,0,<^_
1) A LOOKUP and ENTER monitor call was performed on gener
ic
1) device DSK and the search list is empty.>
1) INDEX <FEE,FLE,FRE,GSE>,25,0,<^_
1) An attempt was made to create a subfile directory nest
ed
1) deeper than the maximum level allowed.>
1) INDEX <FEE,FLE,FRE,GSE>,26,0,<^_
1) No file structure in the job's search list has both t
he
1) no-create bit and the write-lock bit equal to zero and h
as
1) the UFD or SFD specified by the default or explicit path
.>
1) INDEX <FEE,FLE,FRE,GSE>,27,%NPOS,<^_
1) A GETSEG monitor call was issued from a locked low segme
nt
1) to a high segment which is not a dormant, active, or id
le
1) segment.>
1) INDEX <FEE,FLE,FRE,GSE>,30,0,<^_
1) A LOOKUP and ENTER monitor call was given to update
a
1) file, but the file cannot be updated for some reas
on
1) (e.g., another user is superseding it or the file w
as
1) deleted between the time of the LOOKUP and the ENTER).>
****
2)12 1. The specified file name was illegal.
2) 2. When updating a file, the specified file name did n
ot
2) match the file being updated.
2) 3. The RENAME monitor call following a LOOKUP monit
Digital Equipment Corporation 28-AUG-79 Page 616
PCO Log Report
or
2) call failed.>
2) INDEX <FLE,GSE>,0,0,<^_
2) The named file was not found. Specify an existing file.
>
2) INDEX <FEE,FLE,FRE,GSE>,1,0,<^_
2) The named directory does not exist on the named fi
le
2) structure, or the project-programmer number given w
as
2) incorrect.>
2) INDEX <FEE,FLE,FRE,GSE>,2,0,<^_
2) You do not have sufficient access privileges to use t
he
2) named file.>
2) INDEX FEE,-1,0,<^_
2) The directory on the DECtape has no room for the fil
e.
2) Delete some files from the DECtape or specify anoth
er
2) device.>
2) INDEX <FEE,FLE,FRE,GSE>,3,0,<^_
2) Another job is currently modifying the named file. T
ry
2) accessing the file later.>
2) INDEX <FEE,FLE,FRE,GSE>,4,0,<^_
2) The named file already exists, or a different file w
as
2) specified on the ENTER monitor call following a LOOK
UP
2) monitor call.>
2) INDEX <FEE,FLE,FRE,GSE>,5,%SPR,<^_
2) LINK has specified an illegal sequence of monitor cal
ls
2) (e.g., a RENAME without a preceding LOOKUP or ENT
ER
2) monitor call, or a LOOKUP after an ENTER). This is
an
2) internal error. This message is not expected to occu
r.
2) If it does, please notify your Software Specialist or se
nd
2) a Software Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,6,0,<^_
2) One of the following conditions occurred:
2) 1. A transmission, device or data error occurred whi
le
2) attempting to read the directory or the RIB of t
he
2) named file.
2) 2. A hardware-detected device or data error was detect
Digital Equipment Corporation 28-AUG-79 Page 617
PCO Log Report
ed
2) while reading the named directory's RIB or data bloc
k.
2) 3. A software-detected data inconsistency error w
as
2) detected while reading the named directory's or file
's
2) RIB.>
2) INDEX <FEE,FLE,FRE,GSE>,7,%NPOS,<^_
2) The named file is not a saved file. This message c
an
2) never occur and is included only for completeness of t
he
2) LOOKUP, ENTER and RENAME error codes. This message is n
ot
2) expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,10,%NPOS,<^_
2) The system cannot supply enough memory to use as buffe
rs
2) or to read in a program. This message can never occur a
nd
2) is included only for completeness of the LOOKUP, ENTER a
nd
2) RENAME error codes. This message is not expected
to
2) occur. If it does, please notify your Software Speciali
st
2) or send a Software Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,11,%NPOS,<^_
2) The named device is currently not available. This messa
ge
2) can never occur and is included only for completeness
of
2) the LOOKUP, ENTER and RENAME error codes. This message
is
2) not expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,12,%NPOS,<^_
2) The named device dies not exist. This message can nev
er
2) occur and is included only for completeness of the LOOKU
P,
Digital Equipment Corporation 28-AUG-79 Page 618
PCO Log Report
2) ENTER and RENAME error codes. This message is n
ot
2) expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,13,%NPOS,<^_
2) The machine does not have a two-register relocati
on
2) capability. This message can never occur and is includ
ed
2) only for completeness of the LOOKUP, ENTER and RENA
ME
2) error codes. This message is not expected to occur.
If
2) it does, please notify your Software Specialist or send
a
2) Software Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,14,0,<^_
2) You have exceeded the quota of the named directory, or t
he
2) entire capacity of the file structure. Delete some file
s,
2) or specify a directory or structure with sufficient spac
e.>
2) INDEX <FEE,FLE,FRE,GSE>,15,0,<^_
2) The named device is write-locked. Specify a write-enabl
ed
2) device or ask the operator to write-enable the nam
ed
2) device.>
2) INDEX <FEE,FLE,FRE,GSE>,16,0,<^_
2) There is not enough internal monitor table space for t
he
2) named file. Try the load at a later time.>
2) INDEX <FEE,FLE,FRE,GSE>,17,0,<^_
2) Because of the named directory's quota or the availab
le
2) space on the file structure, the total number of bloc
ks
2) requested could not be allocated. A partial allocati
on
2) was given.>
2) INDEX <FEE,FLE,FRE,GSE>,20,%NPOS,<^_
2) The block required by LINK is not available f
or
2) allocation. This message can never occur and is includ
ed
2) only for completeness of the LOOKUP, ENTER and RENA
ME
Digital Equipment Corporation 28-AUG-79 Page 619
PCO Log Report
2) error codes. This message is not expected to occur.
If
2) it does, please notify your Software Specialist or send
a
2) Software Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,21,0,<^_
2) You have attempted to supercede the named directory.>
2) INDEX <FEE,FLE,FRE,GSE>,22,%NPOS,<^_
2) You have attempted to delete a directory that is n
ot
2) empty. This message can never occur and is included on
ly
2) for completeness of the LOOKUP, ENTER and RENAME err
or
2) codes. This message is not expected to occur. If
it
2) does, please notify your Software Specialist or send
a
2) Software Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,23,0,<^_
2) One of the sub-file directories in the named path was n
ot
2) found.>
2) INDEX <FEE,FLE,FRE,GSE>,24,0,<^_
2) A LOOKUP or ENTER monitor call was performed on gener
ic
2) device DSK: and the search list is empty.>
2) INDEX <FEE,FLE,FRE,GSE>,25,0,<^_
2) You have attempted to create a sub-file directory nest
ed
2) deeper than the maximum level allowed.>
2) INDEX <FEE,FLE,FRE,GSE>,26,0,<^_
2) No file structure in your job's search list has both t
he
2) no-create bit and the write-lock bit equal to zero, a
nd
2) has the named directory.>
2) INDEX <FEE,FLE,FRE,GSE>,27,%NPOS,<^_
2) A GETSEG monitor call was issued from a locked low segme
nt
2) to a high segment which is not a dormant, active or id
le
2) segment. This message can never occur and is includ
ed
2) only for completeness of the LOOKUP, ENTER and RENA
ME
2) error codes. This message is not expected to occur.
If
2) it does, please notify your Software Specialist or send
Digital Equipment Corporation 28-AUG-79 Page 620
PCO Log Report
a
2) Software Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,30,0,<^_
2) A LOOKUP and ENTER monitor call was given to update
a
2) file, but the file cannot be updated for some reas
on
2) (e.g., another user is superceding it or the file w
as
2) deleted between the time of the LOOKUP and the ENTER).>
**************
1)11 This message indicates that a LOOKUP, ENTER, or RENA
ME
1) error occurred which was larger in number than the erro
rs
1) LINK knows about.>
1) IF2,< PURGE N,M>
****
2)12 An attempt has been made to run a program from
a
2) not-logged-in job. This message can never occur and
is
2) included only for completeness of the LOOKUP, ENTER a
nd
2) RENAME error codes. This message is not expected
to
2) occur. If it does, please notify your Software Speciali
st
2) or send a Software Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,33,%NPOS,<^_
2) The ENQ/DEQ facility has been used for simultaneo
us
2) updating of the named file, but some ENQ/DEQ requests a
re
2) still outstanding and the file cannot be closed. Th
is
2) message can never occur and is included only f
or
2) completeness of the LOOKUP, ENTER and RENAME error code
s.
2) This message is not expected to occur. If it does, plea
se
2) notify your Software Specialist or send a Softwa
re
2) Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,34,%NPOS,<^_
2) The named file has a bad EXE format directory. Th
is
2) message can never occur and is included only f
or
2) completeness of the LOOKUP, ENTER and RENAME error code
Digital Equipment Corporation 28-AUG-79 Page 621
PCO Log Report
s.
2) This message is not expected to occur. If it does, plea
se
2) notify your Software Specialist or send a Softwa
re
2) Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,35,%SPR,<^_
2) An attempt has been made to run an EXE-format file with
a
2) non-.EXE extension. EXE format files (those with
an
2) internal directory) must have the extension .EXE. Th
is
2) message is not expected to occur. If it does, plea
se
2) notify your Software Specialist or send a Softwa
re
2) Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,36,0,<^_
2) An attempt has been made to run an EXE-format file with
a
2) directory that is too large for the monitor to handl
e.
2) This message can never occur and is included only f
or
2) completeness of the LOOKUP, ENTER and RENAME error code
s.
2) This message is not expected to occur. If it does, plea
se
2) notify your Software Specialist or send a Softwa
re
2) Performance Report (SPR) to DIGITAL.>
2) INDEX <FEE,FLE,FRE,GSE>,37,0,<^_
2) The monitor's ability to accept another network connecti
on
2) has been exceeded.>
2) INDEX <FEE,FLE,FRE,GSE>,40,0,<^_
2) The named task is not available. Specify an existing ta
sk
2) name.>
2) INDEX <FEE,FLE,FRE,GSE>,41,0,<^_
2) You have specified a network node that does not exis
t.
2) Wait for the node to come up or specify an existi
ng
2) network node.>
2) INDEX <FEE,FLE,FRE,GSE>,42,%SPR,<^_
2) This message indicates that a LOOKUP, ENTER or RENA
ME
Digital Equipment Corporation 28-AUG-79 Page 622
PCO Log Report
2) monitor call error occurred with an error code larger
in
2) number than the errors LINK knows about. This message
is
2) not expected to occur. If it does, please notify yo
ur
2) Software Specialist or send a Software Performance Repo
rt
2) (SPR) to DIGITAL.>
2) IF2,< PURGE N,M>
**************
1)12 the job is too large to fit into the allowed memory a
nd
1) the named area is being moved to disk (LC=user low segme
nt
****
2)13 The load is too large to fit into the allowed memory a
nd
2) the named area is being moved to disk (LC=user low segme
nt
**************
1)12 Performance Report (SPR) to DEC.>
1)13 ERRLIT:
1) END LNKERR
****
2)13 Performance Report (SPR) to DIGITAL.>
2)14 ERRLIT:
2) END LNKERR
**************
Digital Equipment Corporation 28-AUG-79 Page 623
PCO Log Report
[FILCOM]
File 1) LINK:LNKEXO.MAC[30,4507] created: 1436 07-Mar-1978
File 2) LINK:LNKEXO.MAC[10,645063] created: 1643 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) .JBHSA==0 ;STARTING ADDRESS IN HIGH SEGMENT
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) .JBHSA==0 ;STARTING ADDRESS IN HIGH SEGMENT
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) SEGMENT
1)2 SUBTTL REVISION HISTORY
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1174 ;DEC EDIT VERSION
2) SEGMENT
2) SALL
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL HERE FOR EXECUTE ONLY ENTRY
****
2)2 ;START OF VERSION 4A
2) ;1174 Label and clean up all error messages.
2)3 SUBTTL HERE FOR EXECUTE ONLY ENTRY
**************
1)3 OUTSTR [ASCIZ/%LNKLNS Low seg data base not same size/
] ;[600]
1) SKIPE T3,-.JBHDA+.JBHSM(T2) ;[600] MONITOR BUG
****
2)3 ;**;[1174] Replace @+4L DZN 7-Jun-79
2) E$$LNS::.OERR. [ASCIZ /%LNKLNS Low segment data base not same s
ize/] ;[1174]
2) SKIPE T3,-.JBHDA+.JBHSM(T2) ;[600] MONITOR BUG
**************
Digital Equipment Corporation 28-AUG-79 Page 624
PCO Log Report
[FILCOM]
File 1) LINK:LNKF40.MAC[30,4507] created: 1436 07-Mar-1978
File 2) LINK:LNKF40.MAC[10,645063] created: 1646 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG 20-Jun-76
1) ;***COPYRIGHT 1973, 1974, 1975, 1976 DIGITAL EQUIPMENT CORP., M
AYNARD, MASS.***
1) ENTRY LNKF40
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 10-Jun-79
2) ;***COPYRIGHT 1973, 1979 DIGITAL EQUIPMENT CORP., MAYNARD, MASS
.***
2) ENTRY LNKF40
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) SEGMENT
1) LNKF40: ;ENTRY POINT TO FORCE LOADING
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1174 ;DEC EDIT VERSION
2) SEGMENT
2) SALL
2) LNKF40: ;ENTRY POINT TO FORCE LOADING
**************
1)1 SALL
1) DEFINE LOADRC <MOVE R,SAVERC>
****
2)1 DEFINE LOADRC <MOVE R,SAVERC>
**************
1)3 SUBTTL INITIALIZE TABLES
****
2)2 ;START OF VERSION 4A
2) ;1174 Label and clean up all error messages.
2)3 SUBTTL INITIALIZE TABLES
**************
1)4 .ERR. (MS,.EC,V%L,L%F,S%F,I4S,<Illegal F40 sub-block >
)
1) .ETC. (OCT,.EC!.EP,,,,W1) ;
1) TYPMOD: .ETC. (STR,.EC,,,,,< in module >) ;
1) .ETC. (SBX,.EP,,,,PRGNAM) ;
1)5 SUBTTL PROCESS TABLE ENTRIES
****
2)4 ;**;[1174] Replace @HEADER+16L DZN 29-May-79
2) E$$I4S::.ERR. (MS,.EC,V%L,L%F,S%F,I4S,<Illegal F40 sub-block >
) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,W1) ;
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)5 SUBTTL PROCESS TABLE ENTRIES
**************
1)12 PUSHJ P,BADFILE ;REPORT ERROR
Digital Equipment Corporation 28-AUG-79 Page 625
PCO Log Report
1) PUSHJ P,R50T6## ;CONVERT TO 6BIT
****
2)12 ;**;[1174] Replace @COMTOP+4L DZN 29-May-79
2) PUSHJ P,E$$B4R ;[1174] REPORT ERROR
2) PUSHJ P,R50T6## ;CONVERT TO 6BIT
**************
1)13 PUSHJ P,BADFILE ;REPORT ERROR
1) TRNE W1,1 ;DEFENSIVE CHECK FOR PAIRS
1) JRST [PUSHJ P,BADFILE ;REPORT ERROR
1) AOJA W1,.+1] ;MAKE EVEN
****
2)13 ;**;[1174] Replace @GSWDPR+1L DZN 29-May-79
2) PUSHJ P,E$$B4R ;[1174] REPORT ERROR
2) TRNE W1,1 ;DEFENSIVE CHECK FOR PAIRS
2) ;**;[1174] Replace @GSWDPR+3L DZN 29-May-79
2) JRST [PUSHJ P,E$$B4R ;[1174] REPORT ERROR
2) AOJA W1,.+1] ;MAKE EVEN
**************
1)14 PUSHJ P,BADFILE ;REPORT ERROR
1) PUSHJ P,DY.GET## ;FROM DY AREA
****
2)14 ;**;[1174] Replace @FSWD+2L DZN 29-May-79
2) PUSHJ P,E$$B4R ;[1174] REPORT ERROR
2) PUSHJ P,DY.GET## ;FROM DY AREA
**************
1)14 PUSHJ P,BADFILE ;REPORT ERROR
1) TRNE W1,1 ;DEFENSIVE CHECK FOR PAIRS
1) JRST [PUSHJ P,BADFILE ;REPORT ERROR
1) AOJA W1,.+1] ;MAKE EVEN
****
2)14 ;**;[1174] Replace @DYSWDP+1L DZN 29-May-79
2) PUSHJ P,E$$B4R ;[1174] REPORT ERROR
2) TRNE W1,1 ;DEFENSIVE CHECK FOR PAIRS
2) JRST [PUSHJ P,E$$B4R ;[1174] REPORT ERROR
2) AOJA W1,.+1] ;MAKE EVEN
**************
1)16 STOP: .ERR. (MS,.EC,V%L,L%F,S%F,I4T,<Illegal F40 table entry
>)
1) .ETC. (OCT,.EC!.EP,,,,W1) ;
1) .ETC. (JMP,.EC,,,,TYPMOD) ;
1) TABDIS: PPLT ;PROGRAMMER LABELS
1) PATO ;ARRAYS OFFSET
1) STOP
1) STOP
1) STOP
1) PST ;SCALARS
****
2)16 ;**;[1174] Replace @STOP DZN 29-May-79
2) E$$I4T::.ERR. (MS,.EC,V%L,L%F,S%F,I4T,<Illegal F40 table entry
Digital Equipment Corporation 28-AUG-79 Page 626
PCO Log Report
>) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,W1) ;
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) TABDIS: PPLT ;PROGRAMMER LABELS
2) PATO ;ARRAYS OFFSET
2) E$$I4T ;[1174]
2) E$$I4T ;[1174]
2) E$$I4T ;[1174]
2) PST ;SCALARS
**************
1)16 STOP
1) PCONS ;CONSTANTS
1) STOP
1) PPT ;PERMANENT TEMPORARIES
1) PTT ;TEMPORARY TEMPORARIES
1) STOP
1) PMLT ;MADE LABELS
****
2)16 E$$I4T ;[1174]
2) PCONS ;CONSTANTS
2) E$$I4T ;[1174]
2) PPT ;PERMANENT TEMPORARIES
2) PTT ;TEMPORARY TEMPORARIES
2) E$$I4T ;[1174]
2) PMLT ;MADE LABELS
**************
1)20 .ERR. (MS,.EC,V%L,L%F,S%F,I4D,<Illegal F40 DATA code >
)
1) .ETC. (OCT,.EC!.EP,,,,T1) ;
1) .ETC. (JMP,.EC,,,,TYPMOD) ;
1)21 INNER: HRRZ T1,@LOCA; GET ADDRESS
****
2)20 ;**;[1174] Replace @LOOP+16L DZN 29-May-79
2) E$$I4D::.ERR. (MS,.EC,V%L,L%F,S%F,I4D,<Illegal F40 data code >
) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,T1) ;
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)21 INNER: HRRZ T1,@LOCA; GET ADDRESS
**************
1)21 JUMPE T1,FORCNF
1) SUB T1,PT1; SUBTRACT INDUCTION NUMBER
****
2)21 ;**;[1174] Replace @INNER+3L DZN 29-May-79
2) JUMPE T1,E$$FCD; [1174]
2) SUB T1,PT1; SUBTRACT INDUCTION NUMBER
**************
1)23 DATAOV: .ERR. (MS,.EC,V%L,L%F,S%F,DSO,<Data statement overflow
>)
1) .ETC. (JMP,.EC,,,,TYPMOD) ;
Digital Equipment Corporation 28-AUG-79 Page 627
PCO Log Report
1) FORCNF: .ERR. (MS,.EC,V%L,L%F,S%F,FCD,<FORTRAN confused about
data statements>)
1) .ETC. (JMP,.EC,,,,TYPMOD) ;
1) BADFIL: .ERR. (MS,.EC,V%M,L%W,S%W,B4R,<Bad F40 produced REL fi
le for >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) POPJ P,
****
2)23 ;**;[1174] Replace @DATAOV DZN 29-May-79
2) E$$DSO::.ERR. (MS,.EC,V%L,L%F,S%F,DSO,<Data statement overflow
>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) E$$FCD::.ERR. (MS,.EC,V%L,L%F,S%F,FCD,<F40 confused about data
statements>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) E$$B4R::.ERR. (MS,.EC,V%L,L%W,S%W,B4R,<Bad F40 produced REL fi
le>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) POPJ P,
**************
1)25 JRST DATAOV ;AND GIVE ERROR ELSE PDLOV WILL
OCCUR
1) POP W1,(W1); SUBTRACT ONE FROM BOTH HALFS
****
2)25 ;**;[1174] Replace @DREAD+8L DZN 29-May-79
2) JRST E$$DSO ;[1174] AND GIVE ERROR ELSE PDLO
V WILL OCCUR
2) POP W1,(W1); SUBTRACT ONE FROM BOTH HALFS
**************
Digital Equipment Corporation 28-AUG-79 Page 628
PCO Log Report
[FILCOM]
File 1) LINK:LNKFIO.MAC[30,4507] created: 1115 10-Oct-1978
File 2) LINK:LNKFIO.MAC[10,645063] created: 1647 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 10-Oct-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKFIO
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKFIO
**************
1)1 DECEVR==1123 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
****
2)2 ;1174 Label and clean up all error messages.
2)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
**************
1)3 .ERR. (MS,0,V%L,L%F,S%F,INS,<I/O data block not set up
>)
1) ;HERE TO DO DEVCHR FOR DEVICE
****
2)3 ;**;[1174] Replace @DVCHN.+3L DZN 29-May-79
2) E$$INS::.ERR. (MS,0,V%L,L%F,S%F,INS,<I/O data block not set up
>) ;[1174]
2) ;HERE TO DO DEVCHR FOR DEVICE
**************
1)3 JUMPE T2,NSDERR ;NO SUCH DEVICE
1) MOVEI T2,DV.M0 ;MODE BIT
****
2)3 ;**;[1174] Replace @DVCHK.+4L DZN 29-May-79
2) JUMPE T2,E01NED ;[1174] NO SUCH DEVICE
2) MOVEI T2,DV.M0 ;MODE BIT
**************
1)3 PUSH P,IO.CHN ;SAVE CHAN
1) .ERR. (I,0,V%L,L%F,S%F,IDM,<Illegal data mode for devi
ce >)
****
2)3 ;**;[1174] Replace @DVCHK.+11L DZN 29-May-79
2) E$$IDM::PUSH P,IO.CHN ;[1174] SAVE CHAN
Digital Equipment Corporation 28-AUG-79 Page 629
PCO Log Report
2) .ERR. (I,0,V%L,L%F,S%F,IDM,<Illegal data mode for devi
ce >)
**************
1)4 JRST OPNERR ;FAILED
1) ;HERE TO ALLOCATE SPACE FOR BUFFERS
****
2)4 JRST E01OFD ;[1174] FAILED
2) ;HERE TO ALLOCATE SPACE FOR BUFFERS
**************
1)4 HRLI T2,.IBR ;NO, USE LINK-10 DEFAULT
1) DVNDC:>;END IFE TOPS20
****
2)4 HRLI T2,.IBR ;[1174] NO, USE TOPS-10 LINK DEF
AULT
2) DVNDC:>;END IFE TOPS20
**************
1)6 TLC T2,-1-<(DV.TTA)> ;[604] NUL: ISN'T A TTY
1) TLCE T2,-1-<(DV.TTA)> ;[604]
1) TXNN T2,DV.TTY ;[604] IS IT A TTY
1) CAIA ;[604] NO, PROCEED
1) JRST DVTTY ;YES
1) MOVE T2,I.DVZ(T1) ;GET BACK DEVSIZ INFO
****
2)6 TXC T2,DV.TTA!DV.TTY;[1174] MUST BE CONTROLLING TTY:
(NUL: ISN'T)
2) TXCN T2,DV.TTA!DV.TTY;[1174] ..
2) JRST DVTTY ;[1174] YES
2) MOVE T2,I.DVZ(T1) ;GET BACK DEVSIZ INFO
**************
1)16 JRST OPNERR ;SHOULD NEVER HAPPEN FOR DSK
1) HRRI T2,I.RIB(T1) ;POINT TO LOOKUP/ENTER BLOCK
****
2)16 ;**;[1174] Replace @DVUPD.+7L DZN 29-May-79
2) JRST E01OFD ;[1174] SHOULD NEVER HAPPEN FOR
DSK
2) HRRI T2,I.RIB(T1) ;POINT TO LOOKUP/ENTER BLOCK
**************
1)20 PUSHJ P,NO.COR## ;[604] NO, ERROR
1) HRL T2,T1 ;[604] YES, FORM BLT PTR TO IO.E
MG AREA
****
2)20 PUSHJ P,E$$MEF## ;[1174] NO, ERROR
2) HRL T2,T1 ;[604] YES, FORM BLT PTR TO IO.E
MG AREA
**************
1)23 ;ERROR MESSAGES
1) OPNERR: PUSH P,IO.CHN ;PUT ON STACK
1) .ERR. (I,0,V%L,L%F,S%F,IFD)
1) NSDERR: MOVE T1,IO.CHN ;GET CHAN #
Digital Equipment Corporation 28-AUG-79 Page 630
PCO Log Report
1) PUSH P,T1 ;STACK CHAN #
1) CAIN T1,DC ;SEE IF INPUT CHAN
1) JRST NSDDC ;YES, THIS IS RECOVERABLE
1) .ERR. (I,0,V%L,L%F,S%F,NED)
1) NSDDC: .ERR. (I,0,V%L,L%F,S%E,NED)
1) POPJ P, ;RECOVER IF WE CAN
1) ENTERR: MOVE T1,IO.CHN
****
2)23 SUBTTL ERROR MESSAGES
2) E01OFD::PUSH P,IO.CHN ;[1174] PUT CHANNEL ON STACK
2) .ERR. (I,0,V%L,L%F,S%F,OFD) ;[1174]
2) ;**;[1174] Replace @NSDERR DZN 29-May-79
2) E01NED::PUSH P,T1 ;[1174] PUT CHANNEL ON STACK FOR
LNKLOG
2) .ERR. (I,0,V%L,L%F,S%E,NED)
2) POPJ P, ;[1174] RETURNS IF CHAN WAS DC;
TRY NOW
2) ENTERR: MOVE T1,IO.CHN
**************
1)23 PUSH P,T1
1) MOVE T2,IO.CHR ;GET DEVCHR WORD
1) TXNE T2,DV.DTA ;DTA MIGHT BE SPECIAL
1) JRST [MOVE T1,IO.PTR(T1) ;GET DATA BLOCK POINTER
1) HRRZ T2,I.EXT(T1) ;IF ERROR WAS 2
1) CAIN T2,2 ;AS IT MEANS DIRECTORY F
ULL
1) HLLOS I.EXT(T1) ;SIGNAL BY -1
1) JRST .+1]
1) .ERR. (LRE,,V%L,0,0,FEE)
1) POPJ P,
1) LKPERR::PUSH P,IO.CHN ;REMEMBER WHAT # FAILED
1) .ERR. (LRE,,V%L,0,0,FLE)
1) POPJ P,
1) ODVERR::.ERR. (MS,0,V%M,L%F,S%F,ODV,<Overlay file must be crea
ted on a file structure>)
1) FIOLIT:
1) END
****
2)23 MOVE T2,IO.CHR ;GET DEVCHR WORD
2) TXNE T2,DV.DTA ;DTA MIGHT BE SPECIAL
2) JRST [MOVE T2,IO.PTR(T1) ;[1174] GET DATA BLOCK P
OINTER
2) HRRZ T3,I.EXT(T2) ;[1174] IF ERROR WAS ERP
RT%
2) CAXN T3,ERPRT% ;[1174] AS IT MEANS DIRE
CTORY FULL
2) HLLOS I.EXT(T2) ;[1174] SIGNAL BY -1
2) JRST .+1]
2) E01FEE::PUSH P,T1 ;[1174] SAVE CHANNEL FOR LNKLOG
Digital Equipment Corporation 28-AUG-79 Page 631
PCO Log Report
2) .ERR. (LRE,,V%L,S%D,L%D,FEE) ;[1174]
2) POPJ P,
2) E01FLE::PUSH P,IO.CHN ;[1174] REMEMBER WHAT # FAILED
2) .ERR. (LRE,,V%L,S%D,L%D,FLE) ;[1174]
2) POPJ P,
2) FIOLIT:
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 632
PCO Log Report
[FILCOM]
File 1) LINK:LNKHSH.MAC[30,4507] created: 1437 07-Mar-1978
File 2) LINK:LNKHSH.MAC[10,645063] created: 1648 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY TRYSYM
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY TRYSYM
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) SALL
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1174 ;DEC EDIT VERSION
2) SALL
**************
1)3 SUBTTL SYMBOL TABLE HASH SEARCH
****
2)2 ;START OF VERSION 4A
2) ;1174 Label and clean up all error messages.
2)3 SUBTTL SYMBOL TABLE HASH SEARCH
**************
1)4 JUMPE W2,ILLSYM ;0 IS ILLEGAL SYMBOL
1) TRYS1H: PUSHJ P,HASH ;INITIALIZE FOR SEARCH
****
2)4 ;**;[1174] Replace @TRYSYM+2L DZN 3-Jun-79
2) JUMPE W2,E$$ISN ;[1174] 0 IS ILLEGAL SYMBOL
2) TRYS1H: PUSHJ P,HASH ;INITIALIZE FOR SEARCH
**************
1)5 .ERR. (MS,,V%L,L%F,S%F,ESN,<Extended symbol not expect
ed>)>
1) IFN .EXSYM,<
****
2)5 ;**;[1174] Replace @COMPAR+16L DZN 3-Jun-79
2) E$$ESN::.ERR. (MS,,V%L,L%F,S%F,ESN,<Extended symbol not expect
ed>) ;[1174]
2) >
2) IFN .EXSYM,<
**************
1)6 .ERR. (MS,,V%L,L%F,S%F,ESN)>
1) IFN .EXSYM,<
Digital Equipment Corporation 28-AUG-79 Page 633
PCO Log Report
****
2)6 ;**;[1174] Replace @HASH+4L DZN 3-Jun-79
2) E02ESN::.ERR. (MS,,V%L,L%F,S%F,ESN) ;[1174]
2) >
2) IFN .EXSYM,<
**************
1)7 .ERR. (MS,.EC,V%L,L%I,S%I,RGS,<Rehashing Global symbol
table from >)
1) .ETC. (DEC,.EC!.EP,,,,T1)
****
2)7 ;**;[1174] Replace @REHASH+21L DZN 3-Jun-79
2) E$$RGS::.ERR. (MS,.EC,V%L,L%I,S%I,RGS,<Rehashing global symbol
table from >) ;[1174]
2) .ETC. (DEC,.EC!.EP,,,,T1)
**************
1)8 .ERR. (MS,,V%L,L%F,S%F,ESN)>
1) HRRZ W3,T1 ;POINT TO SYMBOL
****
2)8 ;**;[1174] Replace @REHSH1+13L DZN 3-Jun-79
2) E03ESN::.ERR. (MS,,V%L,L%F,S%F,ESN) ;[1174]
2) >
2) HRRZ W3,T1 ;POINT TO SYMBOL
**************
1)9 ILLSYM: .ERR. (MS,.EC,V%L,L%F,S%F,ISN,<Illegal symbol name >)
1) .ETC. (SBX,.EP,,,,W2)
1) END
****
2)9 ;**;[1174] Replace @ILLSYM DZN 3-Jun-79
2) E$$ISN::.ERR. (MS,.EC,V%L,L%F,S%F,ISN,<Illegal symbol name >)
;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 634
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1301 07-Jun-1979
File 2) LINK:LNKINI.MAC[10,645063] created: 1743 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 5-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1 ;COPYRIGHT (C) 1973, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1 ENTRY LINK10
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
****
2)1 ENTRY LINK
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
**************
1)1 DECEVR==1172 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL INITIALIZE
1) ;HERE AFTER START, RUN, EXECUTE, LOAD OR RUN UUO
1) LINK10: PORTAL .+2 ;EXECUTE ONLY
1) PORTAL .+2 ;CCL
****
2)2 ;1174 Label and clean up all error messages.
2)3 SUBTTL INITIALIZE
2) ;HERE AFTER START, RUN, EXECUTE, LOAD OR RUN UUO
2) LINK: PORTAL .+2 ;EXECUTE ONLY
2) PORTAL .+2 ;CCL
**************
1)3 JRST NOCORE ;YOU LOSE
1) MOVEM P1,OFFSET ;SAFE TO STORE OFFSET NOW
****
2)3 ;**;[1174] Replace @F1+4L DZN 5-Jun-79
2) JRST E$$IMI ;[1174] YOU LOSE
2) MOVEM P1,OFFSET ;SAFE TO STORE OFFSET NOW
**************
1)7 JRST NOCORE ;SHOULD NEVER HAPPEN
1) >
****
2)7 ;**;[1174] Replace @PJLOOP+16L DZN 5-Jun-79
2) JRST E$$IMI ;[1174] SHOULD NEVER HAPPEN
Digital Equipment Corporation 28-AUG-79 Page 635
PCO Log Report
2) >
**************
1)7 MOVX T1,.INFIN ;[1172] NO LOWEST LOCATION YET S
EEN
1) MOVEM T1,LOWLOC ;[732]
****
2)7 MOVX T1,.INFIN ;[1172] INITIALIZE LOWEST LOCATI
ON
2) MOVEM T1,LOWLOC ;[732]
**************
1)10 JRST NOCORE ;YOU LOSE
1) >;END IFE TOPS20
****
2)10 ;**;[1174] Replace @**somewhere** DZN 5-Jun-79
2) JRST E$$IMI ;[1174] YOU LOSE
2) >;END IFE TOPS20
**************
1)12 MOVEI T1,S%F ;AND FATALITY
1) SKIPE BATCH ;HOWEVER IN BATCH MODE
****
2)12 MOVEI T1,S%C ;[1174] SET UP DEFAULT SEVERITY
2) SKIPE BATCH ;HOWEVER IN BATCH MODE
**************
1)12 MOVSI T1,'LOG' ;SEE IF WE ALREADY HAVE A LOG DE
VICE
****
2)12 ;**;[1174] Revamp @LOGINI+11L DZN 5-Jun-79
2) MOVE T1,[LOGIT,,TTYIT] ;[1174] IN CASE /LOG LATER
2) MOVEM T1,LOWSUB ;[1174] SO WE CAN FIND ROUTINES
2) MOVEI T1,V%M ;[1174] GET DEFAULT VALUE
2) MOVEM T1,VERLVL ;[1174] SAVE IT
2) MOVSI T1,'LOG' ;SEE IF WE ALREADY HAVE A LOG DE
VICE
**************
1)12 PUSHJ P,.ERLOG ;OUTPUT HEADER LINE
1) MOVEI T1,[ASCIZ \[LNK\]
1) PUSHJ P,.TSTRG## ;INITIALIZATION CODE
1) MOVEI T1,.ERLIM
1) PUSHJ P,.TSTRG## ;AND SPECIFIC CODE
1) MOVEI T1,.ERLIM+1 ;TEXT STRING
1) PUSHJ P,.TSTRG##
1) PUSHJ P,CLSSQB ;END INFO STRING
1) JRST NOLOG]
1) ;**;[1150] Delete @LOGINI+26L DZN 14-Mar-79
****
2)12 JRST LOGMSG] ;[1174] GO PRINT START OF LOG MS
G
2) ;**;[1150] Delete @LOGINI+26L DZN 14-Mar-79
**************
Digital Equipment Corporation 28-AUG-79 Page 636
PCO Log Report
1)13 PUSHJ P,.ERLOG ;HEADER
1) MOVE T1,TIMEON ;GET TIME WE STARTED
1) PUSHJ P,.TTIME## ;INITIAL TIME STAMP
1) MOVEI T1,ER000A ;GET SEVERITY CODE ETC
1) PUSHJ P,.TSTRG## ;ON LOG DEV IF NOT TTY
1) MOVEI T1,.ERLIM ;GET CODE
1) PUSHJ P,.TSTRG##
1) LOGIT1: MOVEI T1,.ERLIM+1 ;MESSAGE
1) PUSHJ P,.TSTRG##
1) MOVEI T1,CRLF ;END LINE
1) PUSHJ P,.TSTRG##
1) ; JRST NOLOG ;NOW DO OTHER THINGS
1)14 ;HERE TO INITIALIZE OTHER ODD ITEMS
1) NOLOG: MOVE T1,[LOGIT,,TTYIT] ;INCASE /LOG LATER
1) MOVEM T1,LOWSUB ;SO WE CAN FIND ROUTINES
1) MOVEI T1,V%M ;GET DEFAULT VALUE
1) MOVEM T1,VERLVL ;SAVE IT
1) MOVEI T1,OPENBL ;PUT ADDRESS OF INPUT I/O BLOCK
****
2)13 LOGMSG:
2) E$$LFB::.ERR. (MS,.EC,V%L,L%I,S%I,LFB,<LINK log file begun on
>) ;[1174]
2) .ETC. (DAT) ;[1174]
2) ; JRST NOLOG ;NOW DO OTHER THINGS
2)14 ;HERE TO INITIALIZE OTHER ODD ITEMS
2) NOLOG:
2) E$$LIN::.ERR. (MS,,V%L,L%I,S%I,LIN,<LINK initialization>) ;[11
74] NO POINT TIL NOW
2) MOVEI T1,OPENBL ;PUT ADDRESS OF INPUT I/O BLOCK
**************
1)18 ER000A: ASCIZ / 1 1 /
1) .ERLIM: ASCIZ /LIM /
1) .ASCIZ <LINK initialization>
1) CRLF: ASCIZ /
1) /
1) NOCORE: OUTSTR [ASCIZ \?LNKICI Insufficient core to ini
tialize LINK\]
1) EXIT
1) OPNERR: PUSH P,[RC] ;PUT CHAN. INDEX ON STACK
1) .ERR. (I,0,V%L,L%I,S%I,IFD)
1) JRST NOLOG ;DO WITHOUT LOG FILE NOW
1) ENTERR: PUSH P,[%ENT+RC] ;CHAN INDEX
1) .ERR. (LRE,0,0,0,0,FEE)
1) JRST NOLOG
1) .ERLOG: MOVEI T1,[ASCIZ \ [LINK LOG file \]
1) PUSHJ P,.TSTRG## ;HEADER
1) PUSHJ P,.TDATN## ;WITH DATE
1) CLSSQB: MOVEI T1,[ASCIZ \]
1) \]
Digital Equipment Corporation 28-AUG-79 Page 637
PCO Log Report
1) PJRST .TSTRG## ;END LINE
1) CPOPJ: POPJ P, ;SOMEWHERE TO PUT IT
****
2)18 ;**;[1174] Replace @.ERLIM DZN 30-May-79
2) E$$IMI::.OERR. [ASCIZ \?LNKIMI Insufficient memory to initializ
e LINK
2) \]
2) EXIT
2) ;**;[1174] Delete @OPNERR DZN 30-May-79
2) CPOPJ: POPJ P, ;SOMEWHERE TO PUT IT
**************
1)28 OUTSTR UUOMES ;ILL UUO
1) SOS T2,UUOTRAP ;PC+1
****
2)28 ;**;[1174] Replace @UUOHANDLER+10L DZN 7-Jun-79
2) E$$IUU::.OERR. [ASCIZ /?LNKIUU Illegal user UUO at PC /] ;[1174
]
2) SOS T2,UUOTRAP ;PC+1
**************
1)28 UUOMES: .ASCIZ <?LNKIUU Illegal user UUO at PC >
1)29 SUBTTL ENTER DDT
****
2)29 SUBTTL ENTER DDT
**************
1)31 OUTSTR .EROEL ;WILL USE .ERR. IN FUTURE
1) IFE FTSINGLE,<
****
2)31 ;**;[1174] Replace @LOGDMP+6L DZN 7-Jun-79
2) E01OEL::.OERR. .EROEL ;[1174] LNKOEL
2) IFE FTSINGLE,<
**************
1)31 .EROEL: .ASCIZ <%LNKOEL Output error on log file, file closed,
job continuing.
1) >
****
2)31 .EROEL: .ASCIZ <%LNKOEL Output error on log file, file c
losed, load continuing
2) >
**************
1)32 MOVEI T1,LINK10 ;GET ORIGINAL START ADDRESS
1) HRRM T1,.JBSA ;RESET IT
****
2)32 MOVEI T1,LINK ;GET ORIGINAL START ADDRESS
2) HRRM T1,.JBSA ;RESET IT
**************
1)32 END LINK10
****
2)32 END LINK
**************
Digital Equipment Corporation 28-AUG-79 Page 638
PCO Log Report
Digital Equipment Corporation 28-AUG-79 Page 639
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1737 15-May-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1938 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 15-May-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 10-Jun-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1165 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1174 Label and clean up all error messages.
2)5 SUBTTL LOAD CONTROL
**************
1)5 .ERR. (MS,0,V%L,L%I,S%I,LDS,<LOAD segment>)
1) LODNXT: HLR FL,FL ;CLEAR TEMP FLAGS AND SET FROM G
LOBAL ONES
****
2)5 E$$LDS::.ERR. (MS,0,V%L,L%I,S%I,LDS,<LOAD segment>) ;[1174]
2) LODNXT: HLR FL,FL ;CLEAR TEMP FLAGS AND SET FROM G
LOBAL ONES
**************
1)6 T.ERR:: .ERR. (MS,.EC,V%L,L%F,S%F,IRB,<Illegal REL Block Type
>)
1) .ETC. (OCT,.EP!.EC,,,,T1)
1) .ETC. (STR,.EC,,,,,< for >)
1) .ETC. (SBX,.EC!.EP,,,,PRGNAM)
1) .ETC. (STR,.EC,,,,,< in >)
1) .ETC. (FSP,0,,,,DC)
1)7 SUBTTL CLEAR INCLUDE/EXCLUDE STORAGE
****
2)6 E$$IRB::.ERR. (MS,.EC,V%L,L%F,S%F,IRB,<Illegal REL block type
>) ;[1174]
2) .ETC. (OCT,.EP!.EC,,,,T1)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)7 SUBTTL CLEAR INCLUDE/EXCLUDE STORAGE
**************
1)12 PUSHJ P,NO.COR## ;NOT POSSIBLE
1) POP P,P2 ;RESTORE
****
2)12 PUSHJ P,E$$MEF## ;[1174] NOT POSSIBLE
2) POP P,P2 ;RESTORE
Digital Equipment Corporation 28-AUG-79 Page 640
PCO Log Report
**************
1)19 .ERR. (MS,0,V%L,L%I,S%I,FCF,<Final core fixups>)
1) CORFXL: ;HERE FOR LOW SEGMENT
****
2)19 E$$FCF::.ERR. (MS,0,V%L,L%I,S%I,FCF,<Final code fixups>) ;[117
4]
2) CORFXL: ;HERE FOR LOW SEGMENT
**************
1)21 PUSHJ P,ANCERR ;WE ONLY GET HERE WHEN PAGE IS I
N CORE
1) HRRZ T1,(T2) ;GET RIGHT HALF VALUE
****
2)21 ;**;[1174] Replace @PFF.AR+2L DZN 30-May-79
2) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
2) HRRZ T1,(T2) ;GET RIGHT HALF VALUE
**************
1)21 PUSHJ P,ANCERR ;WE ONLY GET HERE WHEN PAGE IS I
N CORE
1) HLRZ T1,(T2) ;GET LEFT HALF VALUE
****
2)21 ;**;[1174] Replace @PFF.AL+2L DZN 30-May-79
2) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
2) HLRZ T1,(T2) ;GET LEFT HALF VALUE
**************
1)21 PUSHJ P,ANCERR ;WE ONLY GET HERE WHEN PAGE IS I
N CORE
1) ADDM T1,W3 ;PLUS DEFINED SYMBOL
****
2)21 ;**;[1174] Replace @PFF.AF+2L DZN 30-May-79
2) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
2) ADDM T1,W3 ;PLUS DEFINED SYMBOL
**************
1)22 ANCERR: .ERR. (MS,,V%L,L%F,S%F,ANC,<Address not in core>)
1)23 ;REPLACEMENTS
****
2)22 ;**;[1174] Replace @ANCERR DZN 30-May-79
2) E$$ANM::.ERR. (MS,,V%L,L%F,S%F,ANM,<Address not in memory>)
2)23 ;REPLACEMENTS
**************
1)23 PUSHJ P,ANCERR ;WE ONLY GET HERE WHEN PAGE IS I
N CORE
1) HRRM W3,(T2) ;JUST REPLACE WHATS THERE
****
2)23 ;**;[1174] Replace @PFF.RR+2L DZN 30-May-79
2) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
Digital Equipment Corporation 28-AUG-79 Page 641
PCO Log Report
2) HRRM W3,(T2) ;JUST REPLACE WHATS THERE
**************
1)23 PUSHJ P,ANCERR ;WE ONLY GET HERE WHEN PAGE IS I
N CORE
1) HRLM W3,(T2)
****
2)23 ;**;[1174] Replace @PFF.RL+2L DZN 30-May-79
2) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
2) HRLM W3,(T2)
**************
1)23 PUSHJ P,ANCERR ;WE ONLY GET HERE WHEN PAGE IS I
N CORE
1) MOVEM W3,(T2) ;REPLACE VALUE
****
2)23 ;**;[1174] Replace @PFF.RF+2L DZN 30-May-79
2) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
2) MOVEM W3,(T2) ;REPLACE VALUE
**************
1)24 PUSHJ P,NO.COR## ;CANNOT EXPAND ANY MORE
1) POP P,T2
****
2)24 PUSHJ P,E$$MEF## ;[1174] CANNOT EXPAND ANY MORE
2) POP P,T2
**************
1)26 JRST INSRTF ;NO, ERROR, SHOULD NEVER HAPPEN
1) INSRT0: AOS GSYM ;COUNT SYMBOL
****
2)26 ;**;[1174] Replace @INSRT+1L DZN 30-May-79
2) JRST E$$SIF ;[1174] NO, ERROR, SHOULD NEVER
HAPPEN
2) INSRT0: AOS GSYM ;COUNT SYMBOL
**************
1)26 INSRTF: .ERR. (MS,0,V%L,L%F,S%F,SIF,<Symbol insert failure, no
n-zero hole found>)
1)27 SUBTTL SATISFY GLOBAL REQUESTS
****
2)26 ;**;[1174] Replace @INSRTF DZN 30-May-79
2) E$$SIF::.ERR. (MS,0,V%L,L%F,S%F,SIF,<Symbol insert failure, no
n-zero hole found>) ;[1174]
2)27 SUBTTL SATISFY GLOBAL REQUESTS
**************
1)27 PUSHJ P,DUZERR ;BUT NOT TOO FAR
1) TRNE FL,R.FHS ;ARE RC TABLES SCREWED UP?
****
2)27 ;**;[1174] Replace @SY.RF+1L DZN 30-May-79
2) PUSHJ P,E$$DUZ ;[1174] BUT NOT TOO FAR
2) TRNE FL,R.FHS ;ARE RC TABLES SCREWED UP?
Digital Equipment Corporation 28-AUG-79 Page 642
PCO Log Report
**************
1)27 DUZERR: .ERR. (MS,,V%L,L%F,S%F,DUZ,<Decreasing undefined symbo
l count below zero>)
1) SY.FHS: SKIPA T1,[1] ;LOW SEG HAS BEEN FAKED
****
2)27 ;**;[1174] Replace @DUZERR DZN 30-May-79
2) E$$DUZ::.ERR. (MS,,V%L,L%F,S%F,DUZ,<Decreasing undefined symbo
l count below zero>) ;[1174]
2) SY.FHS: SKIPA T1,[1] ;LOW SEG HAS BEEN FAKED
**************
1)28 ISPERR: .ERR. (MS,,V%L,L%F,S%F,ISP,<Incorrect symbol pointer>)
1)29 SY.RF5: POP P,P1
****
2)28 ;**;[1174] Replace @ISPERR DZN 30-May-79
2) E$$ISP::.ERR. (MS,,V%L,L%F,S%F,ISP,<Incorrect symbol pointer>)
;[1174]
2)29 SY.RF5: POP P,P1
**************
1)33 PUSHJ P,ISPERR ;NO???
1) HRL W3,2(T1) ;RESET REAL POINTER
****
2)33 ;**;[1174] Replace @SYSTF1+7L DZN 30-May-79
2) PUSHJ P,E$$ISP ;[1174] NO???
2) HRL W3,2(T1) ;RESET REAL POINTER
**************
1)33 PUSHJ P,ISPERR ;NO, NO PVS TRIPLET???
1) SYSTF3: ADDI T1,.L ;LOOK AT NEXT TRIPLET
1) SKIPG T3,0(T1) ;PICK UP FLAGS
1) PUSHJ P,ISPERR ;MUSN'T BE PRIMARY
1) TXNN T3,S.PVS ;FOUND THE PVS TRIPLET?
****
2)33 ;**;[1174] Replace @SYSTF2+1L DZN 30-May-79
2) PUSHJ P,E$$ISP ;[1174] NO, NO PVS TRIPLET???
2) SYSTF3: ADDI T1,.L ;LOOK AT NEXT TRIPLET
2) SKIPG T3,0(T1) ;PICK UP FLAGS
2) ;**;[1174] Replace @SYSTF3+2L DZN 30-May-79
2) PUSHJ P,E$$ISP ;[1174] MUSN'T BE PRIMARY
2) TXNN T3,S.PVS ;FOUND THE PVS TRIPLET?
**************
1)34 PUSHJ P,DUZERR ;BUT NOT TOO FAR
1) MOVE W3,2(T1) ;GET NOW-DEFINED VALUE
****
2)34 ;**;[1174] Replace SYSTF3+1P21L DZN 30-May-79
2) PUSHJ P,E$$DUZ ;[1174] BUT NOT TOO FAR
2) MOVE W3,2(T1) ;GET NOW-DEFINED VALUE
**************
1)40 PUSHJ P,ANCERR ;WE ONLY GET HERE WHEN PAGE IS I
N CORE
1) MOVEM W3,(T2) ;REPLACE VALUE
Digital Equipment Corporation 28-AUG-79 Page 643
PCO Log Report
****
2)40 ;**;[1174] Replace @RP.CHF+2L DZN 30-May-79
2) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
2) MOVEM W3,(T2) ;REPLACE VALUE
**************
1)41 .ERR. (MS,.EC,V%L,L%F,S%F,IVC,<Index validation check
failed at >)
1) .ETC. (OCT,.EP,,,,T1)
****
2)41 ;**;[1174] Replace @INVIDX+2L DZN 30-May-79
2) E$$IVC::.ERR. (MS,.EC,V%L,L%F,S%F,IVC,<Index validation check
failed at >) ;[1174]
2) .ETC. (OCT,.EP,,,,T1)
**************
1)43 .ERR. (MS,.EC,V%L,L%W,S%W,MDS,<Multiply-Defined Global
symbol >)
1) .ETC. (SBX,.EC!.EP,,,,W2) ;SYMBOL IN W2
1) .ETC. (STR,.EC,,,,,<, in module >)
1) .ETC. (SBX,.EC!.EP,,,,PRGNAM)
1) .ETC. (STR,.EC,,,,,<
1) defined value = >)
1) .ETC. (OCT,.EC!.EP,,,,T1) ;CURRENT VALUE
1) .ETC. (STR,.EC,,,,,<, this value = >)
1) .ETC. (OCT,.EP,,,,W3) ;IN W3
1) SETZM LSTSYM ;SO WE DON'T DO FIXUPS?
****
2)43 ;**;[1174] Replace @SY.MDF+5L DZN 30-May-79
2) E$$MDS::.ERR. (MS,.EC,V%L,L%W,S%W,MDS,<Multiply-defined global
symbol >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2) ;SYMBOL IN W2
2) .ETC. (JMP,.EC,,,,.ETIMF##) ;[1174] PRINT OFFENDING MO
DULE
2) .ETC. (NLN,.EC) ;[1174]
2) .ETC. (STR,.EC,,,,,<Defined value = >) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,T1) ;CURRENT VALUE
2) .ETC. (STR,.EC,,,,,<, this value = >)
2) .ETC. (OCT,.EP,,,,W3) ;[1174]
2) SETZM LSTSYM ;SO WE DON'T DO FIXUPS?
**************
1)44 PUSHJ P,DUZERR ;BUT NOT TOO FAR
1) MOVX T3,PS.REQ ;IF NOW FULLY DEFINED
****
2)44 ;[1174] Replace @SY.AS0+9L DZN 30-May-79
2) PUSHJ P,E$$DUZ ;[1174] BUT NOT TOO FAR
2) MOVX T3,PS.REQ ;IF NOW FULLY DEFINED
**************
1)45 PUSHJ P,ISPERR
1) TXNN T2,S.LST ;GOT THERE YET
****
2)45 ;**;[1174] Replace @SY.ZS1+5L DZN 30-May-79
Digital Equipment Corporation 28-AUG-79 Page 644
PCO Log Report
2) PUSHJ P,E$$ISP ;[1174]
2) TXNN T2,S.LST ;GOT THERE YET
**************
1)49 PUSHJ P,ISPERR ;SHOULD NEVER HAPPEN
1) ADDI T2,.L ;ADVANCE PAST
****
2)49 ;**;[1174] Replace @SYCHK2+1L DZN 30-May-79
2) PUSHJ P,E$$ISP ;[1174] SHOULD NEVER HAPPEN
2) ADDI T2,.L ;ADVANCE PAST
**************
1)56 JRST F40OVE ;YES
1) > ;
****
2)56 ;**;[1174] Replace @F40NAM+3L DZN 30-May-79
2) JRST E$$FOV ;[1174] YES
2) > ;
**************
1)56 JRST F40ERR ;ERROR
1) POPJ P, ;[1120] DONE
1) IFN FTOVERLAY,<
1) F40OVE: .ERR. (MS,.EC,V%L,L%F,S%F,FOV,<Cannot overlay F40 comp
iled code in >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) >
1)57 ;**;[1120] Replace @CBLNAM DZN 22-Sep-78
****
2)56 ;**;[1174] Replace @F40NAM+20L DZN 30-May-79
2) JRST E$$MSR ;[1174] ERROR
2) POPJ P, ;[1120] DONE
2) IFN FTOVERLAY,<
2) ;**;[1174] Replace @F40OVE DZN 30-May-79
2) E$$FOV::.ERR. (MS,.EC,V%L,L%F,S%F,FOV,<Cannot overlay F40 comp
iled code>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]>
2)57 ;**;[1120] Replace @CBLNAM DZN 22-Sep-78
**************
1)57 JRST C74ERR ;NOT ALLOWED
1) TXNE T2,CBLBIT ;[1120] OR IF COBOL ALREADY SEEN
1) POPJ P, ;[1120] DONE
1) .ERR. (MS,0,V%L,L%F,S%F,CMF,<Cobol module must be load
ed first>)
1) C74NAM: JUMPE T2,CPOPJ ;[1120] OK FIRST TIME
1) TXNE T2,CBLBIT ;[1120] TEST FOR OTHER COBOL
1) JRST C74ERR ;NOT ALLOWED
1) TXNE T2,C74BIT ;[1120] OR IF COBOL ALREADY SEEN
1) POPJ P, ;[1120] DONE
1) .ERR. (MS,0,V%L,L%F,S%F,CMF)
1) C74ERR: .ERR. (MS,.EC,V%L,L%F,S%F,CMC,<Cannot mix COBOL-68 and
COBOL-74 compiled code
Digital Equipment Corporation 28-AUG-79 Page 645
PCO Log Report
1) Error detected in module >)
1) .ETC. (SBX,.EC!.EP,,,,PRGNAM)
1) .ETC. (STR,.EC,,,,,< from >)
1) .ETC. (FSP,,,,,DC)
1) ;**;[1120] Replace @C74ERR+6L DZN 22-Sep-78
****
2)57 ;**;[1174] Replace @CBLNAM+2L DZN 30-May-79
2) JRST E$$CMC ;[1174] NOT ALLOWED
2) TXNE T2,CBLBIT ;[1120] OR IF COBOL ALREADY SEEN
2) POPJ P, ;[1120] DONE
2) E$$CMF::.ERR. (MS,0,V%L,L%F,S%F,CMF,<COBOL module must be load
ed first>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) C74NAM: JUMPE T2,CPOPJ ;[1120] OK FIRST TIME
2) TXNE T2,CBLBIT ;[1120] TEST FOR OTHER COBOL
2) ;**;[1174] Replace @C74NAM+2L DZN 30-May-79
2) JRST E$$CMC ;[1174] NOT ALLOWED
2) TXNN T2,C74BIT ;[1174] OR IF COBOL ALREADY SEEN
2) JRST E$$CMF ;[1174]
2) ;**;[1174] Replace @C74ERR DZN 30-May-79
2) E$$CMC::.ERR. (MS,.EC,V%L,L%F,S%F,CMC,<Cannot mix COBOL-68 and
COBOL-74 compiled code>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) ;**;[1120] Replace @C74ERR+6L DZN 22-Sep-78
**************
1)57 F40ERR: .ERR. (MS,0,V%L,L%F,S%F,MSR,</MIXFOR switch required t
o mix F40 and FORTRAN code>)
1) IFN FMXFOR,<
****
2)57 ;**;[1174] Replace @F40ERR DZN 30-May-79
2) E$$MSR::.ERR. (MS,0,V%L,L%F,S%F,MSR,</MIXFOR switch required t
o mix F40 and FORTRAN code>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) IFN FMXFOR,<
**************
1)60 JRST MXFERR ;NO, SO GIVE UP
1) MXFOR3: PUSHJ P,ADCKMX ;GET NEXT DATA WORD
****
2)60 ;**;[1174] Replace @MXFR2A+6L DZN 30-May-79
2) JRST E$$FSF ;[1174] NO, SO GIVE UP
2) MXFOR3: PUSHJ P,ADCKMX ;GET NEXT DATA WORD
**************
1)60 JRST MXFERR ;ERROR
1) MOVSI T1,(SOJA 16,) ;CHANGE INST TO SOJA 16,.JRA16##
****
2)60 ;**;[1174] Replace @MXFOR3+14L DZN 30-May-79
2) JRST E$$FSF ;[1174] ERROR
2) MOVSI T1,(SOJA 16,) ;CHANGE INST TO SOJA 16,.JRA16##
**************
Digital Equipment Corporation 28-AUG-79 Page 646
PCO Log Report
1)61 ; JRST MXFERR ;SHOULD HAVE FOUND IT BY NOW
1)62 ;HERE IF SUBROUTINE IS NOT STANDARD FORM
1) MXFERR: .ERR. (MS,.EC,V%L,L%W,S%W,FSF,<Fortran subroutine >)
1) .ETC. (SBX,.EC!.EP,,,,PRGNAM)
1) .ETC. (STR,,,,,,< not in expected form, MIXFOR fixup n
ot done>)
1) JRST MXFOR5 ;TRY NEXT
****
2)61 ;**;[1174] Replace @MXFOR9+7L DZN 30-May-79
2) ; JRST E$$FSF ;[1174] SHOULD HAVE FOUND IT BY
NOW
2)62 ;HERE IF SUBROUTINE IS NOT STANDARD FORM
2) ;**;[1174] Replace @MXFERR DZN 30-May-79
2) E$$FSF::.ERR. (MS,.EC,V%L,L%W,S%W,FSF,<FORTRAN subroutine not
in expected format, /MIXFOR fixup not done>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174] RETURNS WHEN MODULE A
ND FILE PRINTED
2) JRST MXFOR5 ;TRY NEXT
**************
1)66 GOSTER: PUSHJ P,STARTU## ;UNDEFINED MESSAGE
1) SETZM STADDR ;CLEAR ADDRESS
****
2)66 ;**;[1174] Replace @GOSTER DZN 3-Jun-79
2) GOSTER: PUSHJ P,E$$USA## ;[1174] UNDEFINED MESSAGE
2) SETZM STADDR ;CLEAR ADDRESS
**************
1)67 PUSHJ P,[PUSHJ P,.SAVE4## ;INCASE WE NEED THEM
1) HRRZ T1,LOWSUB ;[605] ON TTY ONLY
1) PUSHJ P,.TYOCH## ;INITIALIZE
1) PUSH P,T1 ;STORE OLD
1) MOVEI T1,[ASCIZ \?LNKUGS \] ;FATAL F
OR BATCH
1) SETZ P2, ;NO TERMINATOR
1) PJRST UNDEF1##] ;AND JOIN OUTPUT ROUTINE
1) HLRZ P1,INCPTR ;GET GLOBAL INCLUDE POINTER
****
2)67 PUSHJ P,LODUGS ;[1174] PRINT UNDEFINED GLOBALS
MESSAGE
2) HLRZ P1,INCPTR ;GET GLOBAL INCLUDE POINTER
**************
1)68 ;[704] HERE TO SORT THE PSECT RELOCATION TABLES BY ORDER OF
****
2)67 LODUGS: MOVE T1,[PUSHJ P,UNDNXT##] ;[1174] SET UP NEXT SYMBOL
ROUTINE
2) MOVEM T1,NXTGLB ;[1174] ..
2) MOVE W3,HT.PRM ;[1174] SET UP INDEX TO HASH TAB
LE
2) ADDI W3,1 ;[1174] START 1 UP FOR SOSGE IN
UGSNXT
Digital Equipment Corporation 28-AUG-79 Page 647
PCO Log Report
2) E01UGS::.ERR. (MS,.EC,V%L,L%F,S%C,UGS) ;[1174]
2) .ETC. (JMP,,,,,.ETUGS##) ;[1174] PRINT UNDEF'ED GLOBAL
S AND RETURN
2)68 ;[704] HERE TO SORT THE PSECT RELOCATION TABLES BY ORDER OF
**************
1)70 .ERR. (MS,.EC,V%L,L%W,S%W,POV,<PSECTs overlapped: >)
1) .ETC. (OCT,.EC!.EP,,,,W1)
1) .ETC. (STR,.EC,,,,,< to >)
1) .ETC. (OCT,.EC!.EP,,,,W2)
1) .ETC. (STR,.EC,,,,,< PSECTS >)
1) .ETC. (SBX,.EC!.EP,,,,T1)
1) .ETC. (STR,.EC,,,,,< and >)
1) .ETC. (SBX,.EP,,,,T2)
1) CHKBN2: JUMPG R,CHKBN1 ;[760] LOOP DOWN IF MORE IN THIS
SWEEP
****
2)70 ;**;[1174] Replace @CHKBN1+11L DZN 30-May-79
2) E$$POV::.ERR. (MS,.EC,V%L,L%W,S%W,POV,<Psects >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,T1) ;[1174]
2) .ETC. (STR,.EC,,,,,< and >)
2) .ETC. (SBX,.EC!.EP,,,,T2) ;[1174]
2) .ETC. (STR,.EC,,,,,< overlap from >) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,W1) ;[1174]
2) .ETC. (STR,.EC,,,,,< to >)
2) .ETC. (OCT,.EP,,,,W2) ;[1174]
2) CHKBN2: JUMPG R,CHKBN1 ;[760] LOOP DOWN IF MORE IN THIS
SWEEP
**************
1)83 .ERR. (MS,0,V%L,L%W,S%W,FSI,<FORTRAN-10 requires FOROT
S, /FORSE switch ignored>)
1) FORL02: SETZM FORLIB ;IGNORE STUPID USER REQUEST
****
2)83 ;**;[1174] Replace @FOR.L2+5L DZN 30-May-79
2) E$$FSI::.ERR. (MS,0,V%L,L%W,S%W,FSI,<FORTRAN requires FOROTS,
/FORSE switch ignored>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) FORL02: SETZM FORLIB ;IGNORE STUPID USER REQUEST
**************
1)83 .ERR. (MS,0,V%L,L%W,S%W,FSI)
1) SETZM FORLIB
****
2)83 ;**;[1174] Replace @FOR.L1+2L DZN 30-May-79
2) E01FSI::.ERR. (MS,0,V%L,L%W,S%W,FSI) ;[1174]
2) .ETC. (STR,,,,,.ETIMF##) ;[1174]
2) SETZM FORLIB
**************
1)85 .ERR. (MS,,V%L,L%W,S%W,AMP,<ALGOL main program not loa
ded>)
1) ALG.L2: MOVE P1,['ALGLIB']
****
2)85 ;**;[1174] Replace @ALG.L1+2L DZN 30-May-79
Digital Equipment Corporation 28-AUG-79 Page 648
PCO Log Report
2) E$$AMP::.ERR. (MS,,V%L,L%W,S%W,AMP,<ALGOL main program not loa
ded>) ;[1174]
2) ALG.L2: MOVE P1,['ALGLIB']
**************
1)85 .ERR. (MS,,V%L,L%W,S%W,SMP,<SIMULA main program not lo
aded>)
1) SIM.L0: MOVE P1,['SIMLIB']
****
2)85 ;**;[1174] Replace @SIM.L1+2L DZN 30-May-79
2) E$$SMP::.ERR. (MS,,V%L,L%W,S%W,SMP,<SIMULA main program not lo
aded>) ;[1174]
2) SIM.L0: MOVE P1,['SIMLIB']
**************
1)86 PUSH P,[DC] ;SAVE CHAN#
1) .ERR. (ST,0,V%L,L%F,S%F,EID,<Error on input device>)
1) ;THESE ROUTINES ARE LIKE THE CORRESPONDING D.IN? ROUTINES, EXCEP
T
****
2)86 ;**;[1174] Replace @D.ERR+2L DZN 30-May-79
2) E01EIF::PUSH P,[DC] ;[1174] SAVE CHANNEL FOR LNKLOG
2) .ERR. (ST,0,V%L,L%F,S%F,EIF) ;[1174]
2) ;THESE ROUTINES ARE LIKE THE CORRESPONDING D.IN? ROUTINES, EXCEP
T
**************
1)88 PUSHJ P,EOFTS ;NO GIVE WARNING
1) POP P,(P) ;POP OFF RETURN
****
2)88 ;**;[1174] Replace @EOF+1L DZN 30-May-79
2) PUSHJ P,E$$NEB ;[1174] NO GIVE WARNING
2) POP P,(P) ;POP OFF RETURN
**************
1)88 EOFTS:: .ERR. (MS,.EC,V%L,L%W,S%W,NEB,<No end block seen for >
)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) MOVEI R,1 ;NOW TRY TO FIXUP RELOC TABLES
****
2)88 E$$NEB::.ERR. (MS,.EC,V%L,L%W,S%W,NEB,<No end block seen>) ;[1
174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) MOVEI R,1 ;NOW TRY TO FIXUP RELOC TABLES
**************
Digital Equipment Corporation 28-AUG-79 Page 649
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOG.MAC[30,4507] created: 0045 17-Feb-1979
File 2) LINK:LNKLOG.MAC[10,645063] created: 1729 11-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 16-Feb-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1144 ;DEC EDIT VERSION
1) SEGMENT
1) ;USES T1-T4 ONLY (PLUS PUSHDOWN STACK)
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) SEGMENT
2) SALL
2) ;USES T1-T4 ONLY (PLUS PUSHDOWN STACK)
**************
1)3 SUBTTL ENTER HERE FROM LINK
1) ;UUO TYPE IS IN AC T1
1) IFN FTSINGLE,<
****
2)2 ;1174 Label and clean up all error messages. Remove most of ed
it 1144. Support
2) ; .ETC. codes RTN, NLN, XCT, BKL, DAT and NOP. Support S%C
. Clean up the
2) ; listing.
2)3 SUBTTL DISPATCH TABLES FOR MESSAGE CLASSES
2) ;DISPATCH TABLE FOR MAIN MESSAGE TYPE. THE MESSAGE TYPE IS
SPECIFIED IN THE
2) ;FIRST ARGUMENT TO THE .ERR. MACRO.
2) DEFINE XXX(TYPE)<
2) EXP ER.'TYPE
2) >
2) XALL
2) TYPTAB: ERRTYPE
2) ;DISPATCH TABLE FOR CONTINUATION MESSAGE TYPE. THE CONTIN
UATION TYPE IS
2) ;SPECIFIED IN THE FIRST ARGUMENT TO THE .ETC. MACRO.
2) DEFINE XXX(TYPE)<
2) ..CTRL==<<IFIDN <TYPE><JMP>,<1>>!<IFIDN <TYPE><RTN>,<1>>>
2) IFN ..CTRL,<
2) XWD 1B18,ER'TYPE ;FLOW OF CONTROL ONLY
2) >
2) IFE ..CTRL,<
2) EXP ER'TYPE ;PRINT TEXT
2) >
2) >
2) ER.TAB: ETCTYPE
2) ERLEN==.-ER.TAB
Digital Equipment Corporation 28-AUG-79 Page 100
PCO Log Report
2) SALL
2)4 SUBTTL ENTRY FROM ERRUUO AND MESSAGE DISPATCH
2) IFN FTSINGLE,<
**************
1)3 JRST @TYPTAB(T1)
1) DEFINE XXX (TYPE) <
1) EXP ER.'TYPE
1) >
1) TYPTAB: ERRTYPE
1) SALL
1)4 ;ENTRY POINT FOR ASCII STRING
1) ;CALLED BY
1) ; ERRUOO MS
1) ; ARGS
1) ER.MS: PUSHJ P,CHKLVL ;OUTPUT %,? OR TIME STAMP ETC
1) JRST NOERR ;NOTHING TO OUTPUT
1) MOVE T1,VERLVL ;GET VERBOSITY LEVEL
1) SOJE T1,ERRLV1 ;END NOW IF /VER:SHORT
1) ;**;[1144] Insert before ER.MS+4L DZN 16-Feb-79
1) TXNE P1,.EN ;[1144] SEE IF THERE'S A MESSAGE
TO PRINT
1) JRST ERRNXT ;[1144] NO--DON'T PRINT ANYTHING
1) HRRZ T1,P1 ;ADDRESS OF MESSAGE STRING
1) OUTVIA .TSTRG## ;OUTPUT MESSAGE
1) ERRNXT: TXNN P1,.EC ;MORE TO DO?
1) JRST ERRFIN ;NO, END LINE
1) ;**;[1144] Replace @ERRNXT+2L DZN 16-Feb-79
1) LDB T1,VSPTR ;[1144] GET VERBOSITY AND SEVERI
TY
1) AOS UUOTRAP ;ADVANCE RETURN POINTER
1) MOVE P1,@UUOTRAP ;GET ADDRESS OF OUTPUT INFO
1) DPB T1,VSPTR ;[1144] STORE VERBOSITY AND SEVE
RITY AGAIN
1) TRNN P1,-1 ;IF ZERO , ITS ON THE STACK
1) PUSHJ P,UNSTCK ;GET IT
1) HRRZ T1,P1 ;GET VALUE
1) TXNN P1,.EP ;ONLY A POINTER?
1) JRST .+4 ;NO, ALL SET
1) CAIG T1,P1 ;IS IT ONE OF THE SAVED ONES?
1) SKIPA T1,SAVEAC(T1) ;YES, GET FROM SAVED SET
1) MOVE T1,(T1) ;NO, GET REAL VALUE
1) LDB T2,LVLPTR ;GET TYPE
1) JRST @ER.TAB(T2) ;DO CORRECT FUNCTION
1) ERRFIN: MOVE T1,VERLVL ;GET WHAT USER WANTS
1) CAIGE T1,V%L ;DOES HE WANT LONG?
1) JRST ERRFN0 ;NO
****
2)4 JRST @TYPTAB(T1) ;[1174] ROUTINES RETURN TO ERRFI
N BELOW
Digital Equipment Corporation 28-AUG-79 Page 101
PCO Log Report
2) ERRFIN: SKIPGE PRTMSG ;[1174] DID WE PRINT ANYTHING AT
ALL?
2) JRST ERRET ;[1174] NO--NO LINE TO FINISH OF
F THEN
2) MOVE T1,VERLVL ;[1174] DID USER REQUEST LONG ME
SSAGE?
2) CAIGE T1,V%L ;[1174] ..
2) JRST ERRFN0 ;NO
**************
1)4 CAIL T2,S%W ;WAS IT
****
2)4 CAMGE T2,SEVLVL ;[1174] SUPPRESS ] IF MESSAGE FO
RCED TO FATAL
2) CAIL T2,S%W ;WAS IT
**************
1)4 TXNE P1,.EB ;BLANK LINE NEEDED?
1) SKIPN LOGSUB ;YES, BUT HAVE A LOG FILE?
1) CAIA ;NO TO EITHER
1) PUSHJ P,.TCRLF## ;YES, BLANK LINE IN LOG ONLY
1)5 ;HERE WHEN THE MESSAGE HAS BEEN TYPED. SHOULD WE CONTINUE?
****
2)4 ; ..
2)5 ; ..
2) ;HERE WHEN THE MESSAGE HAS BEEN TYPED. SHOULD WE CONTINUE?
**************
1)5 JRST ERXIT ;NO
1) HRRZS LOGSUB ;CLEAR FLAG
1) CAIL T1,S%E ;DO WE NEED TO EDIT THIS ERROR F
IRST
1) JRST EDITER ;YES, FATAL IF WE DON'T
****
2)5 CAXN T1,S%C ;[1174] ..
2) SKIPA ;[1174] YES--RETURN TO CALLER
2) JRST ERXIT ;[1174] NO--GO EXIT
2) HRRZS LOGSUB ;CLEAR FLAG
2) CAIN T1,S%E ;[1174] DO WE NEED TO EDIT THIS
ERROR FIRST
2) JRST EDITER ;YES, FATAL IF WE DON'T
**************
1)6 ;HERE WHEN LOG FILE GETS ERROR
1) ;FINISH ORIGINAL MESSAGE THEN OUTPUT LOG ERROR MESSAGE
1) REPEAT 0,< ;NOT YET WORKING
1) ERRLOG: POP P,T1 ;GET RETURN OFF STACK
1) PUSH P,UUOTRAP ;SAVE REAL RETURN ADDRESS
1) PUSH P,T1 ;STACK RETURN
1) MOVEI T1,LOGERR-1 ;FAKE RETURN
1) HRRM T1,UUOTRAP ;SO WE CAN TYPE 2ND MESSAGE
1) POPJ P, ;IF NOTHING MORE IMPORTANT OCCUR
S
Digital Equipment Corporation 28-AUG-79 Page 102
PCO Log Report
1) LOGERR: PUSH P,[RC] ;CHAN#
1) .ERR. (ST,0,V%M,L%W,S%W,OEL,<Output error on LOG file,
file closed, job continuing.>)
1) POP P,T1 ;GET ORIGINAL RETURN
1) JRSTF @T1 ;RETURN
1) >;END OF REPEAT 0
1)7 ;HERE TO "EDIT" THE ERRONEOUS FILE SPEC
1) ;STORE CURRENT STRING IN F.EDIT
1) ;AND GO TO SCAN
1) EDITER: MOVEI T2,1 ;GET A WORD TO HOLD FL
****
2)5 ;HERE TO "EDIT" THE ERRONEOUS FILE SPECIFICATION. THIS OCCURS W
HEN A MESSAGE OF
2) ;SEVERITY S%E IS PRINTED UNDER TIMESHARING. STORE THE STILL PEND
ING LIST OF SCAN
2) ;BLOCKS IN F.EDIT, AND RETURN TO THE LNKSCN FOR THE CORRECTION L
INE.
2) EDITER: MOVEI T2,1 ;GET A WORD TO HOLD FL
**************
1)7 EDTMES: ASCIZ \[ Please retype the incorrect parts of the
file specification]
1) \
1)8 ERXIT: MOVEI T1,FINMES ;TELL USER WE CLOSED FILE
****
2)5 EDTMES: .ASCIZ <[ Please retype the incorrect parts of the
file specification]
2) >
2)6 ;HERE WHEN LOG FILE GETS ERROR
2) ;FINISH ORIGINAL MESSAGE THEN OUTPUT LOG ERROR MESSAGE
2) REPEAT 0,< ;NOT YET WORKING
2) ERRLOG: POP P,T1 ;GET RETURN OFF STACK
2) PUSH P,UUOTRAP ;SAVE REAL RETURN ADDRESS
2) PUSH P,T1 ;STACK RETURN
2) ;**;[1174] Replace @ERRLOG+3L DZN 4-Jun-79
2) MOVEI T1,E$$OEL-1 ;[1174] FAKE RETURN
2) HRRM T1,UUOTRAP ;SO WE CAN TYPE 2ND MESSAGE
2) POPJ P, ;IF NOTHING MORE IMPORTANT OCCUR
S
2) ;**;[1174] Replace @LOGERR DZN 4-Jun-79
2) E$$OEL::PUSH P,[RC] ;CHANNNEL #
2) .ERR. (ST,0,V%L,L%W,S%W,OEL,<Output error on log file,
file closed, load continuing>)
2) POP P,T1 ;GET ORIGINAL RETURN
2) JRSTF @T1 ;RETURN
2) >;END OF REPEAT 0
2)7 SUBTTL FATAL ERROR FINAL CLEAN-UP AND EXIT
2) ;HERE IF FATAL NON-CONTINUABLE (E.G., NOT EDITABLE) ERROR OCCURS
, AFTER PRINTING
2) ;THE MESSAGE. CLOSE THE LOG FILE AND DELETE ALL OF LINK'S .TMP
Digital Equipment Corporation 28-AUG-79 Page 103
PCO Log Report
FILES. IF WE'RE
2) ;UNDER BATCH, FORCE OUT THE LONG MESSAGE IF APPLICABLE. OTHERW
ISE, MERELY GIVE
2) ;THE USER A HINT THAT THE LONG MESSAGE MAY BE TYPED IF DESIRED.
2) ERXIT: MOVEI T1,FINMES ;TELL USER WE CLOSED FILE
**************
1)8 FINMES: .ASCIZ < [END OF LOG FILE]
1) >
1)9 NOERR: TXNN P1,.EC ;MORE TO DO?
1) JRST ERRET ;NO, END LINE
1) LDB T1,SEVPTR ;GET SEVERITY
1) AOS UUOTRAP ;ADVANCE RETURN POINTER
1) MOVE P1,@UUOTRAP ;GET ADDRESS OF OUTPUT INFO
1) DPB T1,SEVPTR ;STORE SEVERITY AGAIN
1) TRNN P1,-1 ;IF ZERO , ITS ON THE STACK
1) PUSHJ P,UNSTCK ;GET IT
1) JRST NOERR ;SEE IF END
1) ;HERE IF /VER:SHORT
1) ;WE MUST REMOVE ALL ITEMS FROM STACK
1) ;SET SEVERITY LEVEL
1) ;AND CLOSE OPEN ] ETC
1) ERRLV1: TXNN P1,.EC ;MORE TO DO?
1) JRST ERRFN0 ;NO, END LINE
1) LDB T1,SEVPTR ;GET SEVERITY
1) AOS UUOTRAP ;ADVANCE RETURN POINTER
1) MOVE P1,@UUOTRAP ;GET ADDRESS OF OUTPUT INFO
1) DPB T1,SEVPTR ;STORE SEVERITY AGAIN
1) TRNN P1,-1 ;IF ZERO , ITS ON THE STACK
1) PUSHJ P,UNSTCK ;GET IT
1) JRST ERRLV1 ;SEE IF END
1)10 ;HERE FOR LOOKUP/ENTER/RENAME ERROR
****
2)7 FINMES: .ASCIZ < [End of log file]
2) >
2)8 SUBTTL MAIN ERROR MESSAGE SUBROUTINES
2) ;ENTRY POINT FOR ASCII STRING
2) ;CALLED BY
2) ; ERRUUO ER%MS
2) ; ARGS
2) ER.MS: PUSHJ P,CHKLVL ;OUTPUT %,? OR TIME STAMP ETC
2) JRST ERRNXT ;[1174] NOTHING TO OUTPUT
2) HRRZ T1,P1 ;ADDRESS OF MESSAGE STRING
2) OUTVIA .TSTRG## ;OUTPUT MESSAGE
2) JRST ERRNXT ;[1174] GO PROCESS .ETC. WORDS
2) ;HERE FOR LOOKUP/ENTER/RENAME ERROR
**************
1)10 ; ERRUUO LRE
1) ; ARGS
1) ER.LRE: MOVE T4,0(P) ;GET CHAN#
1) ;**;[1144] Replace @ER.LRE+1L DZN 16-Feb-79
****
Digital Equipment Corporation 28-AUG-79 Page 104
PCO Log Report
2)8 ; ERRUUO ER%LRE
2) ; ARGS
2) ER.LRE: POP P,ERCHAN ;[1174] RESCUE CHANNEL FROM STAC
K
2) MOVE T4,ERCHAN ;[1174] GET CHANNEL WHERE CHKCHN
LIKES IT
2) ;**;[1144] Replace @ER.LRE+1L DZN 16-Feb-79
**************
1)10 ERLRE2: PUSHJ P,CHKCHN ;IF EDITABLE, SEE IF FATAL
1) PUSHJ P,CHKLVL ;OUTPUT TIME ETC
1) JRST ERRET1 ;NOTHING TO DO
1) ;**;[1144] Insert before ERLRE2+3L DZN 16-Feb-79
1) TXNE P1,.EN ;[1144] SEE IF THERE'S TEXT TO P
RING
1) JRST ERLRE3 ;[1144] NO--DON'T PRINT ANYTHING
1) HRRZ T1,P1 ;ADDRESS OF MESSAGE
1) OUTVIA .TSTRG## ;OUTPUT ON TTY AND/OR LOG
1) ERLRE3: POP P,T4 ;[1144] RESTORE CHAN PLUS FLAGS
1) IFE FTSINGLE,<
****
2)8 ; ..
2)9 ; ..
2) ERLRE2: PUSHJ P,CHKCHN ;IF EDITABLE, SEE IF FATAL
2) PUSHJ P,CHKLVL ;OUTPUT TIME ETC
2) JRST ERRNXT ;[1174] NOTHING TO DO
2) ;**;[1144] Insert before ERLRE2+3L DZN 16-Feb-79
2) HRRZ T1,P1 ;ADDRESS OF MESSAGE
2) OUTVIA .TSTRG## ;OUTPUT ON TTY AND/OR LOG
2) ERLRE3: MOVE T4,ERCHAN ;[1174] RESTORE CHAN PLUS FLAGS
2) IFE FTSINGLE,<
**************
1)11 ERRET1: POP P,T1 ;REMOVE CHAN#
1) JRST ERRET ;AND RETURN
1)12 IFE FTSINGLE,<
****
2)10 IFE FTSINGLE,<
**************
1)13 ; ERRUUO I
1) ; ARGS
1) ER.I: PUSHJ P,CHKLVL ;OUTPUT % OR ?
1) JRST ERRET1 ;NOTHING TO DO
1) ;**;[1144] Insert before ER.I+2L DZN 16-Feb-79
1) TXNE P1,.EN ;[1144] ANY MESSAGE TO PRINT?
1) JRST ERI1 ;[1144] NO--DON'T PRINT ANYTHING
1) HRRZ T1,P1 ;GET MESSAGE
1) OUTVIA .TSTRG##
1) ERI1: POP P,T4 ;[1144] GET CHAN#
1) PUSHJ P,CHKCHN ;SETUP CHAN# IF EDITABLE
****
Digital Equipment Corporation 28-AUG-79 Page 105
PCO Log Report
2)11 ; ERRUUO ER%I
2) ; ARGS
2) ER.I: POP P,ERCHAN ;[1174] RESCUE CHANNEL FROM STAC
K
2) PUSHJ P,CHKLVL ;OUTPUT % OR ?
2) JRST ERRNXT ;[1174] NOTHING TO DO
2) ;**;[1144] Insert before ER.I+2L DZN 16-Feb-79
2) HRRZ T1,P1 ;GET MESSAGE
2) OUTVIA .TSTRG##
2) ERI1: MOVE T4,ERCHAN ;[1174] GET CHANNEL FOR CHKCHN
2) PUSHJ P,CHKCHN ;SETUP CHAN# IF EDITABLE
**************
1)14 ; ERRUUO ST
1) ; ARGS
1) ER.ST: PUSHJ P,CHKLVL ;OUTPUT % OR ?
1) PJRST ERRET1 ;NOTHING TO DO
1) ;**;[1144] Replace @ER.ST+2L DZN 16-Feb-79
1) TXNE P1,.EN ;[1144] ANY MESSAGE TO TYPE?
1) JRST ERST1 ;[1144] NO--DON'T PRINT ANYTHING
1) HRRZ T1,P1 ;GET MESSAGE
****
2)12 ; ERRUUO ER%ST
2) ; ARGS
2) ER.ST: POP P,ERCHAN ;[1174] RESCUE CHANNEL FROM STAC
K
2) PUSHJ P,CHKLVL ;OUTPUT % OR ?
2) PJRST ERRNXT ;[1174] NOTHING TO DO
2) ;**;[1144] Replace @ER.ST+2L DZN 16-Feb-79
2) HRRZ T1,P1 ;GET MESSAGE
**************
1)14 HRLZ T1,(P) ;GET CHAN#
1) LSH T1,5 ;PUT IN AC FIELD
****
2)12 HRLZ T1,ERCHAN ;[1174] GET CHANNEL FOR GETSTS
2) LSH T1,5 ;PUT IN AC FIELD
**************
1)14 MOVEI T1,[ASCIZ \for \] ;[1144]
1) OUTVIA .TSTRG##
1) POP P,T4 ;GET CHAN#
1) PUSHJ P,CHKCHN ;SETUP CHAN# IF EDITABLE
****
2)12 MOVEI T1,[ASCIZ \ for file \] ;[1144]
2) OUTVIA .TSTRG##
2) MOVE T4,ERCHAN ;[1174] GET CHANNEL NUMBER FOR C
HKCHN
2) PUSHJ P,CHKCHN ;SETUP CHAN# IF EDITABLE
**************
1)16 SUBTTL CONTINUATION DISPATCH
1) DEFINE XXX (TYPE)<
Digital Equipment Corporation 28-AUG-79 Page 106
PCO Log Report
1) EXP ER'TYPE
1) >
1) XALL
1) ER.TAB: ETCTYPE ;GENERATE DISPATCHES
1) ERLEN==.-ER.TAB ;LENGTH OF TABLE
1) SALL
1) ;ASCII LINE
1) ERSTR: OUTVIA .TSTRG##
1) JRST ERRNXT ;SEE IF MORE
1) ERSBX: OUTVIA .TSIXN##
1) JRST ERRNXT
1) EROCT: OUTVIA .TOCTW##
1) JRST ERRNXT
1) ERDEC: OUTVIA .TDECW##
1) JRST ERRNXT
1) ;FILE SPECS
1) ERFSP: HRR P1,IO.PTR(P1) ;GET ADDRESS
****
2)14 SUBTTL CONTINUATION OF FIRST LINE DISPATCH
2) ;HERE AFTER PROCESSING AN .ETC. FUNCTION. IF THERE ARE NO MORE
LEFT, RETURN VIA
2) ;ERRFIN. OTHERWISE, PROCESS THE NEXT .ETC. FUNCTION ONLY IF THE
FIRST LINE OF
2) ;THE MESSAGE SHOULD BE PRINTED OR IF THE .ETC. REPRESENTS FLOW-O
F-CONTROL RATHER
2) ;THAN TEXT.
2) ERRNXT: TXNN P1,.EC ;MORE TO DO?
2) JRST ERRFIN ;NO, END LINE
2) ;**;[1144] Replace @ERRNXT+2L DZN 16-Feb-79
2) LDB T1,VSPTR ;[1144] GET VERBOSITY AND SEVERI
TY
2) AOS UUOTRAP ;ADVANCE RETURN POINTER
2) MOVE P1,@UUOTRAP ;GET ADDRESS OF OUTPUT INFO
2) DPB T1,VSPTR ;[1144] STORE VERBOSITY AND SEVE
RITY AGAIN
2) SKIPLE PRTMSG ;[1174] ARE WE SUPPOSED TO PRINT
FIRST LINE?
2) JRST ERRNX1 ;[1174] YES--GO STRAIGHT TO IT
2) LDB T1,LVLPTR ;[1174] NO--ONLY PROCESS CONTROL
.ETC. WORDS
2) SKIPL ER.TAB(T1) ;[1174] ONE THAT PRINTS TEXT?
2) JRST ERRNXT ;[1174] NO--IGNORE IT AND GET NE
XT
2) ERRNX1: HRRZ T1,P1 ;[1174] GET VALUE
2) TXNN P1,.EP ;ONLY A POINTER?
2) JRST .+4 ;NO, ALL SET
2) CAIG T1,P1 ;IS IT ONE OF THE SAVED ONES?
2) SKIPA T1,SAVEAC(T1) ;YES, GET FROM SAVED SET
2) MOVE T1,(T1) ;NO, GET REAL VALUE
Digital Equipment Corporation 28-AUG-79 Page 107
PCO Log Report
2) LDB T2,LVLPTR ;[1174] GET .ETC. TYPE CODE
2) JRST @ER.TAB(T2) ;DO CORRECT FUNCTION
2) ;PRINT ASCII TEXT IN ASCIZ FORMAT.
2) ERSTR: OUTVIA .TSTRG##
2) JRST ERRNXT ;SEE IF MORE
2) ;PRINT A SIXBIT WORD WITHOUT TRAILING SPACES.
2) ERSBX: OUTVIA .TSIXN##
2) JRST ERRNXT
2) ;PRINT AN OCTAL FULL WORD WITHOUT LEADING ZEROS.
2) EROCT: OUTVIA .TOCTW##
2) JRST ERRNXT
2)15 ;PRINT A SIGNED DECIMAL VALUE.
2) ERDEC: OUTVIA .TDECW##
2) JRST ERRNXT
2) ;PRINT A FILE SPECIFICATION. THE ARGUMENT IS LINK'S INTERNAL CHA
NNEL NUMBER.
2) ERFSP: HRR P1,IO.PTR(P1) ;GET ADDRESS
**************
1)16 ;ASCII CHARACTER
1) ERASC: OUTVIA .TCHAR##
1) JRST ERRNXT
1)17 ;CORE ARG EITHER K OR P (DECIMAL)
1) ERCOR: ADDI T1,1 ;ROUND UP TO 1000 OR 2000
1) IFE TOPS20,<
1) MOVE T2,.PGSIZ ;GET PAGE SIZE
1) CAIE T2,777 ;P OR K
1) JRST [MOVEI T2,"K" ;K
1) LSH T1,-^D10 ;CONVERT TO K
1) JRST ERCOR1]
1) >;END IFE TOPS20
1) MOVEI T2,"P" ;PAGES
1) LSH T1,-9 ;GET INTO PAGES
1) ERCOR1: PUSH P,T2 ;SAVE CHAR
1) OUTVIA .TDECW## ;DECIMAL NUMBER
1) POP P,T1 ;AND LETTER
1) OUTVIA .TCHAR##
1) JRST ERRNXT
1) ;GOTO WORD
1) ERJMP: SUBI P1,1 ;BACKUP SO AOS WILL GET RIGHT LO
C
1) HRRM P1,UUOTRAP ;STORE GOTO ADDRESS
1) JRST ERRNXT
1)18 ;RELATIVE POINTER TO TRIPLET(S) IN LS AREA
1) IFN .NWBLK,<
****
2)15 ;PRINT A SINGLE ASCII CHARACTER.
2) ERASC: OUTVIA .TCHAR##
2) JRST ERRNXT
2) ;MEMORY SIZE ARGUMENT. PRINT MEMORY SIZE IN K FOR KA'S, PAGES FO
Digital Equipment Corporation 28-AUG-79 Page 108
PCO Log Report
R ALL OTHERS.
2) ERCOR: ADD. T1,.PGSIZ ;[1174] ROUND UP TO MONITOR'S PA
GE SIZE
2) ANDCM. T1,.PGSIZ ;[1174] ..
2) OUTVIA .TCORW## ;[1174] .TOUTS HAS THE SMARTS
2) JRST ERRNXT ;[1174] DONE
2) ;JUMP TO A CONTINUATION LIST OF .ETC. MACROS. CONTROL RETURNS FR
OM LNKLOG TO THE
2) ;INSTRUCTIONS AFTER THE CONTINUATION LIST, NOT THE OLD LIST. WE
ALSO SAVE THE
2) ;ADDRESS OF THE CURRENT .ETC. WORD SO RTN BELOW CAN USE IT.
2) ERJMP: HRRZ T2,UUOTRAP ;[1174] GET ADDRESS OF CURRENT .
ETC.
2) MOVEM T2,RTNPC ;[1174] SAVE IN CASE RTN NEEDS I
T
2) SUBI T1,1 ;[1174] LOOK LIKE WE JUST PROCES
SED PREVIOUS WORD
2) HRRM T1,UUOTRAP ;[1174] ..
2) TXO P1,.EC ;[1174] IMPLIED CONTINUATION FOR
JMP'S
2) JRST ERRNXT ;[1174]
2) ;RETURN FROM PREVIOUS JUMP. NOTE THAT THE .EC FLAG OF THE JUMP
THAT GOT US HERE
2) ;CONTROLS WHETHER THERE ARE ANY MORE .ETC. WORDS, NOT THE .EC
FLAG OF THE RTN
2) ;FUNCTION.
2) ERRTN: ADD T1,RTNPC ;[1174] FOR CPOPJ1, ETC.
2) HRRM T1,UUOTRAP ;[1174] LOOK LIKE WE JUST PROCES
SED LAST JMP
2) LDB T2,VSPTR ;[1174] SAVE ORIGINAL VERBOSITY,
SEVERITY
2) MOVE P1,(T1) ;[1174] FINISH LOOKING LIKE THE
JMP
2) DPB T2,VSPTR ;[1174] RESTORE ORIGINAL VERBOSI
TY AND SEVERITY
2) JRST ERRNXT ;[1174] DONE
2)16 ;PRINT A NEW LINE. THIS PRINTS A CRLF FOLLOWED BY THE RIGHT IND
ENTATION FOR THE
2) ;DESTINATION. FOR A REAL LOG FILE, THIS INCLUDES THE TIME STA
MP PLUS LEVEL,
2) ;SEVERITY AND MESSAGE PREFIX. FOR A REAL TERMINAL, THIS INCLUDE
S A TAB FOR NOW,
2) ;BUT SHOULD OPTIONALLY BE 2 SPACES IF LINK EVER LOOKS AT THE JOB
'S MESSAGE BITS.
2) ERNLN: MOVEI T1,[ASCIZ /
2) /] ;[1174] INDENT PAST TIME STAMP I
N LOG FILE
2) SKIPE LOGSUB ;[1174] REAL LOG FILE?
2) PUSHJ P,.TSTRG## ;[1174] YES--PRINT IT TO JUST LO
G FILE
2) SKIPN LOGTTY ;[1174] NOW, OUTPUT GOING TO TER
Digital Equipment Corporation 28-AUG-79 Page 109
PCO Log Report
MINAL?
2) SKIPG LOGSUB ;[1174] ..
2) SKIPA ;[1174] YES
2) JRST ERRNXT ;[1174] NO--DONE
2) SKIPL LOGTTY ;[1174] TERMINAL A LOG FILE?
2) JRST ERNLN1 ;[1174] NO--DO IT THE HARD WAY
2) MOVEI T1,[ASCIZ /
2) /] ;[1174] YES--LOWSUB ALREADY POIN
TS TO TTYIT
2) PUSHJ P,.TSTRG## ;[1174] SEND NEW LINE AND INDENT
ATION
2) JRST ERRNXT ;[1174] DONE
2) ERNLN1: MOVE T1,TTYSUB ;[1174] NEW LINE ON TERMINAL--SE
T TO JUST TERMINAL
2) PUSHJ P,.TYOCH## ;[1174] ..
2) PUSH P,T1 ;[1174] SAVE LOG FILE ROUTINE
2) MOVEI T1,[ASCIZ /
2) /] ;[1174] JUST A TAB FOR NOW
2) PUSHJ P,.TSTRG## ;[1174] ..
2) POP P,T1 ;[1174] RESTORE LOG FILE ROUTINE
2) PUSHJ P,.TYOCH## ;[1174] ..
2) JRST ERRNXT ;[1174] DONE
2) ;RELATIVE POINTER TO TRIPLET(S) IN LS AREA.
2) IFN .NWBLK,<
**************
1)19 SUBTTL USEFUL SUBROUTINES
1) ;ROUTINE CHKLVL - CHECKS THE MESSAGE TO SEE IF IT SHOULD
1) ;GO TO LOG FILE, TTY, OR BOTH.
1) ;ALSO OUTPUTS TIME STAMP AND EITHER % OR ? IF REQUIRED
1) ;ENTER WITH LOGSUB AND LOGTTY SET UP AS
1) ;LOGSUB NON-ZERO IF LOG DEVICE EXISTS AND IS NOT TTY
1) ;LOGTTY = -1 IF LOG DEVICE IS TTY
1) ;CHKLVL CHANGES THESE TO BE
1) ;LOGSUB <-1,,NON-ZERO> IF BOTH LOG AND TTY OUTPUT REQUIRED
1) ;LOGTTY <0,,NON-ZERO> IF TTY BUT NOT LOG AND TTY NOT = LOG
1) CHKLVL: LDB T1,LVLPTR ;GET LIST LEVEL
****
2)17 ;EXECUTE AN INSTRUCTION. THIS IS USEFUL WHEN THE SET-UP PERFOR
MED BY LNKLOG IS
2) ;DESIRED, BUT A COMPLEX MESSAGE IS NEEDED.
2) ERXCT: XCT (T1) ;[1174] EXECUTE THE INSTRUCTION
2) JRST ERRNXT ;[1174] NON-SKIP--CONTINUE NORMA
L FLOW
2) AOS UUOTRAP ;[1174] SKIP--SKIP NEXT .ETC.
2) JRST ERRNXT ;[1174] DONE
2) ;BLANK LINE IN THE LOG FILE. THIS IS USEFUL FOR SEPARATING SEC
TIONS OF THE LOG
2) ;FILE, AS BETWEEN OVERLAY LINKS.
2) ERBKL: SKIPE LOGSUB ;[1174] REAL LOG FILE?
Digital Equipment Corporation 28-AUG-79 Page 110
PCO Log Report
2) PUSHJ P,.TCRLF## ;[1174] YES--SEND A CRLF
2) JRST ERRNXT ;[1174] DONE
2) ;PRINT TODAY'S DATE.
2) ERDAT: OUTVIA .TDATN## ;[1174] PRINTS TODAY'S DATE
2) JRST ERRNXT ;[1174] DONE
2) ;NO OPERATION. THIS FUNCTION IS GOOD FOR NOTHING.
2) ERNOP: JRST ERRNXT ;[1174] DONE
2)18 SUBTTL USEFUL SUBROUTINES
2) ;CHKLVL CHECKS TO SEE IF THE CURRENT MESSAGE SHOULD GO
TO LOG FILE, THE
2) ;TERMINAL, OR BOTH. IF THE MESSAGE IS DESTINED TO THE LOG FILE,
A TIME STAMP IS
2) ;PRINTED, AND IF THE MESSAGE IS DESTINED FOR THE TERMINAL THEN
THE PROPER ERROR
2) ;CHARACTER ("?", "%" OR "[") PLUS THE LNK??? PREFIX IS PRINTED.
2) ;
2) ;CALL:
2) ; LOGSUB/ NON-ZERO IF REAL NON-CONTROLLING TERMINAL LOG FI
LE
2) ; LOGTTY/ -1 IF LOG FILE IS THE CONTROLLING TERMINAL
2) ;SKIP RETURNS IF FIRST LINE MESSAGE SHOULD REALLY BE PRINTED SOM
EWHERE, WITH:
2) ; LOGSUB/ <-1,,NON-ZERO> IF BOTH LOG AND TERMINAL OUTPUT R
EQUIRED
2) ; LOGTTY/ <0,,NON-ZERO> IF TERMINAL BUT NOT LOG FILE OUTPU
T REQUIRED
2) ; PRTMSG/ -1: PRINT NOTHING; 0: ONLY PREFIX; 1: PRINT FIRS
T LINE TEXT
2) ; P1/ <ADDRESS OF FIRST LINE TEXT>
2) CHKLVL: LDB T1,LVLPTR ;GET LIST LEVEL
**************
1)19 JRST [AOS (P) ;SKIP RET
1) JRST CHKLV4] ;OUTPUT % OR ? AND CODE
1) SKIPN LOGSUB ;DO WE REALLY HAVE A LOG DEVICE?
1) JRST CHKLV2 ;NO, JUST TRY TTY
1) CHKLV1: AOS (P) ;SET FOR SKIP RETURN
1) PUSHJ P,TSTAMP ;PUT TIME STAMP ON LOG FILE
****
2)18 JRST [MOVEI T1,1 ;[1174] POSITIVE FOR FIR
ST LINE
2) MOVEM T1,PRTMSG ;[1174] ..
2) JRST CHKLV4] ;OUTPUT [, % OR ? AND CO
DE
2) SKIPN LOGSUB ;DO WE REALLY HAVE A LOG DEVICE?
2) JRST CHKLV2 ;NO, JUST TRY TTY
2) ;HERE FOR A REAL NON-CONTROLLING TERMINAL LOG FILE. PRINT THE T
IME STAMP IN THE
2) ;LOG FILE ONLY. THEN SEE IF THE TERMINAL SHOULD SEE THE MESSAG
E TOO. IF SO,
Digital Equipment Corporation 28-AUG-79 Page 111
PCO Log Report
2) ;PRINT THE PREFIX THERE AND CAUSE THE OUTVIA MACRO TO PRINT ALL
TEXT TO BOTH.
2) MOVEI T1,1 ;[1174] MARK THAT WE SHOULD PRIN
T THE MESSAGE
2) MOVEM T1,PRTMSG ;[1174] ..
2) PUSHJ P,TSTAMP ;PUT TIME STAMP ON LOG FILE
**************
1)19 PUSHJ P,SEVTST ;USE TTY TO OUTPUT % OR ?
1) POP P,T1 ;GET OUTPUT ROUTINE BACK
****
2)18 PUSHJ P,SEVTST ;USE TTY TO OUTPUT [, % OR ?
2) POP P,T1 ;GET OUTPUT ROUTINE BACK
**************
1)20 ;HERE WHEN NO LOG DEVICE. CHECK FOR TTY OUTPUT.
1) CHKLV2: LDB T1,LVLPTR ;GET ERROR LEVEL
1) CAMGE T1,ERRLVL ;TO GO TO TTY?
1) CPOPJ: POPJ P, ;NOTHING TO DO AT ALL
1) AOS (P) ;SKIP RETURN
1) SKIPE LOGTTY ;LOG = TTY?
1) JRST CHKLV4 ;YES, JUST PRINT CODE AND RETURN
1) CHKLV3: HRRZ T1,LOWSUB ;[605] SET FOR TTY OUTPUT ONLY
1) PUSHJ P,.TYOCH ;GET OLD RETURN
1) HRRZM T1,LOGTTY ;STORE OLD RETURN
1) CHKLV4: PUSHJ P,SEVTST ;OUTPUT % OR ?
1) CHKLV5: MOVE T1,(P1) ;GET CODE
1) TRZ T1,<BYTE (7) 0,0,0,177,177>
1) MOVEM T1,ERRCOD ;INCASE MORE MESSAGE REQUIRED
1) MOVE T1,VERLVL ;IF /VER:SHORT
1) SOJE T1,CHKLV6 ;DON'T OUTPUT SPACE AFTER 3 CHAR
S
1) HRRZ T1,P1 ;GET ERROR CODE ADDRESS
1) OUTVIA .TSTRG##
1) AOJA P1,CPOPJ ;RETURN WITH P1 POINTING TO REST
OF MESS
1) CHKLV6: MOVEI T1,ERRCOD ;JUST 3 CHARS
1) OUTVIA .TSTRG##
1) AOJA P1,CPOPJ
1)21 ;ROUTINE SEVTST CHECKS ERROR FOR FATAL OR NOT
1) ;AND OUTPUTS EITHER % OR ? ON TTY ONLY
1) SEVTST: LDB T2,SEVPTR ;GET SEVERITY
****
2)19 ;HERE WHEN THERE IS NO REAL LOG FILE, OR THE MESSAGE TO IT I
S CUT OFF DUE TO
2) ;/LOGLEVEL:. CHECK FOR TERMINAL OUTPUT. IF THE MESSAGE SHOULD
GO THERE, CHECK
2) ;FOR THE SPECIAL CASE OF THE TERMINAL BEING THE LOG FILE (TO PRE
VENT TIME STAMPS
2) ;ON THE TERMINAL) THEN PRINT THE ERROR CHARACTER AND THE
MESSAGE PREFIX.
2) ;OTHERWISE, GIVE NON-SKIP RETURN SINCE NOTHING SHOULD GET PRINTE
D. NOTE THAT THE
Digital Equipment Corporation 28-AUG-79 Page 112
PCO Log Report
2) ;PREFIX MUST END WITH A TAB SO THAT MESSAGES WITH IMBEDDED TABS
LOOK THE SAME ON
2) ;THE TERMINAL AND IN THE LOG FILE.
2) CHKLV2: LDB T1,LVLPTR ;GET ERROR LEVEL
2) CAMGE T1,ERRLVL ;TO GO TO TTY?
2) JRST [SETOM PRTMSG ;[1174] NO--REMEMBER NOT
HING TO DO
2) JRST CHKLV6] ;[1174] GO RETURN
2) MOVEI T1,1 ;[1174] YES--THEN REMEMBER SOMET
HING TO PRINT
2) MOVEM T1,PRTMSG ;[1174] ..
2) SKIPE LOGTTY ;LOG = TTY?
2) JRST CHKLV4 ;YES, JUST PRINT CODE AND RETURN
2) HRRZ T1,LOWSUB ;[1174] SET FOR TTY OUTPUT ONLY
2) PUSHJ P,.TYOCH ;GET OLD RETURN
2) HRRZM T1,LOGTTY ;STORE OLD RETURN
2) ;HERE WHEN LOG FILE IS THE USER'S TERMINAL.
2) CHKLV4: PUSHJ P,SEVTST ;OUTPUT [, % OR ?
2) ;HERE TO PRINT THE MESSAGE PREFIX TO POTENTIALLY BOTH THE USE
R'S TERMINAL AND
2) ;THE LOG FILE.
2) CHKLV5: MOVE T1,(P1) ;[1174] GET MESSAGE PREFIX
2) MOVEM T1,ERRCOD ;SAVE IN CASE LONG MESSAGE REQUI
RED LATER
2) MOVEI T1,ERRCOD ;[1174] PRINT THE PREFIX
2) OUTVIA .TSTRG## ;[1174] ..
2) MOVE T1,VERLVL ;[1174] SEE IF /VERBOSITY:SHORT
2) SOJE T1,[SETZM PRTMSG ;[1174] YES--NO FIRST LI
NE MSG
2) JRST CHKLV6] ;[1174] GO RETURN
2) MOVX T1,.CHTAB ;[1174] PRINT TAB AFTER PREFIX
2) OUTVIA .TCHAR## ;[1174] ..
2) CHKLV6: ADDI P1,1 ;[1174] POINT TO BEGINNING OF FI
RST LINE TEXT
2) SKIPLE PRTMSG ;[1174] SHOULD FIRST LINE BE PRI
NTED?
2) CPOPJ1: AOS (P) ;[1174] YES--SKIP RETURN
2) CPOPJ: POPJ P, ;[1174] NO--NON-SKIP RETURN
2)20 ;SEVTST PRINTS THE PROPER ERROR CHARACTER [, % OR ? BASED
ON THE MESSAGE'S
2) ;ASSIGNED SEVERITY AND THE USER'S /SEVERITY: SWITCH. IF THE MES
SAGE IS FATAL,
2) ;CLEAR TYPE-AHEAD FIRST. FINALLY, PRINT THE FIRST PART OF THE
MESSAGE PREFIX.
2) ;SEVTST ASSUMES THAT IT WILL ONLY PRINT TO THE USER'S TERMINAL.
2) SEVTST: LDB T2,SEVPTR ;GET SEVERITY
**************
1)22 LDB T1,LVLPTR ;GET PRINT LEVEL
****
Digital Equipment Corporation 28-AUG-79 Page 113
PCO Log Report
2)21 PUSHJ P,.TSPAC## ;[1174] ANOTHER SPACE
2) LDB T1,LVLPTR ;GET PRINT LEVEL
**************
1)22 LDB T1,SEVPTR ;ERR LEVEL
****
2)21 PUSHJ P,.TSPAC## ;[1174] ANOTHER SPACE
2) LDB T1,SEVPTR ;ERR LEVEL
**************
1)22 PJRST .TSPAC## ;FINISH WITH A SPACE
1)23 ;UNSTCK REMOVES TOP DATA ITEM FROM STACK
1) ;AND PUT RH IN P1 AND T1
1) UNSTCK: POP P,T3 ;GET RETURN ADDRESS
1) POP P,T2 ;MAIN RETURN
1) POP P,T1 ;WHAT WE WANT
1) PUSH P,T2 ;RESTACK
1) HRR P1,T1 ;GET A COPY
1) JRSTF @T3 ;RETURN
1) ;**;[1144] Replace @VERPTR DZN 16-Feb-79
****
2)21 MOVEI T1,[ASCIZ / /];[1174] FINISH WITH 3 SPACES
2) PJRST .TSTRG## ;[1174] ..
2)22 ;**;[1144] Replace @VERPTR DZN 16-Feb-79
**************
1)24 ;.TEBLK --TYPE LOOKUP/ENTER/RENAME BLOCK (NOT SAME AS .TFBLK##)
****
2)23 SUBTTL EXTENSIONS TO SCAN'S .TOUTS SUBROUTINES
2) ;.TEBLK --TYPE LOOKUP/ENTER/RENAME BLOCK (NOT SAME AS .TFBLK##)
**************
1)26 ;STANDARD ERROR MESSAGES - USED EVERYWHERE
1) .ERFEE::ASCIZ \FEE \
1) .ASCIZ <ENTER error >;;[564]
1) .ERFLE::ASCIZ \FLE \
1) .ASCIZ <LOOKUP error >
1) .ERFRE::ASCIZ \FRE \
1) .ASCIZ <RENAME error >
1) .ERGSE::ASCIZ \GSE \
1) .ASCIZ <GETSEG error >
1) .ERNED::ASCIZ \NED \
1) .ASCIZ <Non-existent device >
1) .ERIFD::ASCIZ \IFD \
1) .ASCIZ <INIT failure for device >
1) .ERR. (,0,V%L,L%F,S%F,,<(2) directory full >)
****
2)25 SUBTTL COMMON .ERR. SUBROUTINES
2) ;**;[1174] Replace @.ERFEE DZN 30-May-79
2) .ERFEE::ASCIZ \FEE\
2) .ASCIZ <ENTER error >;;[564]
2) .ERFLE::ASCIZ \FLE\
2) .ASCIZ <LOOKUP error >
Digital Equipment Corporation 28-AUG-79 Page 114
PCO Log Report
2) .ERFRE::ASCIZ \FRE\
2) .ASCIZ <RENAME error >
2) .ERGSE::ASCIZ \GSE\
2) .ASCIZ <GETSEG error >
2) .ERNED::ASCIZ \NED\
2) .ASCIZ <Non-existent device >
2) .EROFD::ASCIZ \OFD\
2) .ASCIZ <OPEN failure for device >
2) .EREIF::ASCIZ \EIF\
2) .ASCIZ <Error for input file >
2) .ERCNW::ASCIZ \CNW\
2) .ASCIZ <Code not yet written at >
2)26 SUBTTL DEFERRED SEVERITY AND LEVEL TABLE FOR INDEXED FILE ERROR
S
2) .ERR. (,0,V%L,L%F,S%F,,<(2) directory full >)
**************
1)26 LRELEN==.-LRETAB
1) LREDEF: .ERR. (,0,V%L,L%F,S%F,,<) Unknown cause >)
1) .ERCNW::ASCIZ \CNW \
1) .ASCIZ <Code not yet written at >
1)27 LOGLIT:
1) END
****
2)26 ;**;[1174] Insert before LRELEN DZN 30-May-79
2) .ERR. (,0,V%L,L%F,S%F,,<(32) RUN not allowed when not
logged in >) ;[1174]
2) .ERR. (,0,V%L,L%F,S%F,,<(33) file still has outstandin
g ENQ/DEQ locks >) ;[1174]
2) .ERR. (,0,V%L,L%F,S%F,,<(34) bad EXE file directory fo
rmat >) ;[1174]
2) .ERR. (,0,V%L,L%F,S%F,,<(35) EXE format files must hav
e .EXE extension >) ;[1174]
2) .ERR. (,0,V%L,L%F,S%F,,<(36) EXE file directory is too
big >) ;[1174]
2) .ERR. (,0,V%L,L%F,S%F,,<(37) network capability exceed
ed for TSK: >) ;[1174]
2) .ERR. (,0,V%L,L%F,S%F,,<(40) task is not available >)
;[1174]
2) .ERR. (,0,V%L,L%F,S%F,,<(41) undefined network node fo
r TSK: >) ;[1174]
2) LRELEN==:.-LRETAB ;[1174] **MUST** AGREE WITH LNKERR
2) LREDEF: .ERR. (,0,V%L,L%F,S%F,,<) Unknown cause >)
2)27 SUBTTL COMMON .ETC. SUBROUTINES
2) ;PRINT 'DETECTED IN MODULE [SYMBOL] FROM FILE [FILE]' IF WE'RE C
URRENTLY LOADING
2) ;A MODULE. CALLED FROM ALL ERROR MESSAGES THAT POTENTIALLY
PERTAIN TO A
2) ;PATICULAR MODULE.
2) .ETIMF::.ETC. (XCT,.EC,,,,<[TRNN FL,R.LOD]>) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 115
PCO Log Report
2) .ETC. (RTN) ;[1174] NO MODULE, MAYBE A SWITC
H
2) .ETC. (NLN,.EC) ;[1174]
2) .ETC. (STR,.EC,,,,,<Detected in module >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,PRGNAM) ;[1174]
2) .ETC. (STR,.EC,,,,,< from file >) ;[1174]
2) .ETC. (FSP,.EC,,,,DC) ;[1174]
2) .ETC. (RTN) ;[1174]
2) IFN .NWBLK,<
2) .ETNMF::.ETC. (XCT,.EC,,,,<[TRNN FL,R.LOD]>) ;[1174]
2) .ETC. (RTN) ;[1174] NO MODULE, MAYBE A SWITC
H
2) .ETC. (NLN,.EC) ;[1174]
2) .ETC. (STR,.EC,,,,,<Error detected in module >) ;[1174
]
2) .ETC. (LSP,.EC!.EP,,,,NAMPTR) ;[1174]
2) .ETC. (STR,.EC,,,,,< from file >) ;[1174]
2) .ETC. (FSP,.EC,,,,DC) ;[1174]
2) .ETC. (RTN) ;[1174]
2) > ;[1174] END OF IFN .NWBLK
2) IFN FTOVERLAY,<
2) ;PRINT ' LINK NUMBER n[, NAME x]'.
2) .ETLNN::.ETC. (STR,.EC,,,,,< link number >) ;[1174]
2) .ETC. (DEC,.EC!.EP,,,,CS.NUM) ;[1174]
2) .ETC. (XCT,.EC,,,,<[SKIPN CS.LNM]>) ;[1174]
2) .ETC. (RTN) ;[1174] DON'T PRINT NAME IF NONE
2) .ETC. (STR,.EC,,,,,< name >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,CS.LNM) ;[1174]
2) .ETC. (RTN)
2) >
2)28 ;PRINT SYMBOLS WITH VALUES. THIS IS CALLED FROM VARIOUS PLACES,
SUCH AS /ENTRY,
2) ;/REQUEST, /UNDEFINED. THIS IS A LOOP THAT PRINTS ALL APPLICABL
E SYMBOLS UNTIL
2) ;DONE.
2) ;
2) ;CALL:
2) ; W1/ SIXBIT SYMBOL NAME
2) ; W2/ OCTAL SYMBOL VALUE
2) ; NXTGLB/ <PUSHJ P,LOCN>, WHERE LOCN IS NEXT SYMBOL ROUTIN
E
2) ;W3 IS SAVED AND CAN BE USED FOR DATA. THE ROUTINE REFERENCED
IN NXTGLB SHOULD
2) ;GIVE A NON-SKIP RETURN IF THERE ARE NO MORE SYMBOLS. OTHERWISE
, IT SHOULD GIVE
2) ;A SKIP RETURN WITH W1-W3 SET UP AS ABOVE.
2) .ETSAV::.ETC. (NLN,.EC) ;[1174] NEW LINE FOR NEXT SYMBOL
2) .ETC. (SBX,.EC!.EP,,,,W1) ;[1174] PRINT SYMBOL NAME
2) .ETC. (ASC,.EC,,,,.CHTAB) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,W2) ;[1174] PRINT SYMBOL VALUE
2) .ETC. (XCT,.EC,,,,NXTGLB) ;[1174] FETCH NEXT SYMBOL
Digital Equipment Corporation 28-AUG-79 Page 116
PCO Log Report
2) .ETC. (JMP,.EC,,,,.ETDON) ;[1174] NO MORE LEFT
2) .ETC. (JMP,.EC,,,,.ETSAV) ;[1174] LOOP FOR THIS ONE
2) .ETDON::.ETC. (NOP) ;[1174] DONE
2) POPJ P, ;[1174] ALL DONE
2)29 SUBTTL THE END
2) LOGLIT:
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 117
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOW.MAC[30,4507] created: 2146 08-Jun-1979
File 2) LINK:LNKLOW.MAC[10,645063] created: 1804 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 5-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1172 ;DEC EDIT VERSION
1) LOC 137
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) LOC 137
**************
1)3 SUBTTL STORAGE
****
2)2 ;1174 Add NXTGLB, RTNPC and ERCHAN.
2)3 SUBTTL STORAGE
**************
1)3 PATLOC: BLOCK 1 ;[1172] LOCATION OF PAT.. AREA
1)4 SUBTTL PER SEGMENT DATA
****
2)3 PATLOC::BLOCK 1 ;[1172] LOCATION OF PAT.. AREA
2)4 SUBTTL PER SEGMENT DATA
**************
1)6 IFN .NWBLK,<
****
2)6 ;**;[1174] Insert after ENTPTR DZN 5-Jun-79
2) NXTGLB::BLOCK 1 ;[1174] PUSHJ P,LOCN FOR /ENTRY,
/U, ETC.
2) IFN .NWBLK,<
**************
1)13 NEGOFF==:400
****
2)12 RTNPC:: BLOCK 1 ;[1174] ADDR OF LAST JMP .ETC. F
OR RTN
2) ERCHAN::BLOCK 1 ;[1174] CHANNEL FOR FILE-RELATED
ERRORS
2) PRTMSG::BLOCK 1 ;[1174] FLAG FOR HOW MUCH OF MES
SAGE TO PRINT
2)13 NEGOFF==:400
**************
Digital Equipment Corporation 28-AUG-79 Page 118
PCO Log Report
[FILCOM]
File 1) LINK:LNKMAP.MAC[30,4507] created: 2056 08-May-1979
File 2) LINK:LNKMAP.MAC[10,645063] created: 1656 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 8-May-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1164 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL HEADER LINES
1) LNKMAP: JFCL .+1 ;INCASE CCL
1) .ERR. (MS,0,V%L,L%I,S%I,MPS,<MAP segment>)
1) ZAPTMP ;CLEAR DATA AREA
****
2)3 ;1174 Label and clean up all error messages.
2)4 SUBTTL HEADER LINES
2) LNKMAP: JFCL .+1 ;INCASE CCL
2) ;**;[1174] Replace @LNKMAP+1L DZN 31-May-79
2) E$$MPS::.ERR. (MS,0,V%L,L%I,S%I,MPS,<MAP segment>) ;[1174]
2) ZAPTMP ;CLEAR DATA AREA
**************
1)8 PUSHJ P,NO.COR##
1) PUSHJ P,LOGBCK ;BUT ALL OTHERS IN MAP
****
2)8 PUSHJ P,E$$MEF## ;[1174]
2) PUSHJ P,LOGBCK ;BUT ALL OTHERS IN MAP
**************
1)9 PJRST ER.IOV##] ;GO REPORT INPUT ERROR
1) ILDB T1,P1 ;GET FIRST #
****
2)9 ;**;[1174] Replace @**somewhere**+1P9L DZN 1-Jun-79
2) PJRST E$$IOV##] ;[1174] GO REPORT INPUT
ERROR
2) ILDB T1,P1 ;GET FIRST #
**************
1)9 PJRST ER.IOV##] ;INPUT ERROR
1) ROT T1,-1 ;USUAL WAY TO ADDRESS 1/2 WORD
****
2)9 ;**;[1174] Replace @OVMAP6+9L DZN 1-Jun-79
2) PJRST E$$IOV##] ;[1174] INPUT ERROR
2) ROT T1,-1 ;USUAL WAY TO ADDRESS 1/2 WORD
**************
1)11 PUSHJ P,ER.IOV## ;INPUT ERROR
1) MOVEM T1,MAPVER
Digital Equipment Corporation 28-AUG-79 Page 119
PCO Log Report
****
2)11 ;**;[1174] Replace @RDVER+15L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
2) MOVEM T1,MAPVER
**************
1)11 PUSH P,[LC] ;CHAN #
1) .ERR. (ST,,V%L,L%F,S%F,ILC)
****
2)11 ;**;[1174] Replace @RDVER1+23L DZN 31-May-79
2) E01ILC::PUSH P,[LC] ;[1174] CHAN #
2) .ERR. (ST,,V%L,L%F,S%F,ILC)
**************
1)23 JRST TTLTTF ;NO, MUST BE ERROR
1) ;CONTINUED ON NEXT PAGE
****
2)23 ;**;[1174] Replace @TTLBLK+33L DZN 31-May-79
2) JRST E$$TTF ;[1174] NO, MUST BE ERROR
2) ;CONTINUED ON NEXT PAGE
**************
1)32 TTLTTF: .ERR. (MS,,V%L,L%W,S%W,TTF,<Too many titles found>)
1) JRST NXTSYM ;IGNORE, BUT TRY TO COMPLETE MAP
****
2)32 ;**;[1174] Replace @TTLTTF DZN 31-May-79
2) E$$TTF::.ERR. (MS,,V%L,L%W,S%W,TTF,<Too many titles found>) ;[
1174]
2) JRST NXTSYM ;IGNORE, BUT TRY TO COMPLETE MAP
**************
1)34 PUSHJ P,NO.COR## ;CANNOT HAPPEN
1) PUSHJ P,LOGBCK ;RESTORE MAP DEVICE
****
2)34 PUSHJ P,E$$MEF## ;[1174] CANNOT HAPPEN
2) PUSHJ P,LOGBCK ;RESTORE MAP DEVICE
**************
1)39 PUSH P,[MC] ;ERROR, SAVE CHAN
1) .ERR. (ST,0,V%L,L%W,S%W,OEM,<Output error on MAP file,
file closed, job continuing>)
1) CLOSE MC,
****
2)39 ;**;[1174] Replace @MAPDMP+3L DZN 31-May-79
2) E$$OEM::PUSH P,[MC] ;ERROR, SAVE CHAN
2) .ERR. (ST,,V%L,L%W,S%W,OEM,<Output error on map file,
file closed, load continuing>) ;[1174]
2) CLOSE MC,
**************
1)54 .ERR. (MS,0,V%L,L%I,S%I,EMS,<End of MAP segment>)
1) ;**;[1100] Delete @MAPRET+2L DZN 23-May-78
****
2)54 ;**;[1174] Replace @MAPRET+1L DZN 31-May-79
2) E$$EMS::.ERR. (MS,0,V%L,L%I,S%I,EMS,<End of MAP segment>) ;[11
Digital Equipment Corporation 28-AUG-79 Page 120
PCO Log Report
74]
2) ;**;[1100] Delete @MAPRET+2L DZN 23-May-78
**************
Digital Equipment Corporation 28-AUG-79 Page 121
PCO Log Report
[FILCOM]
File 1) LINK:LNKNEW.MAC[30,4507] created: 1437 07-Mar-1978
File 2) LINK:LNKNEW.MAC[10,645063] created: 1657 10-Jun-1979
1)1 TITLE LNKNEW - LOAD NEW BLOCKS MODULE FOR LINK-10
1) SUBTTL D.M.NIXON/DMN/JLd/TXR/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 TITLE LNKNEW - LOAD NEW BLOCKS MODULE FOR LINK
2) SUBTTL D.M.NIXON/DMN/JLd/TXR/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKNEW
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKNEW
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1174 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)2 SUBTTL REVISION HISTORY
****
2)1 SALL
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL BLOCK DISPATCH TABLES
****
2)2 ;START OF VERSION 4A
2) ;1174 Label and clean up all error messages.
2)3 SUBTTL BLOCK DISPATCH TABLES
**************
1)4 JRST T.ERR## ;NO, NOT YET AVAILABLE
1) TRNE FL,R.LIB ;IN LIBRARY SEARCH MODE?
****
2)4 JRST E$$IRB## ;[1174] NO, NOT YET AVAILABLE
2) TRNE FL,R.LIB ;IN LIBRARY SEARCH MODE?
**************
1)6 T.1001==T.ERR## ;ILLEGAL IF NOT THERE
1) > ;END IFE .NWBLK
****
2)6 T.1001==E$$IRB## ;[1174] ILLEGAL IF NOT T
HERE
2) > ;END IFE .NWBLK
Digital Equipment Corporation 28-AUG-79 Page 122
PCO Log Report
**************
1)8 T.1002=T.ERR## ;ERROR UNLESS FIXED
1) > ;END IFE .NWBLK
****
2)8 T.1002==E$$IRB## ;[1174] ERROR UNLESS FIXED
2) > ;END IFE .NWBLK
**************
1)12 T.1003==T.ERR##
1) >
****
2)12 T.1003==E$$IRB##
2) >
**************
1)15 JRST T.ERR## ;SO WARN THE USER
1) ;HERE IF /SEG:HIGH. MAKE SURE HIGH SEG EXISTS, THEN FAKE THE RC
TABLES.
****
2)15 JRST E$$IRB## ;[1174] SO WARN THE USER
2) ;HERE IF /SEG:HIGH. MAKE SURE HIGH SEG EXISTS, THEN FAKE THE RC
TABLES.
**************
1)20 JRST TELLOD ;YES, BROADCAST ITS NAME AND RET
URN
1) PUSH P,W2 ;SAVE OVER CALLS TO LNKOLD
****
2)20 ;**;[1174] Replace @NAMRED+1L DZN 31-May-79
2) JRST E01LMN ;[1174] YES, BROADCAST ITS NAME
AND RETURN
2) PUSH P,W2 ;SAVE OVER CALLS TO LNKOLD
**************
1)20 TELLOD: .ERR. (MS,.EC,V%L,L%I5,S%I,LMN) ;TELL WHAT WE'RE
LOADING
1) .ETC. (LSP,.EP,,,,NAMPTR)
****
2)20 ;**;[1174] Replace @TELLOD DZN 31-May-79
2) E01LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN) ;[1174] TELL WHAT WE'R
E LOADING
2) .ETC. (LSP,.EP,,,,NAMPTR)
**************
1)23 JRST T1042E ;ERROR - NOT ENOUGH DATA WORDS
1) T1042A: MOVEI T2,R.LEN ;LENGTH OF A REQUEST/REQUIRE BLO
CK
****
2)23 ;**;[1174] Replace @T.1043+3L DZN 1-Jun-79
2) JRST E$$IRR ;[1174] ERROR - NOT ENOUGH DATA
WORDS
2) T1042A: MOVEI T2,R.LEN ;LENGTH OF A REQUEST/REQUIRE BLO
CK
**************
Digital Equipment Corporation 28-AUG-79 Page 123
PCO Log Report
1)23 JRST T1042E ;ERROR
1) MOVEM W1,R.PPN(T1) ;REMEMBER IT
****
2)23 ;**;[1174] Replace @T.1042A+7L DZN 1-Jun-79
2) JRST E$$IRR ;[1174] ERROR
2) MOVEM W1,R.PPN(T1) ;REMEMBER IT
**************
1)23 JRST T1042E ;NONE THERE, COUNT LIED
1) MOVEM W1,R.SFD(T2) ;STORE THIS SFD
****
2)23 ;**;[1174] Replace @T1042L+1L DZN 1-Jun-79
2) JRST E$$IRR ;[1174] NONE THERE, COUNT LIED
2) MOVEM W1,R.SFD(T2) ;STORE THIS SFD
**************
1)23 T1042E: .ERR. (MS,.EC,V%L,L%W,S%W,IPL,<Illegal request block i
n module >)
1) TYPFIL: .ETC. (LSP,.EP!.EC,,,,NAMPTR)
1) .ETC. (STR,.EC,,,,,< from >)
1) .ETC. (FSP,,,,,DC)
1) JRST LOAD## ;NOT ALWAYS A FATAL ERROR
****
2)23 ;**;[1174] Replace @T1042E DZN 1-Jun-79
2) E$$IRR::.ERR. (MS,.EC,V%L,L%W,S%W,IRR,<Illegal request/require
block>) ;[1174]
2) .ETC. (JMP,,,,,.ETNMF##) ;[1174]
2) JRST LOAD## ;NOT ALWAYS A FATAL ERROR
**************
1)26 PUSHJ P,NO.COR## ;CAN'T???
1) JRST T1044P ;NOW GO PUT THE SYMBOL INTO THE
FILE
****
2)26 PUSHJ P,E$$MEF## ;[1174] CAN'T???
2) JRST T1044P ;NOW GO PUT THE SYMBOL INTO THE
FILE
**************
1)27 T.1060: JRST T.ERR## ;SHOULD PUT INFO IN LS FOR MAP
1) > ;END IFN .NWBLK
****
2)27 T.1060: JRST E$$IRB## ;[1174] SHOULD PUT INFO IN LS FO
R MAP
2) > ;END IFN .NWBLK
**************
1)32 JRST TOSHRT ;WORD COUNT WAS WRONG
1) AOBJN WC,DRELN ;GO RELOCATE UNLESS NEED NEW SUB
-BLOCK
****
2)32 ;**;[1174] Replace @D.REL1+3L DZN 1-Jun-79
2) JRST E$$PEF ;[1174] WORD COUNT WAS WRONG
2) AOBJN WC,DRELN ;GO RELOCATE UNLESS NEED NEW SUB
Digital Equipment Corporation 28-AUG-79 Page 124
PCO Log Report
-BLOCK
**************
1)32 ; JRST RELERR ;RELOCATED TO SEGMENT NOT SET UP
1) ;********* ADD MORE CODE HERE ********************************
1) RELERR: .ERR. (MS,.EC,V%L,L%F,S%F,IRC,<Illegal relocation coun
ter in module >)
1) .ETC. (JMP,,,,,TYPFIL)
1) > ;END IFN .NWBLK
****
2)32 ;**;[1174] Replace @DRELN+4L DZN 1-Jun-79
2) ; JRST E$$IRC ;[1174] RELOCATED TO SEGMENT NOT
SET UP
2) ;********* ADD MORE CODE HERE ********************************
2) E$$IRC::.ERR. (MS,.EC,V%L,L%F,S%F,IRC,<Illegal relocation coun
ter>) ;[1174]
2) .ETC. (JMP,,,,,.ETNMF##)
2) > ;END IFN .NWBLK
**************
1)33 JRST TOSHRT ;PREMATURE END OF FILE
1) AOJA WC,CPOPJ1 ;COUNT WORD & GIVE GOOD RETURN
****
2)33 ;**;[1174] Replace @D.GET1+3L DZN 1-Jun-79
2) JRST E$$PEF ;[1174] PREMATURE END OF FILE
2) AOJA WC,CPOPJ1 ;COUNT WORD & GIVE GOOD RETURN
**************
1)33 TOSHRT: .ERR. (MS,.EC,V%L,L%F,S%W,PEF,<Premature end of file i
n >)
1) .ETC. (FSP,,,,,DC)
****
2)33 ;**;[1174] Replace @TOSHRT DZN 1-Jun-79
2) E$$PEF::.ERR. (MS,.EC,V%L,L%F,S%W,PEF,<Premature end of file f
rom file >) ;[1174]
2) .ETC. (FSP,,,,,DC)
**************
Digital Equipment Corporation 28-AUG-79 Page 125
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 2159 22-May-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1406 11-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 23-May-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 10-Jun-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
****
2)1 ;COPYRIGHT (C) 1973, 1979
2) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
**************
1)1 DECEVR==1170 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)2 SUBTTL REVISION HISTORY
****
2)1 SALL
2)2 SUBTTL REVISION HISTORY
**************
1)5 COMMENT \
****
2)4 ;1174 Label and clean up all error messages.
2)5 COMMENT \
**************
1)8 JRST T.ERR## ;NO, GIVE ERROR MESSAGE
1) HRREI T2,-<700+FDISPL>(T1) ;GET OFFSET TYPE
****
2)8 JRST E$$IRB## ;[1174] NO, GIVE ERROR MESSAGE
2) HRREI T2,-<700+FDISPL>(T1) ;GET OFFSET TYPE
**************
1)8 JRST T.ERR## ;NO, ILLEGAL
1)9 ;HERE IF IN LIBRARY SEARCH MODE - TEST FOR BLOCK TYPE 4, 6, 14
****
2)8 JRST E$$IRB## ;[1174] NO, ILLEGAL
2)9 ;HERE IF IN LIBRARY SEARCH MODE - TEST FOR BLOCK TYPE 4, 6, 14
**************
1)15 JUMPL P3,T1HSTL ;ERROR
1) CAMLE P2,HL.S2 ;RESET HIGHEST LOCATION COUNTER
****
2)15 ;**;[1174] Replace @T.1H+4L DZN 1-Jun-79
2) JUMPL P3,E$$STL ;[1174] ERROR
Digital Equipment Corporation 28-AUG-79 Page 126
PCO Log Report
2) CAMLE P2,HL.S2 ;RESET HIGHEST LOCATION COUNTER
**************
1)15 T1HSTL: .ERR. (MS,,V%L,L%F,S%F,STL,<High segment code too long
>)
1)16 ;HERE IF FIRST WORD IS A SYMBOL
****
2)15 ;**;[1174] Replace @T1HSTL DZN 1-Jun-79
2) E$$STL::.ERR. (MS,.EC,V%L,L%F,S%F,STL,<High segment code too l
ong>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)16 ;HERE IF FIRST WORD IS A SYMBOL
**************
1)16 JRST T.ERR## ;GIVE ERROR MESSAGE
1) PUSHJ P,R50T6 ;SIXBITIZE IT
****
2)16 JRST E$$IRB## ;[1174] GIVE ERROR MESSAGE
2) PUSHJ P,R50T6 ;SIXBITIZE IT
**************
1)17 .ERR. (MS,.EC,V%L,L%F,S%F,DSC,<Data store to common >)
1) .ETC. (SBX,.EC!.EP,,,,W2)
****
2)17 ;**;[1174] Replace @T.1SE+2L DZN 1-Jun-79
2) E$$DSC::.ERR. (MS,.EC,V%L,L%F,S%F,DSC,<Data store to common >)
;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
**************
1)17 .ERR. (MS,.EC,V%L,L%F,S%F,DSL,<Data store to location
>)
1) T.1OVF: .ETC. (OCT,.EC!.EP,,,,P3)
****
2)17 ;**;[1174] Replace @T.1OVE+3L DZN 1-Jun-79
2) E$$DSL::.ERR. (MS,.EC,V%L,L%F,S%F,DSL,<Data store to location
>) ;[1174]
2) T.1OVF: .ETC. (OCT,.EC!.EP,,,,P3)
**************
1)17 .ETC. (STR,.EC,,,,,< for >)
1) .ETC. (SBX,.EC!.EP,,,,PRGNAM)
1) .ETC. (STR,.EC,,,,,< in >)
1) .ETC. (FSP,,,,,DC)
1) JRST T.0C ;GET RID OF BLOCK
1) T.1OVW: SOS LNKMAX ;PUT LINK # BACK
1) .ERR. (MS,.EC,V%L,L%F,S%W,DSL)
1) .ETC. (JMP,.EC,,,,T.1OVF)
****
2)17 ;**;[1174] Replace @T.1OVG+2L DZN 1-Jun-79
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) JRST T.0C ;GET RID OF BLOCK
2) T.1OVW: SOS LNKMAX ;PUT LINK # BACK
2) E01DSL::.ERR. (MS,.EC,V%L,L%F,S%W,DSL) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 127
PCO Log Report
2) .ETC. (JMP,.EC,,,,T.1OVF)
**************
1)17 .ERR. (MS,.EC,V%L,L%F,S%F,CNW)
1) .ETC. (STR,,,,,,<T.1UN+1>)
****
2)17 ;**;[1174] Replace @T.1UN+1L DZN 1-Jun-79
2) E01CNW::.ERR. (MS,.EC,V%L,L%F,S%F,CNW) ;[1174]
2) .ETC. (STR,,,,,,<T.1UN+1>)
**************
1)20 T.2TAB::T.2R5U ; 0 - 00 NAME (SHOULD NEVER HAPP
EN)
1) SY.GS ; 1 - 04 GLOBAL DEFINITION
****
2)20 ;**;[1174] Replace @T.2TAB DZN 1-Jun-79
2) T.2TAB::E$$URC ;[1174] 0 - 00 NAME (SHOULD NEV
ER HAPPEN)
2) SY.GS ; 1 - 04 GLOBAL DEFINITION
**************
1)20 T.2R5U ; 4 - 20
1) SY.DGR ; 5 - 24 GLOBAL DEFINITION DEFER
ED RIGHT HALF
1) T.2R5U ; 6 - 30
1) T.2R5U ; 7 - 34
1) T.2R5U ;10 - 40
1) SY.GSS ;11 - 44 GLOBAL DEF. (SUPPRESSED
) ! LEFT DEFERED
1) SY.LSS ;12 - 50 LOCAL DEF. (SUPPRESSED)
1) T.2R5U ;13 - 54
1) SY.RQ ;14 - 60 GLOBAL REQUEST
1) SY.DGL ;15 - 64 GLOBAL DEFERED DEF (RH)
SUPP. ! LEFT HALF
1) T.2R5U ;16 - 70
1) ; T.2R5U ;17 - 74
1) T.2R5U: .ERR. (MS,.EC,V%L,L%F,S%I,URC,<Unknown radix-50 symbol
code >)
1) .ETC. (OCT,.EC!.EP,,,,P1)
****
2)20 E$$URC ;[1174] 4 - 20
2) SY.DGR ; 5 - 24 GLOBAL DEFINITION DEFER
ED RIGHT HALF
2) E$$URC ;[1174] 6 - 30
2) E$$URC ;[1174] 7 - 34
2) E$$URC ;[1174] 10 - 40
2) SY.GSS ;11 - 44 GLOBAL DEF. (SUPPRESSED
) ! LEFT DEFERED
2) SY.LSS ;12 - 50 LOCAL DEF. (SUPPRESSED)
2) E$$URC ;[1174] 13 - 54
2) SY.RQ ;14 - 60 GLOBAL REQUEST
2) SY.DGL ;15 - 64 GLOBAL DEFERED DEF (RH)
Digital Equipment Corporation 28-AUG-79 Page 128
PCO Log Report
SUPP. ! LEFT HALF
2) E$$URC ;[1174] 16 - 70
2) ; E$$URC ;[1174] 17 - 74
2) ;**;[1174] Replace @T.2R5U DZN 1-Jun-79
2) E$$URC::.ERR. (MS,.EC,V%L,L%F,S%I,URC,<Unknown radix-50 symbol
code >) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,P1)
**************
1)20 .ETC. (STR,.EC,,,,,< in >)
1) .ETC. (SBX,.EC!.EP,,,,PRGNAM)
1) .ETC. (STR,.EC,,,,,< in >)
1) .ETC. (FSP,,,,,DC)
1) POPJ P, ;BUT CONTINUE
****
2)20 .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) POPJ P, ;BUT CONTINUE
**************
1)22 ;CODE INLINE FOR EXTRA SPEED SINCE LINK-10 SPENDS ABOUT 10% OF
1) ;ITS TIME IN THIS LOOP.
****
2)22 ;CODE INLINE FOR EXTRA SPEED SINCE LINK SPENDS ABOUT 10% OF
2) ;ITS TIME IN THIS LOOP.
**************
1)26 JRST T.5SER ;NO
1) MOVE T2,LSYM ;GET CURRENT VALUE
****
2)26 ;**;[1174] Replace @SY.BH+11L DZN 1-Jun-79
2) JRST E02SFU ;[1174] NO
2) MOVE T2,LSYM ;GET CURRENT VALUE
**************
1)27 JRST SY.DG2 ;[567] INCONSISTENT SYMBOL DEFIN
ITION
1) ;HERE TO PUT REQUEST IN GLOBAL TABLE
****
2)27 ;**;[1174] Replace @SY.DGR+11L DZN 1-Jun-79
2) JRST E$$ISD ;[1174] INCONSISTENT SYMBOL DEFI
NITION
2) ;HERE TO PUT REQUEST IN GLOBAL TABLE
**************
1)28 JRST SY.DG2 ;YES, SECOND PARTIAL DEFINITION
1) MOVEI T1,.L ;NEED 1 EXTRA TRIPLET
****
2)28 ;**;[1174] Replace @SY.DG1+6L DZN 1-Jun-79
2) JRST E$$ISD ;[1174] YES, SECOND PARTIAL DEFI
NITION
2) MOVEI T1,.L ;NEED 1 EXTRA TRIPLET
**************
1)28 SY.DG2: .ERR. (MS,.EC,V%L,L%W,S%W,ISD,<Inconsistent symbol def
inition for >)
Digital Equipment Corporation 28-AUG-79 Page 129
PCO Log Report
1) .ETC. (SBX,.EP,,,,W2)
1) SETZM LSTSYM ;SO WE IGNORE SYMBOL FIXUP FOLLO
WING
****
2)28 ;**;[1174] Replace @SY.DG2 DZN 1-Jun-79
2) E$$ISD::.ERR. (MS,.EC,V%L,L%W,S%W,ISD,<Inconsistent symbol def
inition for symbol >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) SETZM LSTSYM ;SO WE IGNORE SYMBOL FIXUP FOLLO
WING
**************
1)31 .ERR. (MS,,V%L,L%F,S%F,ESN)>
1) HRRZ W3,T2 ;POINT TO SYMBOL
****
2)31 ;[1174] Replace @SYADSS-2L DZN 1-Jun-79
2) E01ESN::.ERR. (MS,,V%L,L%F,S%F,ESN) ;[1174]
2) >
2) HRRZ W3,T2 ;POINT TO SYMBOL
**************
1)35 JRST SY.RUH ;NOT THE RIGHT SORT OF EXTENDED
TRIPLET
1) TXNN W1,S.FXP ;IS THIS THE ONE
****
2)35 ;**;[1174] Replace @SY.RUC+2L DZN 1-Jun-79
2) JRST E02CNW ;[1174] NOT THE RIGHT SORT OF EX
TENDED TRIPLET
2) TXNN W1,S.FXP ;IS THIS THE ONE
**************
1)35 SY.RUH: .ERR. (MS,.EC,V%L,L%F,S%F,CNW)
1) .ETC. (STR,,,,,,<SY.RUH>)
****
2)35 ;**;[1174] Replace @SY.RUH DZN 1-Jun-79
2) E02CNW::.ERR. (MS,.EC,V%L,L%F,S%F,CNW) ;[1174]
2) .ETC. (STR,,,,,,<SY.RUH>)
**************
1)36 .ERR. (MS,.EC,V%L,L%F,S%F,HCL,<High segment code not a
llowed in an overlay link in module >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) T.3C:
****
2)36 ;**;[1174] Replace @T.3+5L DZN 1-Jun-79
2) E$$HCL::.ERR. (MS,.EC,V%L,L%F,S%F,HCL,<High segment code not a
llowed in an overlay link>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) T.3C:
**************
1)37 .ERR. (MS,0,V%L,L%I,S%I,SFU)
1) JRST LOAD## ;TRY TO CONTINUE
****
2)37 ;**;[1174] Replace @T.3SER+1L DZN 1-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 130
PCO Log Report
2) E01SFU::.ERR. (MS,0,V%L,L%I,S%I,SFU) ;[1174]
2) JRST LOAD## ;TRY TO CONTINUE
**************
1)40 T.3TSO: .ERR. (MS,.EC,V%L,L%F,S%F,TSO,<Cannot load a two segme
nt module in one segment >)
1) .ETC. (FSP,0,,,,DC)
1)41 ;HERE IF LOW SEGMENT LENGTH GIVEN (FORTRAN-10)
****
2)41 ;HERE IF LOW SEGMENT LENGTH GIVEN (FORTRAN-10)
**************
1)41 PUSHJ P,T.3F ;NO, GIVE FATAL ERROR
1) HRRZM W1,SO.S2 ;OFFSET FOR RELOCATION
****
2)41 ;**;[1174] Replace @T.3L+2L DZN 1-Jun-79
2) PUSHJ P,E$$HSL ;[1174] NO, GIVE FATAL ERROR
2) HRRZM W1,SO.S2 ;OFFSET FOR RELOCATION
**************
1)42 JRST T.3F ;TOO LOW
1) MOVEI T1,.JBHDA ;[1170] SIZE OF VESTIGIAL JOBDAT
****
2)42 ;**;[1174] Replace @SETRC+12L DZN 1-Jun-79
2) JRST E$$HSL ;[1174] TOO LOW
2) MOVEI T1,.JBHDA ;[1170] SIZE OF VESTIGIAL JOBDAT
**************
1)44 PUSHJ P,NO.COR##
1) MOVNI T1,2*.IPS ;BUT LC.AB WAS INCREMENTED
****
2)44 PUSHJ P,E$$MEF## ;[1174]
2) MOVNI T1,2*.IPS ;BUT LC.AB WAS INCREMENTED
**************
1)44 T.3F: .ERR. (MS,,V%L,L%F,S%F,HSL,<Attempt to set high segmen
t origin too low>)
1)45 SUBTTL BLOCK TYPE 4 - ENTRIES
****
2)44 ;**;[1174] Replace @T.3F DZN 1-Jun-79
2) E$$HSL::.ERR. (MS,.EC,V%L,L%F,S%F,HSL,<Attempt to set high seg
ment origin too low>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)45 SUBTTL BLOCK TYPE 4 - ENTRIES
**************
1)47 JRST ILIERR]
1) TLNE W1,-1 ;MAKE SURE VALID
1) PUSHJ P,T.5W1 ;NOT
1) TLNE W2,-1
1) PUSHJ P,T.5W2 ;SAME FOR W2
1) SKIPE W3,LOD37 ;COBOL LOCAL SYMBOLS
****
2)47 ;**;[1174] Replace @T.5A+6L DZN 1-Jun-79
2) JRST E$$RBS] ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 131
PCO Log Report
2) TLNE W1,-1 ;MAKE SURE VALID
2) ;**;[1174] Replace @T.5A+8L DZN 1-Jun-79
2) PUSHJ P,E$$PBI ;[1174] NOT
2) TLNE W2,-1
2) PUSHJ P,E01PBI ;[1174] SAME FOR W2
2) SKIPE W3,LOD37 ;COBOL LOCAL SYMBOLS
**************
1)49 JRST T.5SER ;ERROR
1) MOVE T2,LSYM ;POINT TO END (NEXT FILE)
****
2)49 ;**;[1174] Replace @T.5END+7L DZN 1-Jun-79
2) JRST E02SFU ;[1174] ERROR
2) MOVE T2,LSYM ;POINT TO END (NEXT FILE)
**************
1)49 JRST T.5SER
1) TXNN T2,S.SEG ;SEG BLOCK?
****
2)49 ;**;[1174] Replace @T.5LP+7L DZN 1-Jun-79
2) JRST E02SFU ;[1174]
2) TXNN T2,S.SEG ;SEG BLOCK?
**************
1)55 T.5SER: .ERR. (MS,0,V%L,L%W,S%W,SFU) ;
1) JRST T.5RET ;TRY TO CONTINUE
1) ;HERE WHEN PROGRAM BREAK IS INCORRECT, ZERO BREAK AND CONTINUE
1) T.5W1: .ERR. (MS,.EC,V%L,L%W,S%W,PBI,<Program break >)
1) .ETC. (OCT,.EP!.EC,,,,W1)
1) .ETC. (STR,.EC,,,,,< invalid in >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) SETZ W1, ;CLEAR AND CONTINUE
1) POPJ P,
1) T.5W2: .ERR. (MS,.EC,V%L,L%W,S%W,PBI)
1) .ETC. (OCT,.EP!.EC,,,,W2)
1) .ETC. (STR,.EC,,,,,< invalid in >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) SETZ W2, ;CLEAR AND CONTINUE
****
2)55 ;**;[1174] Replace @T.5SER DZN 1-Jun-79
2) E02SFU::.ERR. (MS,0,V%L,L%W,S%W,SFU) ;[1174]
2) JRST T.5RET ;TRY TO CONTINUE
2) ;HERE WHEN PROGRAM BREAK IS INCORRECT, ZERO BREAK AND CONTINUE
2) ;**;[1174] Replace @T.5W1 DZN 1-Jun-79
2) E$$PBI::.ERR. (MS,.EC,V%L,L%W,S%W,PBI,<Program break >) ;[1174
]
2) .ETC. (OCT,.EP!.EC,,,,W1)
2) .ETC. (STR,.EC,,,,,< invalid>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) SETZ W1, ;CLEAR AND CONTINUE
2) POPJ P,
2) ;**;[1174] Replace @T.5W2 DZN 1-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 132
PCO Log Report
2) E01PBI::.ERR. (MS,.EC,V%L,L%W,S%W,PBI) ;[1174]
2) .ETC. (OCT,.EP!.EC,,,,W2)
2) .ETC. (STR,.EC,,,,,< invalid>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) SETZ W2, ;CLEAR AND CONTINUE
**************
1)56 PUSHJ P,EOFTS## ;NO, PREMATURE END OF MODULE
1) TRNE FL,R.FHS ;NEED TO ADJUST THE RELOC TABLES
?
****
2)56 ;**;[1174] Replace @T.6+1L DZN 30-May-79
2) PUSHJ P,E$$NEB## ;[1174] NO, PREMATURE END OF MOD
ULE
2) TRNE FL,R.FHS ;NEED TO ADJUST THE RELOC TABLES
?
**************
1)56 JRST ILIERR]
1) PUSH P,W1 ;SAVE VALUE
****
2)56 ;**;[1174] Replace @T.6+6L DZN 1-Jun-79
2) JRST E$$RBS] ;[1174]
2) PUSH P,W1 ;SAVE VALUE
**************
1)56 .ERR. (MS,.EC,V%L,L%I5,S%I,LMN,<Loading module >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
****
2)56 ;**;[1174] Replace @T.OK+6L DZN 1-Jun-79
2) E$$LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN,<Loading module >) ;[11
74]
2) .ETC. (SBX,.EP,,,,PRGNAM)
**************
1)57 JRST ERRCCD ;[1120] NO--CPU CONFLICT DETECTE
D
1) LDB T1,[POINT 12,(P),17] ;[1120] NOW GET PROCESSOR T
YPE
****
2)57 ;**;[1174] Replace @??????+1P11L DZN 1-Jun-79
2) JRST E$$CCD ;[1174] NO--CPU CONFLICT DETECTE
D
2) LDB T1,[POINT 12,(P),17] ;[1120] NOW GET PROCESSOR T
YPE
**************
1)57 ERRCCD: .ERR. (MS,.EC,V%L,L%F,S%F,CCD,<CPU conflict detected i
n module >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1)58 ;HERE TO HANDLE BLANK COMMON ARG IN TITLE BLOCK
****
2)57 ;**;[1174] Replace @ERRCCD DZN 1-Jun-79
2) E$$CCD::.ERR. (MS,.EC,V%L,L%F,S%F,CCD,<CPU conflict>) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 133
PCO Log Report
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)58 ;HERE TO HANDLE BLANK COMMON ARG IN TITLE BLOCK
**************
1)61 .ERR. (MS,.EC,V%L,L%F,S%F,IBC,<Attempt to increase siz
e of blank common from >)
1) .ETC. (DEC,.EC!.EP,,,,T2)
1) .ETC. (STR,.EC,,,,,< to >)
1) .ETC. (DEC,.EP,,,,T1)
1)62 ;HERE TO PUT THE REL FILE DESCRIPTOR INFO INTO THE LS AREA
****
2)61 ;**;[1174] Replace @T.6BC+3L DZN 1-Jun-79
2) E$$AIC::.ERR. (MS,.EC,V%L,L%F,S%F,AIC,<Attempt to increase siz
e of >) ;[1174]
2) .ETC. (STR,.EC,,,,,<blank common>) ;[1174]
2) .ETAIC: .ETC. (STR,.EC,,,,,< from >) ;[1174]
2) .ETC. (DEC,.EC!.EP,,,,T2)
2) .ETC. (STR,.EC,,,,,< to >)
2) .ETC. (DEC,.EC!.EP,,,,T1) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)62 ;HERE TO PUT THE REL FILE DESCRIPTOR INFO INTO THE LS AREA
**************
1)64 JRST ILIERR]
1) TRNE FL,R.LSO!R.HSO ;SELECTIVE LOADING?
****
2)64 ;**;[1174] Replace @T.7+4L DZN 1-Jun-79
2) JRST E$$RBS] ;[1174]
2) TRNE FL,R.LSO!R.HSO ;SELECTIVE LOADING?
**************
1)64 JRST T.ERR## ;GIVE ERROR MESSAGE
1) PUSHJ P,R50T6 ;SIXBITIZE IT
****
2)64 JRST E$$IRB## ;[1174] GIVE ERROR MESSAGE
2) PUSHJ P,R50T6 ;SIXBITIZE IT
**************
1)66 JRST T.10TS ;SHOULD NOT HAPPEN
1) HRRZ W3,W1 ;[565] VALUE OF SYMBOL
****
2)66 ;**;[1174] Replace @T.10L+1L DZN 1-Jun-79
2) JRST [MOVEI T1,10 ;[1174] BLOCK TYPE 10 TO
O SHORT
2) JRST E$$RBS] ;[1174]
2) HRRZ W3,W1 ;[565] VALUE OF SYMBOL
**************
1)66 T.10TS: .ERR. (MS,.EC,V%L,L%W,S%W,RBS,<REL Block Type >)
1) .ETC. (OCT,.EC,,,,10)
1) .ETC. (STR,.EC,,,,,< too short for >)
1) .ETC. (FSP,,,,,DC)
1) JRST LOAD## ;TRY TO CONTINUE
1)67 SUBTTL BLOCK TYPE 11 - POLISH FIXUPS (FAIL)
Digital Equipment Corporation 28-AUG-79 Page 134
PCO Log Report
****
2)67 SUBTTL BLOCK TYPE 11 - POLISH FIXUPS (FAIL)
**************
1)68 JRST T11IPX ;[1166] NO, ERROR
1) MOVEM P4,RC.CUR ;[1166] SET FOR NEXT WORD
****
2)68 ;**;[1174] Replace @T.11+1P9L DZN 1-Jun-79
2) JRST E$$IPX ;[1174] NO, ERROR
2) MOVEM P4,RC.CUR ;[1166] SET FOR NEXT WORD
**************
1)68 JRST T11IPX ;INVALID
1) MOVEM T1,RC.CUR ;SET FOR NEXT READ
1) JUMPE P4,T11IPX ;[1166] PSECT INDEX ILLEGAL IF 1
ST BYTE WASN'T
1) HRRO P4,P4
****
2)68 ;**;[1174] Replace @T11RD2+17L DZN 1-Jun-79
2) JRST E$$IPX ;[1174] INVALID
2) MOVEM T1,RC.CUR ;SET FOR NEXT READ
2) JUMPE P4,E$$IPX ;[1174] PSECT INDEX ILLEGAL IF 1
ST BYTE WASN'T
2) HRRO P4,P4
**************
1)69 JRST T11IPX ;INVALID
1) MOVEM T2,RC.CUR ;SET FOR NEXT READ
1) JUMPE P4,T11IPX ;[1166] ENFORCE DEFAULT PSECT IN
DEX FIRST BYTE
1) HRRO P4,P4 ;SIGNAL MIGHT TAKE TWO WORDS
****
2)69 ;**;[1174] Replace @T11RHS+14L DZN 1-Jun-79
2) JRST E$$IPX ;[1174] INVALID
2) MOVEM T2,RC.CUR ;SET FOR NEXT READ
2) JUMPE P4,E$$IPX ;[1174] ENFORCE DEFAULT PSECT IN
DEX FIRST BYTE
2) HRRO P4,P4 ;SIGNAL MIGHT TAKE TWO WORDS
**************
1)69 ;**;[1153] Change @ T11IPX JNG 12-Apr-79
1) T11IPX: .ERR. (MS,,V%L,L%F,S%F,IPX,<Invalid PSECT index>)
1)70 ;HERE TO FIND THE STORE OPERATOR AND CHECK TO SEE IF WE WANT IT.
****
2)69 ;**;[1174] Replace @T11IPX DZN 1-Jun-79
2) E$$IPX::.ERR. (MS,.EC,V%L,L%F,S%F,IPX,<Invalid psect index>) ;
[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)70 ;HERE TO FIND THE STORE OPERATOR AND CHECK TO SEE IF WE WANT IT.
**************
1)70 JRST T11SPE ;NO
1) ;FALL THROUGH TO NEXT PAGE
****
2)70 ;**;[1174] Replace @T.11SP+8L DZN 1-Jun-79
2) JRST E$$ISO ;[1174] NO
Digital Equipment Corporation 28-AUG-79 Page 135
PCO Log Report
2) ;FALL THROUGH TO NEXT PAGE
**************
1)72 T11SPE: .ERR. (MS,.EC,V%L,L%F,S%F,ISO,<Invalid store operator
>)
1) .ETC. (OCT,.EP,,,,T1)
1)74 ;HERE IF GLOBAL SYMBOL NOT IN GLOBAL SYMBOL TABLE YET
****
2)72 ;**;[1174] Replace @T11SPE DZN 1-Jun-79
2) E$$ISO::.ERR. (MS,.EC,V%L,L%F,S%F,ISO,<Invalid polish store op
erator >) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,T1) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)74 ;HERE IF GLOBAL SYMBOL NOT IN GLOBAL SYMBOL TABLE YET
**************
1)75 JRST T11DFE ;PRIMARY OR NO FLAGS SET
1) TXNN W1,S.FXP ;IS THIS THE ONE
****
2)75 ;**;[1174] Replace @T.11DF+2L DZN 1-Jun-79
2) JRST E$$ISP## ;[1174] PRIMARY OR NO FLAGS SET
2) TXNN W1,S.FXP ;IS THIS THE ONE
**************
1)75 JRST T11DFE
1) HRLI W1,(FP.SGN!FP.SYM!FP.PTR!FP.POL) ;
****
2)75 ;**;[1174] Replace @T.11DF+6L DZN 1-Jun-79
2) JRST E$$ISP## ;[1174]
2) HRLI W1,(FP.SGN!FP.SYM!FP.PTR!FP.POL) ;
**************
1)75 T11DFE: .ERR. (MS,,V%L,L%F,S%F,ISP)
1)76 ;HERE TO EVALUATE POLISH FIXUP
****
2)75 ;**;[1174] Delete @T11DFE DZN 1-Jun-79
2)76 ;HERE TO EVALUATE POLISH FIXUP
**************
1)76 JRST T11RPE
1) PUSH W3,W1 ;SAVE OPERATOR ON STACK
****
2)76 ;**;[1174] Replace @T.11RP+9L DZN 1-Jun-79
2) JRST E$$IPO ;[1174]
2) PUSH W3,W1 ;SAVE OPERATOR ON STACK
**************
1)76 T11RPE: .ERR. (MS,.EC,V%L,L%F,S%F,IPO,<Invalid polish operator
>)
1) .ETC. (OCT,.EP,,,,W1)
1)77 ;HANDLE OPERANDS
****
2)76 ;**;[1174] Replace @T11RPE DZN 1-Jun-79
2) E$$IPO::.ERR. (MS,.EC,V%L,L%F,S%F,IPO,<Invalid polish operator
>) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 136
PCO Log Report
2) .ETC. (OCT,.EC!.EP,,,,W1) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)77 ;HANDLE OPERANDS
**************
1)80 JRST ILIERR
1) MOVEI T1,(W1) ;NUMBER OF WORDS TO SKIP
****
2)80 ;**;[1174] Replace @SKENEW+3L DZN 1-Jun-79
2) JRST E$$RBS ;[1174]
2) MOVEI T1,(W1) ;NUMBER OF WORDS TO SKIP
**************
1)81 JRST T11STE ;NO
1) ILDB T2,W2 ;[572] GET CORE ADDR OR GS POIN
TER
****
2)81 ;**;[1174] Replace @T.11ST DZN 1-Jun-79
2) JRST E01IPO ;[1174] NO
2) ILDB T2,W2 ;[572] GET CORE ADDR OR GS POIN
TER
**************
1)81 T11STE: .ERR. (MS,.EC,V%L,L%F,S%F,IPO)
1) .ETC. (OCT,.EP,,,,T2)
1)82 ;HERE TO DISPATCH FOR SYMBOL TABLE FIXUPS
****
2)81 ;**;[1174] Replace @T11STE DZN 1-Jun-79
2) E01IPO::.ERR. (MS,.EC,V%L,L%F,S%F,IPO) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,T2) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)82 ;HERE TO DISPATCH FOR SYMBOL TABLE FIXUPS
**************
1)82 T11PSF: .ERR. (MS,,V%L,L%W,S%W,PSF,<Polish symbol fixups not y
et implemented>)
1) SETZ W1, ;NO-OP
1) POPJ P, ;CONTINUE
1) REPEAT 0,< ;[735]
****
2)82 REPEAT 0,< ;[735]
**************
1)82 AOJA W2,T11STE ;RANGE CHECK
1) XCT T2 ;STORE W3
****
2)82 ;**;[1174] Replace @T11LNK+11L DZN 1-Jun-79
2) AOJA W2,E01IPO ;[1174] RANGE CHECK
2) XCT T2 ;STORE W3
**************
1)83 ;HERE IF FAIL INNER BLOCK LABELED LITERALS
1) ;HERE TO SEE IF REQUESTED BLOCK HAS BEEN LOADED FOR THIS PROGRAM
1) T11FBH: SKIPN T1,FBHPTR ;GET POINTER TO BLOCK HEADERS
1) POPJ P, ;NONE LOADED
Digital Equipment Corporation 28-AUG-79 Page 137
PCO Log Report
1) HRRZ T1,NAMPTR ;GET POINTER TO LOCAL SYMBOL
1) CAIA ;ALREADY IN T1 FIRST TIME
1) T11FBL: HLRZ T1,2(T1) ;GET POINTER TO BLOCK HEADER
1) JUMPE T1,CPOPJ ;END OF CHAIN
1) CAMGE T1,LW.LS ;IN CORE?
1) JRST T11PSF ;NOT AVAILABLE YET
1) SUB T1,LW.LS ;GET ADDRESS IN CORE
1) ADD T1,LS.LB
1) SKIPGE T2,(T1) ;MUST BE PRIMARY
1) TXNN T2,PT.TTL ;AND A TITLE BLOCK
1) JRST T.5SER ;NO
1) CAME W2,1(T1) ;SEE IF THIS IS THE BLOCK
1) JRST T11FBL ;NOT YET
1) MOVE W2,W3 ;PUT SYMBOL WE WANT IN W2
1) T11FBS: ADDI T1,.L ;ADVANCE
1) CAML T1,LS.AB ;MAKE SURE WE DON'T GO TOO FAR
1) POPJ P, ;DIDN'T FIND IT
1) SKIPLE T2,(T1) ;ONLY WANT PRIMARIES (OR 0)
1) JRST T11FBS ;IGNORE ALL SECONDARY STUFF
1) JUMPE T2,.+2 ;0 MARKS END
1) TXNE T2,PT.TTL ;STOP AT NEXT BLOCK
1) POPJ P,
1) TXNE T2,PT.SYM ;MUST BE A SYMBOL
1) CAME W2,1(T1) ;YES, BUT IS IT ONE WE WANT?
1) JRST T11FBS ;NO REQUIRED SYMBOL
1) SUB T1,LS.LB ;RELATIVE-IZE THIS POINTER
1) ADD T1,LW.LS
1) SETZ T2, ;CLEAR GLOBAL SYMBOL PTR
1) JRST CPOPJ1 ;OK RETURN
1)84 SUBTTL BLOCK TYPE 12 - LINK (FAIL)
****
2)83 SUBTTL BLOCK TYPE 12 - LINK (FAIL)
**************
1)84 AOJA W2,T.12I ;ILLEGAL LINK #
1) TLNN W1,-1 ;THIRD ARG SPECIFIED?
****
2)83 ;**;[1174] Replace @T.12A+9L DZN 1-Jun-79
2) AOJA W2,E$$ICB ;[1174] ILLEGAL LINK #
2) TLNN W1,-1 ;THIRD ARG SPECIFIED?
**************
1)85 AOJA W2,T.12I ;ILLEGAL
1) HRLM W1,@LINKTB ;SAVE END OF LINK INFO
1) JRST T.12A ;BACK FOR MORE
1) T.12I: .ERR. (MS,.EC,V%L,L%W,S%W,ITT,<Illegal type 12 link nu
mber >)
1) .ETC. (OCT,.EP,.EC,,,,W2)
1) .ETC. (STR,.EC,,,,,< in module >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) JRST T.12A ;TRY TO CONTINUE
Digital Equipment Corporation 28-AUG-79 Page 138
PCO Log Report
****
2)84 ;**;[1174] Replace @T.12E+3L DZN 1-Jun-79
2) AOJA W2,E$$ICB ;[1174] ILLEGAL
2) HRLM W1,@LINKTB ;SAVE END OF LINK INFO
2) JRST T.12A ;BACK FOR MORE
2) ;**;[1174] Replace @T.12I DZN 1-Jun-79
2) E$$ICB::.ERR. (MS,.EC,V%L,L%W,S%W,ICB,<Invalid chain REL block
(type 12) link number >) ;[1174]
2) .ETC. (OCT,.EC!.EP,.EC,,,,W2) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) JRST T.12A ;TRY TO CONTINUE
**************
1)86 T.13: .ERR. (MS,0,V%L,L%F,S%F,T13,<LVAR (type 13) code not i
mplemented>)
1)87 SUBTTL BLOCK TYPE 14 - INDEX
****
2)85 T.13:
2) E$$T13::.ERR. (MS,.EC,V%L,L%F,S%F,T13,<LVAR REL block (type 13
) not implemented>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)86 SUBTTL BLOCK TYPE 14 - INDEX
**************
1)87 .ERR. (MS,,V%L,L%W,S%I,LII,<Library index inconsistent
, continuing>)
1) JRST LOAD## ;AND CONTINUE
****
2)86 ;**;[1174] Replace @T.14ER+3L DZN 1-Jun-79
2) E$$LII::.ERR. (MS,,V%L,L%W,S%I,LII,<Library index inconsistent
, continuing>) ;[1174]
2) JRST LOAD## ;AND CONTINUE
**************
1)91 JRST ILIERR]
1) MOVEI R,1 ;MUST GO TO LOW SEG
****
2)90 ;**;[1174] Replace @T.15+2L DZN 1-Jun-79
2) JRST E$$RBS] ;[1174]
2) MOVEI R,1 ;MUST GO TO LOW SEG
**************
1)95 JRST T.20NC ;NO, ERROR
1) HRRZ T1,P1 ;GET COPY
****
2)94 ;**;[1174] Replace @T.COMM+6L DZN 1-Jun-79
2) JRST E$$SNC ;[1174] NO, ERROR
2) HRRZ T1,P1 ;GET COPY
**************
1)95 .ERR. (MS,.EC,V%L,L%F,S%F,TEC,<Trying to expand common
>)
1) .ETC. (SBX,.EC!.EP,,,,W2)
1) .ETC. (STR,.EC,,,,,< from >)
Digital Equipment Corporation 28-AUG-79 Page 139
PCO Log Report
1) .ETC. (DEC,.EC!.EP,,,,T1)
1) .ETC. (STR,.EC,,,,,< to >)
1) .ETC. (DEC,.EC!.EP,,,,T2)
1) .ETC. (STR,.EC,,,,,< in module >)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) T.20NC: .ERR. (MS,.EC,V%L,L%F,S%F,SNC,<Symbol >)
1) .ETC. (SBX,.EC!.EP,,,,W2)
1) .ETC. (STR,,,,,,< already defined, but not as common>)
1)96 ;HERE TO PUT SYMBOL IN TABLE AND GENERATE SPACE
****
2)94 ;**;[1174] Replace @T.20ER+1L DZN 1-Jun-79
2) EXCH T1,T2 ;[1174] SWAP FOR .ETAIC ROUTINE
2) E01AIC::.ERR. (MS,.EC,V%L,L%F,S%F,AIC) ;[1174]
2) .ETC. (STR,.EC,,,,,<common >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
2) .ETC. (JMP,.EC,,,,.ETAIC) ;[1174]
2) E$$SNC::.ERR. (MS,.EC,V%L,L%F,S%F,SNC,<Symbol >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
2) .ETC. (STR,.EC,,,,,< already defined, but not as commo
n>)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)95 ;HERE TO PUT SYMBOL IN TABLE AND GENERATE SPACE
**************
1)97 JRST T.20NC ;SHOULD NOT HAPPEN
1) PUSHJ P,SY.CHK## ;SEE HOW LONGG CURRENT SYMBOL IS
****
2)96 ;**;[1174] Replace @T.20UN+2L DZN 1-Jun-79
2) JRST E$$SNC ;[1174] SHOULD NOT HAPPEN
2) PUSHJ P,SY.CHK## ;SEE HOW LONGG CURRENT SYMBOL IS
**************
1)99 JRST ILIERR] ;ERROR
1) MOVE W3,W1 ;STORE VALUE IN SAFE PLACE
****
2)98 ;**;[1174] Replace @T.22+2L DZN 1-Jun-79
2) JRST E$$RBS] ;[1174] ERROR
2) MOVE W3,W1 ;STORE VALUE IN SAFE PLACE
**************
1)99 JRST T11IPX ;[763] MAKE SURE THIS PSECT EXIS
T
1) MOVEM W2,RC.CUR ;[763] SWITCH CURRENT RELOC COUN
TER TO IT
****
2)98 ;**;[1174] Replace @T.22C+2L DZN 1-Jun-79
2) JRST E$$IPX ;[1174] MAKE SURE THIS PSECT EXI
ST
2) MOVEM W2,RC.CUR ;[763] SWITCH CURRENT RELOC COUN
TER TO IT
**************
1)100 JRST ILIERR ;[1154] TOO SHORT
1) MOVEI R,1(W1) ;[1154] PUT INTERNAL PSECT INDEX
INTO R
Digital Equipment Corporation 28-AUG-79 Page 140
PCO Log Report
****
2)99 ;**;[1174] Replace @T.23+1L DZN 1-Jun-79
2) JRST E$$RBS ;[1174] TOO SHORT
2) MOVEI R,1(W1) ;[1154] PUT INTERNAL PSECT INDEX
INTO R
**************
1)100 JRST ILIERR] ;[1154] USUAL MESSAGE
1) ;HERE WITH THE INTERNAL PSECT INDEX IN R. NEED TO PUT THIS IN R
C.CUR,
****
2)99 ;**;[1174] Replace @T.23A+4L DZN 1-Jun-79
2) JRST E$$RBS] ;[1174] USUAL MESSAGE
2) ;HERE WITH THE INTERNAL PSECT INDEX IN R. NEED TO PUT THIS IN R
C.CUR,
**************
1)100 JRST ILIERR] ;[1154] ..
1) MOVEM P1,RC.CUR ;[1154] RESTORE RC.CUR
****
2)99 ;**;[1174] Replace @T.23B+5L DZN 1-Jun-79
2) JRST E$$RBS] ;[1174] ..
2) MOVEM P1,RC.CUR ;[1154] RESTORE RC.CUR
**************
1)101 JRST ILIERR ;[1137] BLOCK TOO SHORT
1) ;**;[1137] Install the next line ONLY if edit 1132 has been inst
alled.
****
2)100 ;**;[1174] Replace @T.24+3L DZN 1-Jun-79
2) JRST E$$RBS ;[1174] BLOCK TOO SHORT
2) ;**;[1137] Install the next line ONLY if edit 1132 has been inst
alled.
**************
1)101 JRST ILIERR ;[1137] NOT THERE?
1) T.24B: MOVE R,RC.NO ;[1137] LOOP OVER ALL RC BLOCKS
****
2)100 ;**;[1174] Replace @T.24A+2L DZN 1-Jun-79
2) JRST E$$RBS ;[1174] NOT THERE?
2) T.24B: MOVE R,RC.NO ;[1137] LOOP OVER ALL RC BLOCKS
**************
1)102 JRST T24IPX ;[1153] INDEX IS JUNK, COMPLAIN
1) MOVE T1,@RC.TB ;[1137] RC BLOCK OF THIS PSECT
****
2)101 ;**;[1174] Replace @T.24E+5L DZN 4-Jun-79
2) JRST E01IPX ;[1174] INDEX IS JUNK, COMPLAIN
2) MOVE T1,@RC.TB ;[1137] RC BLOCK OF THIS PSECT
**************
1)102 ;**;[1153] Insert @ T.24E+8L JNG 12-Apr-79
1) ;HERE ON AN INVALID PSECT INDEX.
1) T24IPX: .ERR. (MS,.EC,V%L,L%F,S%F,IPX)
1) .ETC. (STR,.EC,,,,,< for PSECT >)
Digital Equipment Corporation 28-AUG-79 Page 141
PCO Log Report
1) .ETC. (SBX,.EP,,,,W2)
1)103 SUBTTL BLOCK TYPE 37 - COBOL LOCAL SYMBOLS
****
2)101 ;**;[1174] Replace @T24IPX-2L DZN 4-Jun-79
2) ;HERE ON AN INVALID PSECT INDEX WHEN W2 CONTAINS SIXBIT PSECT NA
ME.
2) E01IPX::.ERR. (MS,.EC,V%L,L%F,S%F,IPX) ;[1174]
2) .ETC. (STR,.EC,,,,,< for psect >)
2) .ETC. (SBX,.EC!.EP,,,,W2) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)102 SUBTTL BLOCK TYPE 37 - COBOL LOCAL SYMBOLS
**************
1)104 .ERR. (MS,.EC,V%L,L%W,S%W,UAR,<Undefined assign for >)
1) .ETC. (SBX,.EC!.EP,,,,W2)
1) .ETC. (STR,.EC,,,,,< in >)
1) .ETC. (FSP,0,,,,DC)
1) T.100R: PUSHJ P,RB.1 ;IGNORE REST OF BLOCK
****
2)103 ;**;[1174] Replace @T.100E+1L DZN 1-Jun-79
2) E$$UAR::.ERR. (MS,.EC,V%L,L%W,S%W,UAR,<Undefined assign for sy
mbol >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) T.100R: PUSHJ P,RB.1 ;IGNORE REST OF BLOCK
**************
1)105 JRST LKPERR## ;WILL DO FOR NOW
1) PUSHJ P,DVOPN.## ;OPEN DEVICE
1) LOOKUP TC,I.RIB(T1)
1) JRST LKPERR## ;FAILED
1)106 ;HERE WHEN FILE OPENED. ALLOCATE A 1P BUFFER AND READ IT.
****
2)104 ;**;[1174] Replace @T.776+23L DZN 30-May-79
2) JRST E01FLE## ;[1174] WILL DO FOR NOW
2) PUSHJ P,DVOPN.## ;OPEN DEVICE
2) LOOKUP TC,I.RIB(T1)
2) JRST E01FLE## ;[1174] FAILED
2)105 ;HERE WHEN FILE OPENED. ALLOCATE A 1P BUFFER AND READ IT.
**************
1)107 JRST T776TC ;HANDLE ERROR
1) JUMPN R3,T776RD ;DONE UNLESS LAST TIME
****
2)106 ;**;[1174] Replace @T776R2+10L DZN 30-May-79
2) JRST E02EIF ;[1174] HANDLE ERROR
2) JUMPN R3,T776RD ;DONE UNLESS LAST TIME
**************
1)107 T776TC: PUSH P,[TC] ;INDICATE ERROR ON CHANNEL TC
1) .ERR. (ST,0,V%L,L%F,S%F,EID) ;'ERROR ON INPUT DEVICE'
1)108 ;HERE ON A "TITLE" (RADIX50 CODE 0)
****
Digital Equipment Corporation 28-AUG-79 Page 142
PCO Log Report
2)106 E02EIF::PUSH P,[TC] ;[1174] INDICATE ERROR ON CHANNE
L TC
2) .ERR. (ST,0,V%L,L%F,S%F,EIF) ;[1174] 'ERROR ON INPUT F
ILE'
2)107 ;HERE ON A "TITLE" (RADIX50 CODE 0)
**************
1)108 .ERR. (MS,.EC,V%L,L%I5,S%I,LMN) ;GIVE INFO MESSA
GE
1) .ETC. (SBX,.EP,,,,PRGNAM) ;FOR LINK DEBUGGERS
****
2)107 ;**;[1174] Replace @T776OK+1 DZN 1-Jun-79
2) E02LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN) ;[1174] GIVE INFO MESS
AGE
2) .ETC. (SBX,.EP,,,,PRGNAM) ;FOR LINK DEBUGGERS
**************
1)109 T.777: .ERR. (MS,.EC,V%L,L%F,S%F,UNS,<Universal files not sup
ported loading >)
1) .ETC. (FSP,,,,,DC)
****
2)108 T.777:
2) E$$UNS::.ERR. (MS,.EC,V%L,L%F,S%F,UNS,<Universal file REL bloc
k (type 777) not supported>) ;[1174]
2) .ETC. (NLN,.EC) ;[1174]
2) .ETC. (STR,.EC,,,,,<from file >) ;[1174]
2) .ETC. (FSP,,,,,DC)
**************
1)111 .ERR. (MS,.EC,V%M,L%F,S%F,RPN,<Relocatable PSECTs not
implemented>)
1) .ETC. (STR,.EC,,,,,<--/SET switch required for PSECT:
>)
1) .ETC. (SBX,.EP,,,,T1)
1)112 ;CHKSEG - ROUTINE TO SEE IF ADDRESS IS REQUIRED OR NOT
****
2)110 ;**;[1174] Replace @R.ERR+1L DZN 1-Jun-79
2) E$$SRP::.ERR. (MS,.EC,V%L,L%F,S%F,SRP,</SET: switch required f
or psect >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,T1) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)111 ;CHKSEG - ROUTINE TO SEE IF ADDRESS IS REQUIRED OR NOT
**************
1)112 ILIERR: .ERR. (MS,.EC,V%L,L%F,S%F,RBS)
1) .ETC. (OCT,.EC!.EP,,,,T1)
1) .ETC. (STR,.EC,,,,,< too short for >)
1) .ETC. (FSP,,,,,DC)
1) IFN DEBSW,<
****
2)111 ;**;[1174] Replace @ILIERR DZN 1-Jun-79
2) E$$RBS::.ERR. (MS,.EC,V%L,L%F,S%F,RBS,<REL block type >) ;[117
4]
Digital Equipment Corporation 28-AUG-79 Page 143
PCO Log Report
2) .ETC. (OCT,.EC!.EP,,,,T1)
2) .ETC. (STR,.EC,,,,,< too short>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) IFN DEBSW,<
**************
Digital Equipment Corporation 28-AUG-79 Page 144
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV1.MAC[30,4507] created: 2144 08-Jun-1979
File 2) LINK:LNKOV1.MAC[10,645063] created: 1810 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC 5-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKOV1
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKOV1
**************
1)1 DECEVR==1172 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL ENTRY POINT
****
2)2 ;1174 Label and clean up all error messages.
2)3 SUBTTL ENTRY POINT
**************
1)6 .ERR. (MS,.EC,V%L,L%W,S%W,LNA,<Link name >)
1) .ETC. (SBX,.EC!.EP,,,,P1)
****
2)6 ;**;[1174] Replace @LNKLNA+1L DZN 1-Jun-79
2) E$$LNA::.ERR. (MS,.EC,V%L,L%W,S%W,LNA,<Link name >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,P1)
**************
1)7 JRST ZSVERR## ;ZERO IS ILLEGAL
1) SETZ W3, ;VALUE
****
2)7 ;**;[1174] Replace @.NOENTRY+4L DZN 3-Jun-79
2) JRST E$$ZSV## ;[1174] ZERO IS ILLEGAL
2) SETZ W3, ;VALUE
**************
1)7 JRST ZSVERR## ;ZERO IS ILLEGAL
1) SETZ W3, ;VALUE
****
2)7 ;**;[1174] Replace @.NOREQUEST+4L DZN 3-Jun-79
2) JRST E$$ZSV## ;[1174] ZERO IS ILLEGAL
2) SETZ W3, ;VALUE
**************
1)7 .ERR. (MS,0,V%L,L%I,S%I,MRN,<Multiple regions not yet
Digital Equipment Corporation 28-AUG-79 Page 145
PCO Log Report
implemented>)
1) POPJ P,
****
2)7 ;**;[1174] Replace @%REGION+2L DZN 1-Jun-79
2) E$$MRN::.ERR. (MS,0,V%L,L%I,S%I,MRN,<Multiple regions not yet
implemented>) ;[1174]
2) POPJ P,
**************
1)8 PUSHJ P,.SAVE4## ;SAVE P1-P4
1) MOVE P2,HT.PRM ;GET INDEX INTO HASH TABLE
1) HRRZ T1,LOWSUB ;[605] TTY TYPEOUT ROUTINE
1) PUSHJ P,.TYOCH## ;TYPE-OUT ON TTY ONLY
1) PUSH P,T1 ;SAVE IT
1) PUSH P,[-1] ;MARKER FOR NO REQUESTS
1) REQST1: SKIPN P3,@HT.PTR ;GET POINTER TO SYMBOL
1) JRST REQST3 ;NO POINTER, NO SYMBOL
1) ADD P3,GS.LB ;ADD IN BASE
1) MOVE T1,0(P3) ;GET FLAGS
1) TXNE T1,PT.SYM ;WE ONLY WANT SYMBOLS
1) TXNN T1,PS.ENT ;SEE IF AN ENTRY
1) JRST REQST3 ;NO
1) TXNN T1,PS.NRQ ;NOT WANTED?
1) SKIPN 2(P3) ;OR ZERO VALUE (I.E. NOT A CALL
FOO)
1) JRST REQST3 ;DO NOT LIST
1) AOSE (P) ;FIRST TIME?
1) JRST REQST2 ;NO
1) MOVEI T1,REQHDR
1) PUSHJ P,.TSTRG## ;YES. OUTPUT HEADER LINE
1) MOVEI T1,REQMES
1) PUSHJ P,.TSTRG##
1) REQST2: PUSHJ P,.TTABC##
1) MOVE T1,1(P3) ;GET SYMBOL
1) PUSHJ P,.TSIXN## ;SIXBIT WORD
1) PUSHJ P,.TTABC## ;TAB
1) MOVE T1,2(P3) ;VALUE
1) PUSHJ P,.TOCTW## ;IN OCTAL
1) PUSHJ P,.TCRLF## ;NEW LINE
1) REQST3: SOJGE P2,REQST1 ;LOOP IF MORE SYMBOLS TO LOOK AT
1) SKIPL (P) ;-1 IF NONE SEEN
1) JRST REQST4
1) MOVEI T1,REQHDR
1) PUSHJ P,.TSTRG##
1) MOVEI T1,[ASCIZ \No \]
1) PUSHJ P,.TSTRG## ;FAILED TO FIND ANY
1) MOVEI T1,REQMES ;REST OF MESSAGE
1) PUSHJ P,.TSTRG##
1) REQST4: POP P,T1 ;CLEAR STACK
1) POP P,T1 ;RESTORE OLD TYPE-OUT ROUTINE
Digital Equipment Corporation 28-AUG-79 Page 146
PCO Log Report
1) PJRST .TYOCH## ;AND RETURN
1)9 REQHDR: ASCIZ \[LNKRER \
****
2)8 MOVE T1,[PUSHJ P,REQNXT] ;[1174] SET UP NEXT SYMBOL R
OUTINE
2) MOVEM T1,NXTGLB ;[1174] ..
2) MOVE W3,HT.PRM ;[1174] SET UP HASH TABLE INDEX
2) ADDI W3,1 ;[1174] START UP BY 1 FOR SOSGE
BELOW
2) PUSHJ P,REQNXT ;[1174] GET NEXT (FIRST) ENTRY
2) PJRST E01RER ;[1174] NONE--GO SAY SO SPECIALL
Y
2) E$$RER::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,RER) ;[1174]
2) .ETC. (STR,.EC,,,,,<Request external references (inter
link entry points)>) ;[1174]
2) .ETC. (JMP,,,,,.ETSAV##) ;[1174] GO PRINT THE LIST
2) ;REQNXT RETURNS THE NEXT INTER-LINK ENTRY POINT FOR USE BY THE A
BOVE .ERR..
2) ;
2) ;CALL:
2) ; W3/ NEXT HASH TABLE INDEX TO CHECK
2) ;RETURNS WITH A NON-SKIP RETURN IF THERE ARE NO MORE SUCH SYMB
OLS. OTHERWISE,
2) ;GIVES A SKIP RETURN WITH:
2) ; W1/ NEXT SYMBOL
2) ; W2/ OCTAL VALUE
2) ; W3/ UPDATED
2) REQNXT: PUSHJ P,.SAVE4## ;[1174] SAVE LNKLOG'S P ACS
2) REQLUP: SOSGE P2,W3 ;[1174] CHECK NEXT HASH TABLE EN
TRY
2) POPJ P, ;[1174] NONE LEFT--GIVE NON-SKIP
RETURN
2) SKIPN P3,@HT.PTR ;[1174] IGNORE IF NO SYMBOL HERE
2) JRST REQLUP ;[1174] ..
2) ADD P3,GS.LB ;[1174] RELOCATE IN CASE GS AREA
MOVED
2) MOVE T1,0(P3) ;[1174] MUST BE UNDEFINED LINK E
NTRY SYMBOL
2) TXNE T1,PT.SYM ;[1174] ..
2) TXNN T1,PS.ENT ;[1174] ..
2) JRST REQLUP ;[1174] NO--TRY NEXT
2) TXNN T1,PS.NRQ ;[1174] DID USER SAY NO FOR THIS
SYMBOL?
2) SKIPN 2(P3) ;[1174] OR ZERO VALUE (I.E. NO
T A CALL FOO)
2) JRST REQLUP ;[1174] YES--TRY NEXT
2) MOVE W1,1(P3) ;[1174] NO--A WINNER! LOAD UP SY
MBOL AND VALUE
2) MOVE W2,2(P3) ;[1174] ..
Digital Equipment Corporation 28-AUG-79 Page 147
PCO Log Report
2) JRST CPOPJ1 ;[1174] DONE--GIVE SKIP RETURN
2) E01RER::.ERR. (MS,.EC,V%L,L%F,S%I,RER) ;[1174]
2) .ETC. (STR,,,,,,<No request external references (inter
-link entry points)>) ;[1174]
2) POPJ P, ;[1174]
2)9 REQHDR: ASCIZ \[LNKRER \
**************
1)10 JRST LNKFSN ;OVRLAY NEEDS IT, MUST BE THERE
1) MOVX W1,PT.SGN!PT.SYM ;
****
2)10 ;**;[1174] Replace @LNKT0+8L DZN 1-Jun-79
2) JRST E$$FSN ;[1174] OVRLAY NEEDS IT, MUST BE
THERE
2) MOVX W1,PT.SGN!PT.SYM ;
**************
1)10 JRST LNKOHN ;MUST BE THERE
1) JRST LNKOHN ;BUT WARN USER
1) MOVE T1,2(P1) ;GET ADDRESS
****
2)10 ;**;[1174] Replace @LNKT0+13L DZN 1-Jun-79
2) JRST E$$OHN ;[1174] MUST BE THERE
2) JRST E$$OHN ;[1174] BUT WARN USER
2) MOVE T1,2(P1) ;GET ADDRESS
**************
1)10 JRST LNKOHN
1) JRST LNKOHN
1)11 ;HERE TO SET UP FRONT OF OVERLAY FILE.
****
2)10 ;**;[1174] Replace @LNKT0+20L DZN 1-Jun-79
2) JRST E$$OHN ;[1174]
2) JRST E$$OHN ;[1174]
2)11 ;HERE TO SET UP FRONT OF OVERLAY FILE.
**************
1)12 JRST LNKOHN
1) JRST LNKOHN
1) HRRZ P2,2(P1) ;GET ADDRESS
****
2)12 ;**;[1174] Replace @LNKT0B+21L DZN 1-Jun-79
2) JRST E$$OHN ;[1174]
2) JRST E$$OHN ;[1174]
2) HRRZ P2,2(P1) ;GET ADDRESS
**************
1)18 PUSHJ P,ER.OOV## ;OUTPUT ERROR
1)19 LNKT4D: SKIPE PAG.S1 ;[666] PAGING?
****
2)18 ;**;[1174] Replace @LNKT4G+6L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
2)19 LNKT4D: SKIPE PAG.S1 ;[666] PAGING?
**************
Digital Equipment Corporation 28-AUG-79 Page 148
PCO Log Report
1)20 PUSHJ P,NO.COR## ;TOO BAD
1) LNKT5E: SETZM LW.LS ;START BACK AT FRONT OF FILE
****
2)20 PUSHJ P,E$$MEF## ;[1174] TOO BAD
2) LNKT5E: SETZM LW.LS ;START BACK AT FRONT OF FILE
**************
1)20 PUSHJ P,NO.COR## ;TOO BAD
1) > ;END IFL .IPS-2*.DBS
****
2)20 PUSHJ P,E$$MEF## ;[1174] TOO BAD
2) > ;END IFL .IPS-2*.DBS
**************
1)21 PUSHJ P,ER.OOV## ;OUTPUT ERROR
1)22 LNKT5C: SKIPE PAG.LS ;PAGING?
****
2)21 ;**;[1174] Replace @LNKT5H+6L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
2)22 LNKT5C: SKIPE PAG.LS ;PAGING?
**************
1)23 PUSHJ P,ER.OOV##
1) SKIPN RBGPTR ;ANY OTHER RELOCATION
****
2)23 ;**;[1174] Replace @LNKT6+23L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174]
2) SKIPN RBGPTR ;ANY OTHER RELOCATION
**************
1)26 PUSHJ P,ER.OOV##
1)27 RT.DPB: SOSL RT.FR ;ANY ROOM
****
2)26 ;**;[1174] Replace @LNKT6Z+17L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174]
2)27 RT.DPB: SOSL RT.FR ;ANY ROOM
**************
1)27 PUSHJ P,NO.COR##
1) SPOP <P2,P1,T1>
****
2)27 PUSHJ P,E$$MEF## ;[1174]
2) SPOP <P2,P1,T1>
**************
1)28 PUSHJ P,ER.OOV## ;OUTPUT ERROR
1) ;HERE TO OUTPUT PREAMBLE - MUST BE LAST
****
2)28 ;**;[1174] Replace @LNKT7+19L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
2) ;HERE TO OUTPUT PREAMBLE - MUST BE LAST
**************
1)28 PUSHJ P,ER.OOV## ;OUTPUT ERROR
1) LNKT9: MOVE T1,CS.NUM ;GET THIS LINK
****
2)28 ;**;[1174] Replace @LNKT8+5L DZN 1-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 149
PCO Log Report
2) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
2) LNKT9: MOVE T1,CS.NUM ;GET THIS LINK
**************
1)31 PUSHJ P,NO.COR##
1) MOVNI T1,.IPS ;NOW TAKE BACK EXTRA
****
2)31 PUSHJ P,E$$MEF## ;[1174]
2) MOVNI T1,.IPS ;NOW TAKE BACK EXTRA
**************
1)32 PUSHJ P,NO.COR## ;TOO BAD
1) MOVNI T1,.IPS
****
2)32 PUSHJ P,E$$MEF## ;[1174] TOO BAD
2) MOVNI T1,.IPS
**************
1)33 PUSHJ P,NO.COR## ;FAILED
1) LNKZB1: MOVE T1,GS.LB ;GET BASE
****
2)33 PUSHJ P,E$$MEF## ;[1174] FAILED
2) LNKZB1: MOVE T1,GS.LB ;GET BASE
**************
1)34 SKIPN CS.LNM ;DOES THIS LINK HAVE A NAME?
1) JRST LNKZNN ;NO
1) .ERR. (MS,.EC!.EB,V%L,L%I6,S%I,ELN,<End of link number
>) ;
1) .ETC. (DEC,.EC!.EP,,,,CS.NUM) ;
1) .ETC. (STR,.EC,,,,,<, name >) ;
1) .ETC. (SBX,.EP,,,,CS.LNM) ;
1) JRST LNKZA ;JOIN COMMON CODE
1) LNKZNN: .ERR. (MS,.EC!.EB,V%L,L%I6,S%I,ELN) ;
1) .ETC. (DEC,.EP,,,,CS.NUM) ;
1) LNKZA: MOVEI R,1 ;POINT TO RELOC TABLE 1
****
2)34 ;**;[1174] Replace @LNKZB1+1P1L DZN 1-Jun-79
2) E$$ELN::.ERR. (MS,.EC,V%L,L%I6,S%I,ELN,<End of>) ;[1174]
2) .ETC. (JMP,.EC,,,,.ETLNN##) ;[1174]
2) .ETC. (BKL) ;[1174] BLANK LINE IN THE LOG FI
LE
2) LNKZA: MOVEI R,1 ;POINT TO RELOC TABLE 1
**************
1)36 LKSTER: PUSHJ P,STARTU## ;UNDEFINED MESSAGE
1) SETZM STADDR ;CLEAR ADDRESS
****
2)36 ;**;[1174] Replace @LKSTER DZN 3-Jun-79
2) LKSTER: PUSHJ P,E$$USA## ;[1174] UNDEFINED MESSAGE
2) SETZM STADDR ;CLEAR ADDRESS
**************
1)37 PJRST ODVERR## ;DEV IS NOT A DSK, DIE
1) MOVE T1,IO.PTR+OC ;RESTORE THE I/O DATA
****
Digital Equipment Corporation 28-AUG-79 Page 150
PCO Log Report
2)37 ;**;[1174] Replace @OC.OPN+22L DZN 30-May-79
2) PJRST E$$OFS ;[1174] DEV IS NOT A DSK, DIE
2) MOVE T1,IO.PTR+OC ;RESTORE THE I/O DATA
**************
1)37 JRST ER.EOV ;FAILED
1) POPJ P,
1) ER.EOV: PUSH P,IO.CHN ;[631] TELL ERROR ROUTINE CHANNE
L NUMBER
1) .ERR. (LRE,.EC,V%L,L%F,S%F,EOV,<Error creating overlay
file >)
1) .ETC. (FSP,,,,,OC)
1)38 SUBTTL RESET SWITCH
****
2)37 ;**;[1174] Replace @OC.OPN+37L DZN 30-May-79
2) JRST E$$EOV ;[1174] FAILED
2) POPJ P,
2) ;**;[1174] Replace @ER.EOV DZN 30-May-79
2) E$$OFS::.ERR. (MS,0,V%M,L%F,S%F,OFS,<Overlay file must be crea
ted on a file structure>) ;[1174]
2) E$$EOV::PUSH P,IO.CHN ;[1174] TELL ERROR ROUTINE CHANN
EL NUMBER
2) .ERR. (LRE,.EC,V%L,L%F,S%F,EOV,<Error creating overlay
file>) ;[1174]
2)38 SUBTTL RESET SWITCH
**************
1)38 .ERR. (MS,.EC,V%L,L%W,S%W,LSM,</LINK switch mi
ssing while loading link number >) ;
1) .ETC. (DEC,.EC!.EP,,,,P2) ;LINK NUM
****
2)38 ;**;[1174] Replace @%RESET+6L DZN 1-Jun-79
2) E$$LSM::.ERR. (MS,.EC,V%L,L%W,S%W,LSM,</LINK switch mi
ssing while loading link number >) ;[1174]
2) .ETC. (DEC,.EC!.EP,,,,P2) ;LINK NUM
**************
1)38 JRST RSTNE ;NO
1) MOVEM T2,CS.NUM ;NO, STORE SO WE KNOW WHO TO LIN
K TO
****
2)38 ;**;[1174] Replace @RSTA+3L DZN 1-Jun-79
2) JRST E$$LNL ;[1174] NO
2) MOVEM T2,CS.NUM ;NO, STORE SO WE KNOW WHO TO LIN
K TO
**************
1)41 PUSHJ P,ER.LNC## ;MUST BE INCORE
1) MOVE P1,1(P1) ;GET PREVIOUS
****
2)41 ;**;[1174] Replace @RST2A+2L DZN 1-Jun-79
2) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
2) MOVE P1,1(P1) ;GET PREVIOUS
Digital Equipment Corporation 28-AUG-79 Page 151
PCO Log Report
**************
1)41 PUSHJ P,ER.LNC## ;MUST BE INCORE
1) TLNN T2,-1 ;FORWARD PTR?
****
2)41 ;**;[1174] Replace @RST2B+15L DZN 1-Jun-79
2) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
2) TLNN T2,-1 ;FORWARD PTR?
**************
1)43 PUSHJ P,ER.IOV## ;INPUT ERROR
1) HRRZ P1,P2 ;INDEX INTO BRANCH TABLES
****
2)43 ;**;[1174] Replace @RST3H+12L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
2) HRRZ P1,P2 ;INDEX INTO BRANCH TABLES
**************
1)43 PUSHJ P,NO.COR##
1) POP P,P2
****
2)43 PUSHJ P,E$$MEF## ;[1174]
2) POP P,P2
**************
1)44 PUSHJ P,ER.IOV## ;INPUT ERROR
1) HRRZ P1,P2 ;TO HOLD BRN DEPTH
****
2)44 ;**;[1174] Replace @RST3J+6L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
2) HRRZ P1,P2 ;TO HOLD BRN DEPTH
**************
1)45 JRST RSTRPR ;YES - ERROR
1) MOVS T1,LSTPTR ;MUST BACKUP BY ONE LEVEL
****
2)45 ;**;[1174] Replace @RSTN+2L DZN 1-Jun-79
2) JRST E$$NBR ;[1174] YES - ERROR
2) MOVS T1,LSTPTR ;MUST BACKUP BY ONE LEVEL
**************
1)45 JUMPE T1,RSTLE ;ERROR
1) RSTLA: CAMN T2,(T1) ;IS THIS IT
****
2)45 ;**;[1174] Replace @RSTL+1L DZN 1-Jun-79
2) JUMPE T1,E$$LNN ;[1174] ERROR
2) RSTLA: CAMN T2,(T1) ;IS THIS IT
**************
1)45 RSTLE: .ERR. (MS,.EC,V%L,L%W,S%W,LNN,<Link name >)
1) .ETC. (SBX,.EC!.EP,,,,T2)
****
2)45 ;**;[1174] Replace @RSTLE DZN 1-Jun-79
2) E$$LNN::.ERR. (MS,.EC,V%L,L%W,S%W,LNN,<Link name >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,T2)
**************
Digital Equipment Corporation 28-AUG-79 Page 152
PCO Log Report
1)45 RSTNE: .ERR. (MS,.EC,V%L,L%W,S%W,LNL,<Link number >)
1) .ETC. (DEC,.EC!.EP,,,,T2)
****
2)45 ;**;[1174] Replace @RSTNE DZN 1-Jun-79
2) E$$LNL::.ERR. (MS,.EC,V%L,L%W,S%W,LNL,<Link number >) ;[1174]
2) .ETC. (DEC,.EC!.EP,,,,T2)
**************
1)45 RSTRPR: .ERR. (MS,,V%L,L%F,S%F,NBR,<Attempt to position to nod
e before ROOT>) ;
1)46 ;HERE IF RESET IS ALL THE WAY BACK TO THE ROOT
****
2)45 ;**;[1174] Replace @RSTRPR DZN 1-Jun-79
2) E$$NBR::.ERR. (MS,,V%L,L%F,S%F,NBR,<Attempt to position to nod
e before the root>) ;[1174]
2)46 ;HERE IF RESET IS ALL THE WAY BACK TO THE ROOT
**************
1)46 PUSHJ P,ER.LNC## ;MUST BE INCORE
1) RST02: HRRZ T1,@BRNTBL ;GET ORIGIN OF TABLE
****
2)46 ;**;[1174] Replace @RST01+6L DZN 1-Jun-79
2) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
2) RST02: HRRZ T1,@BRNTBL ;GET ORIGIN OF TABLE
**************
1)47 PUSHJ P,ER.IOV## ;INPUT ERROR
1)48 SUBTTL COMMON SUBROUTINES
****
2)47 ;**;[1174] Replace @RST06+8L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
2)48 SUBTTL COMMON SUBROUTINES
**************
1)50 JRST RSTRPR ;ERROR
1) HRLM T1,LSTPTR ;BACK UP
****
2)50 ;**;[1174] Replace @BKPBRN+3L DZN 1-Jun-79
2) JRST E$$NBR ;[1174] ERROR
2) HRLM T1,LSTPTR ;BACK UP
**************
1)50 PUSHJ P,ER.LNC## ;MUST BE INCORE
1)51 SUBTTL SEARCH BOUND GLOBALS
****
2)50 ;**;[1174] Replace @DLTBRN+13L DZN 1-Jun-79
2) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
2)51 SUBTTL SEARCH BOUND GLOBALS
**************
1)51 PUSHJ P,ER.LNC## ;MUST BE INCORE
1) ADD T2,BG.LB ;ADD IN BASE
****
2)51 ;**;[1174] Replace @TRYBG1+8L DZN 1-Jun-79
2) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
Digital Equipment Corporation 28-AUG-79 Page 153
PCO Log Report
2) ADD T2,BG.LB ;ADD IN BASE
**************
1)59 LNKOHN: .ERR. (MS,,V%L,L%F,S%F,OHN,<Overlay handler not loaded
>)
1) LNKFSN: .ERR. (MS,,V%L,L%F,S%F,FSN,<FUNCT. subroutine not load
ed>)
1) OV1LIT:
1) END LNKOV1
****
2)59 ;**;[1174] Replace @LNKOHN DZN 1-Jun-79
2) E$$OHN::.ERR. (MS,,V%L,L%F,S%F,OHN,<Overlay handler not loaded
>) ;[1174]
2) E$$FSN::.ERR. (MS,,V%L,L%F,S%F,FSN,<FUNCT. subroutine not load
ed>) ;[1174]
2) OV1LIT:
2) END LNKOV1
**************
Digital Equipment Corporation 28-AUG-79 Page 154
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV2.MAC[30,4507] created: 2238 08-Jun-1979
File 2) LINK:LNKOV2.MAC[10,645063] created: 1831 10-Jun-1979
1)1 TITLE LNKOV2 - PHASE 2 OVERLAY MODULE FOR LINK-10
1) SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC 5-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 TITLE LNKOV2 - PHASE 2 OVERLAY MODULE FOR LINK
2) SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKOV2
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKOV2
**************
1)1 DECEVR==1172 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL DEFINITIONS
****
2)2 ;1174 Label and clean up all error messages.
2)3 SUBTTL DEFINITIONS
**************
1)4 .ERR. (MS,,V%L,L%I,S%I,OS2,<Overlay segment phase 2>)
1) MOVE T1,SYMSEG ;GET /SYMSEG VALUE
****
2)4 ;**;[1174] Replace @LNKOV2+1L DZN 1-Jun-79
2) E$$OS2::.ERR. (MS,,V%L,L%I,S%I,OS2,<Overlay segment phase 2>)
;[1174]
2) MOVE T1,SYMSEG ;GET /SYMSEG VALUE
**************
1)5 PUSHJ P,NO.COR##
1) SKIPA T1,GS.AB ;GS.AB IS NOW SETUP CORRECTLY
****
2)5 PUSHJ P,E$$MEF## ;[1174]
2) SKIPA T1,GS.AB ;GS.AB IS NOW SETUP CORRECTLY
**************
1)6 PUSHJ P,NO.COR##
1) OVR3A: AOS P1,LNKNO. ;PICKUP LINK #
****
2)6 PUSHJ P,E$$MEF## ;[1174]
2) OVR3A: AOS P1,LNKNO. ;PICKUP LINK #
**************
Digital Equipment Corporation 28-AUG-79 Page 155
PCO Log Report
1)7 PUSHJ P,NO.COR##
1) JRST OVR3I ;TRY AGAIN
****
2)7 PUSHJ P,E$$MEF## ;[1174]
2) JRST OVR3I ;TRY AGAIN
**************
1)8 PUSHJ P,NO.COR## ;NOT 1 WORD ????!!!!!!
1) JRST .+1] ;REJOIN MAIN STREAM
****
2)8 PUSHJ P,E$$MEF## ;[1174] NOT 1 WORD ????!
!!!!!
2) JRST .+1] ;REJOIN MAIN STREAM
**************
1)11 JRST OVR6CU
1) JRST OVR6CU
1) MOVE T2,EI.FLG(P1) ;GET LINK#
****
2)11 ;**;[1174] Replace @OVR6C+2L DZN 1-Jun-79
2) JRST E$$USC ;[1174]
2) JRST E$$USC ;[1174]
2) MOVE T2,EI.FLG(P1) ;GET LINK#
**************
1)11 PUSHJ P,ER.LNC##] ;BUT!!!
1) HLRZ T1,P1 ;GET POINTER
****
2)11 ;**;[1174] Replace @OVR6C+13L DZN 1-Jun-79
2) PUSHJ P,E$$LNM##] ;[1174] BUT!!!
2) HLRZ T1,P1 ;GET POINTER
**************
1)12 OVR6CU: .ERR. (MS,.EC,V%L,L%F,S%W,USC,<Undefined subroutine >)
1) .ETC. (SBX,.EC!.EP,,,,W2)
1) .ETC. (STR,.EC,,,,,< called from link number >)
1) .ETC. (DEC,.EP,,,,CS.NUM)
1) OVR6CE: MOVE T1,ADDOVU ;ADDRESS OF UNDEFINED ROUTINE
****
2)12 ;**;[1174] Replace @OVR6CU DZN 1-Jun-79
2) E$$USC::.ERR. (MS,.EC,V%L,L%F,S%W,USC,<Undefined subroutine >)
;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
2) .ETC. (STR,.EC,,,,,< called from>) ;[1174]
2) .ETC. (JMP,,,,,.ETLNN##) ;[1174]
2) OVR6CE: MOVE T1,ADDOVU ;ADDRESS OF UNDEFINED ROUTINE
**************
1)12 .ERR. (MS,.EC,V%L,L%W,S%W,SNP,<Subroutine >)
1) .ETC. (SBX,.EC!.EP,,,,W2)
****
2)12 ;**;[1174] Replace @OVR6CN+1L DZN 1-Jun-79
2) E$$SNP::.ERR. (MS,.EC,V%L,L%W,S%W,SNP,<Subroutine >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
Digital Equipment Corporation 28-AUG-79 Page 156
PCO Log Report
**************
1)12 .ETC. (STR,.EC,,,,,< not on path for call from link nu
mber >)
1) .ETC. (DEC,.EP,,,,CS.NUM)
1) MOVE P1,P3 ;RESTORE P1
****
2)12 .ETC. (STR,.EC,,,,,< not on path for call from>) ;[117
4]
2) .ETC. (JMP,,,,,.ETLNN##) ;[1174]
2) MOVE P1,P3 ;RESTORE P1
**************
1)13 PUSHJ P,ER.LNC##] ;BUT!
1) HLRZ T1,P1 ;GET POINTER
****
2)13 ;**;[1174] Replace @OVR6M+8L DZN 1-Jun-79
2) PUSHJ P,E$$LNM##] ;[1174] BUT!
2) HLRZ T1,P1 ;GET POINTER
**************
1)15 .ERR. (MS,.EC,V%L,L%W,S%W,ARL,<Ambiguous request in li
nk >)
1) .ETC. (DEC,.EC!.EP,,,,CS.NUM)
1) .ETC. (STR,.EC,,,,,< for >)
1) .ETC. (SBX,.EC!.EP,,,,W2)
****
2)15 ;**;[1174] Replace @OVR6MG+27L DZN 1-Jun-79
2) E$$ARL::.ERR. (MS,.EC,V%L,L%W,S%W,ARL,<Ambiguous request in>)
;[1174]
2) .ETC. (JMP,.EC,,,,.ETLNN##) ;[1174]
2) .ETC. (STR,.EC,,,,,< for symbol >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
**************
1)18 PUSHJ P,NO.COR## ;[635] TOO BAD
1) SPOP <P2,P1,T2,T1> ;[635] RESTORE NEEDED ACCS
****
2)18 PUSHJ P,E$$MEF## ;[1174] TOO BAD
2) SPOP <P2,P1,T2,T1> ;[635] RESTORE NEEDED ACCS
**************
1)18 .ERR. (MS,.EC,V%L,L%F,S%W,TMA,<Too many ambiguous requ
ests in link >)
1) .ETC. (DEC,.EC!.EP,,,,CS.NUM)
1) .ETC. (STR,.EC,,,,,<, use /ARSIZE:>)
****
2)18 ;**;[1174] Replace @OVR6FC+3L DZN 1-Jun-79
2) E$$TMA::.ERR. (MS,.EC,V%L,L%F,S%W,TMA,<Too many ambiguous requ
ests in>) ;[1174]
2) .ETC. (JMP,.EC,,,,.ETLNN##) ;[1174]
2) .ETC. (STR,.EC,,,,,<, use /ARSIZE:>)
**************
1)20 PUSHJ P,ER.OOV## ;OUTPUT ERROR
Digital Equipment Corporation 28-AUG-79 Page 157
PCO Log Report
1)21 OVR6H: SKIPE T1,RT.PT ;RELOC TABLE TO PUT OUT?
****
2)20 ;**;[1174] Replace @OVR6GC+15L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
2)21 OVR6H: SKIPE T1,RT.PT ;RELOC TABLE TO PUT OUT?
**************
1)21 PUSHJ P,ER.OOV## ;[573] THIS IS AN OUTPUT ERROR
1)22 ;**;[1172] Add comment @ OVR6H+1P JNg 5-Jun-79
1) ;HERE TO CHECK IF SYMBOLS NEEDED, AND READ THEM IN IF SO.
****
2)21 ;**;[1174] Replace @OVR6H+28L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] THIS IS AN OUTPUT ERROR
2)22 ;**;[1172] Add comment @OVR6H+1P JNg 5-Jun-79
2) ;HERE TO CHECK IF SYMBOLS NEEDED, AND READ THEM IN IF SO.
**************
1)22 ;**;[1172] Delete @ OVR6S+6L JNG 5-Jun-79
1) USETI OC,(T1) ;SET ON SYMBOL BLOCK
****
2)22 ;**;[1172] Delete @OVR6S+6L JNG 5-Jun-79
2) USETI OC,(T1) ;SET ON SYMBOL BLOCK
**************
1)22 PUSHJ P,NO.COR## ;TOO BAD
1) OVR6S1: HLRE T1,PH.SYM ;GET -LENGTH AGAIN
****
2)22 PUSHJ P,E$$MEF## ;[1174] TOO BAD
2) OVR6S1: HLRE T1,PH.SYM ;GET -LENGTH AGAIN
**************
1)22 PUSHJ P,ER.IOV## ;ERROR
1) SUB T1,LW.LS ;SHOULD BE 0
****
2)22 ;**;[1174] Replace @OVR6S1+17L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] ERROR
2) SUB T1,LW.LS ;SHOULD BE 0
**************
1)23 PUSHJ P,ER.OOV## ;FAILED
1)24 OVR6R: SKIPE T1,RT.PT ;ANY RELOCATION TABLES?
****
2)23 ;**;[1174] Replace @OVR6L+16L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] FAILED
2)24 OVR6R: SKIPE T1,RT.PT ;ANY RELOCATION TABLES?
**************
1)24 PUSHJ P,ER.OOV## ;ERROR
1)25 OVR6P: HLRZ T1,OVLBLK ;BLOCK # OF PREAMBLE
****
2)24 ;**;[1174] Replace @OVR6R+18L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] ERROR
2)25 OVR6P: HLRZ T1,OVLBLK ;BLOCK # OF PREAMBLE
**************
1)25 PUSHJ P,ER.OOV## ;OUTPUT ERROR
Digital Equipment Corporation 28-AUG-79 Page 158
PCO Log Report
1) OVR6X: SKIPN PH.RDX ;ANY RADIX-50 SYMBOLS
****
2)25 ;**;[1174] Replace @OVR6Z+2L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
2) OVR6X: SKIPN PH.RDX ;ANY RADIX-50 SYMBOLS
**************
1)25 PUSHJ P,ER.IOV##
1) MOVE T2,PH.RDX ;GET SYMBOL TABLE PTR
****
2)25 ;**;[1174] Replace @OVR6X+18L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174]
2) MOVE T2,PH.RDX ;GET SYMBOL TABLE PTR
**************
1)25 PUSHJ P,ER.OOV##
1)26 OVR7: SKIPN TMAMAX ;[635] ANY %LNKTMA MESSAGES OUTP
UT?
1) JRST OVR7C ;[635] NO, CONTINUE
1) .ERR. (MS,.EC,V%L,L%F,S%F,ABT,<Load aborted due to %LN
KTMA errors, max. /ARSIZE needed was >)
1) .ETC. (DEC,.EP,,,,TMAMAX)
****
2)25 ;**;[1174] Replace @OVR6X+25L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174]
2)26 OVR7: SKIPN TMAMAX ;[635] ANY %LNKTMA MESSAGES OUTP
UT?
2) JRST OVR7C ;[635] NO, CONTINUE
2) ;**;[1174] Replace @OVR7+2L DZN 1-Jun-79
2) E$$ABT::.ERR. (MS,.EC,V%L,L%F,S%F,ABT,<Load aborted due to %LN
KTMA errors, max. /ARSIZE: needed was >) ;[1174]
2) .ETC. (DEC,.EP,,,,TMAMAX)
**************
1)26 PUSHJ P,ER.OOV## ;OUTPUT ERROR
1) MOVN T1,L.MAX ;GET MAX LINKS ALLOWED
****
2)26 ;**;[1174] Replace @OVR7C+10L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
2) MOVN T1,L.MAX ;GET MAX LINKS ALLOWED
**************
1)26 PUSHJ P,ER.OOV## ;OUTPUT ERROR
1)27 ;NOW FOR LINK NAMES, THERE WILL BE AT LEAST ONE (ROOT)
****
2)26 ;**;[1174] Replace @OVR7C+18L DZN 1-Jun-79
2) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
2)27 ;NOW FOR LINK NAMES, THERE WILL BE AT LEAST ONE (ROOT)
**************
1)27 PUSHJ P,ER.OOV## ;ERROR
1) HLRE T2,T1 ;GET BACK LENGTH
****
2)27 ;**;[1174] Replace @OVR7B+4L DZN 1-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 159
PCO Log Report
2) PUSHJ P,E$$OOV## ;[1174] ERROR
2) HLRE T2,T1 ;GET BACK LENGTH
**************
1)28 PUSHJ P,NO.COR## ;TOO BAD
1)29 OVR8A: MOVE T2,LS.UB ;GET TOP
****
2)28 PUSHJ P,E$$MEF## ;[1174] TOO BAD
2)29 OVR8A: MOVE T2,LS.UB ;GET TOP
**************
1)29 PUSHJ P,ER.IOV## ;ERROR
1) OVR8B: MOVEI T1,LS.IX ;NOW DELETE LOCAL SYMBOLS
****
2)29 ;**;[1174] Replace @OVR8A+23L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] ERROR
2) OVR8B: MOVEI T1,LS.IX ;NOW DELETE LOCAL SYMBOLS
**************
1)30 PUSHJ P,ER.IOV## ;INPUT ERROR
1) ADD T3,LC.LB ;POINT TO FIRST CS WORD
****
2)30 ;**;[1174] Replace @RDCST+18L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
2) ADD T3,LC.LB ;POINT TO FIRST CS WORD
**************
1)31 PUSHJ P,NO.COR##
1) HLRZ T1,R1 ;RESET EXCESS SIZE
****
2)31 PUSHJ P,E$$MEF## ;[1174]
2) HLRZ T1,R1 ;RESET EXCESS SIZE
**************
1)31 PUSHJ P,ER.IOV## ;INPUT ERROR
1) CPOPJ: POPJ P,
****
2)31 ;**;[1174] Replace @CPOPJ1+1L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
2) CPOPJ: POPJ P,
**************
1)31 PUSHJ P,ER.IOV## ;INPUT ERROR
1)32 RDREL: MOVE T1,RT.LB ;MAKE RT.PT SAME AS RT.LB
****
2)31 ;**;[1174] Replace @INPH+10L DZN 1-Jun-79
2) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
2)32 RDREL: MOVE T1,RT.LB ;MAKE RT.PT SAME AS RT.LB
**************
1)32 PJRST ER.IOV## ;I/O ERROR
1)33 OV2LIT:
1) END LNKOV2
****
2)32 ;**;[1174] Replace @RDREL1+5L DZN 1-Jun-79
2) PJRST E$$IOV## ;[1174] I/O ERROR
2)33 OV2LIT:
2) END LNKOV2
Digital Equipment Corporation 28-AUG-79 Page 160
PCO Log Report
**************
Digital Equipment Corporation 28-AUG-79 Page 161
PCO Log Report
[FILCOM]
File 1) LINK:LNKOVS.MAC[30,4507] created: 1439 07-Mar-1978
File 2) LINK:LNKOVS.MAC[10,645063] created: 1659 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG 27-Feb-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY TR.WLK
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY TR.WLK
**************
1)1 DECMVR==0 ;DEC MINOR VERSION
1) DECEVR==765 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL TREE WALK ROUTINE
****
2)2 ;START OF VERSION 4A
2) ;1174 Label and clean up all error messages.
2)3 SUBTTL TREE WALK ROUTINE
**************
1)6 PUSHJ P,NO.COR## ;SHOULD NOT HAPPEN
1) HRLI T1,(POINT 2) ;RESET BYTE PTR
****
2)6 PUSHJ P,E$$MEF## ;[1174] SHOULD NOT HAPPEN
2) HRLI T1,(POINT 2) ;RESET BYTE PTR
**************
1)7 ER.IOV::PUSH P,[OC]
1) .ERR. (ST,,V%L,L%F,S%F,IOV,<Input error for overlay fi
le>)
1) ER.OOV::PUSH P,[OC]
1) .ERR. (ST,,V%L,L%F,S%F,OOV,<Output error for overlay f
ile>)
1) ER.LNC::.ERR. (MS,.EC,V%L,L%F,S%F,LNC,<Link number >)
1) .ETC. (DEC,.EC!.EP,,,,P2)
1) .ETC. (STR,,,,,,< not in core>)
1) END
****
2)7 ;**;[1174] Replace @ER.IOV DZN 1-Jun-79
2) E$$IOV::PUSH P,[OC] ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 162
PCO Log Report
2) .ERR. (ST,,V%L,L%F,S%F,IOV,<Input error for overlay fi
le>)
2) E$$OOV::PUSH P,[OC] ;[1174]
2) .ERR. (ST,,V%L,L%F,S%F,OOV,<Output error for overlay f
ile>)
2) E$$LNM::.ERR. (MS,.EC,V%L,L%F,S%F,LNM,<Link number >) ;[1174]
2) .ETC. (DEC,.EC!.EP,,,,P2)
2) .ETC. (STR,,,,,,< not in memory>) ;[1174]
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 163
PCO Log Report
[FILCOM]
File 1) LINK:LNKPLT.MAC[30,4507] created: 1727 25-Aug-1978
File 2) LINK:LNKPLT.MAC[10,645063] created: 1700 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 25-Aug-78
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKPLT,GETSON
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKPLT,GETSON
**************
1)1 DECEVR==1113 ;DEC EDIT VERSION
1) SALL
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) SALL
**************
1)3 SUBTTL BLISS CONVENTIONS
****
2)2 ;1174 Label and clean up all error messages.
2)3 SUBTTL BLISS CONVENTIONS
**************
1)5 ;**;[1113] Insert after LNKPLT DZN 25-Aug-78
1) .ERR. (MS,0,V%L,L%I,S%I,POT,<Plotting overlay tree>)
1) ZAPTMP ;CLEAR TEMP AREA
****
2)5 ;**;[1174] Replace @LNKPLT+1L DZN 1-Jun-79
2) E$$POT::.ERR. (MS,0,V%L,L%I,S%I,POT,<Plotting overlay tree>) ;
[1174]
2) ZAPTMP ;CLEAR TEMP AREA
**************
Digital Equipment Corporation 28-AUG-79 Page 164
PCO Log Report
[FILCOM]
File 1) LINK:LNKSCN.MAC[30,4507] created: 2318 17-May-1979
File 2) LINK:LNKSCN.MAC[10,645063] created: 1743 11-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 17-May-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978, 1979 BY DIGITAL EQUIPMENT CORPORATION
, MAYNARD, MASS.
1) ENTRY LNKSCN
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKSCN
**************
1)1 DECEVR==1167 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL INITIALIZE SCANNER
****
2)3 ;1174 Label and clean up all error messages.
2)4 SUBTTL INITIALIZE SCANNER
**************
1)4 .ERR. (MS,0,V%L,L%I,S%I,SNL,<Scanning new command line
>)
1) SETZ T1, ;SCAN CAN USE TTCALLS
****
2)4 ;**;[1174] Replace @LNKSCN+15L DZN 1-Jun-79
2) E$$SNL::.ERR. (MS,,V%L,L%I,S%I,SNL,<Scanning new command line>
) ;[1174]
2) SETZ T1, ;SCAN CAN USE TTCALLS
**************
1)10 PUSHJ P,SWTERR ;NO, ERROR IN SWITCH MACRO
1) SUBI T2,2(T3) ;YES, T2 GETS WORDS LEFT OVER
****
2)10 ;**;[1174] Replace @**somewhere**+1P6L DZN 1-Jun-79
2) PUSHJ P,E$$IST ;[1174] NO, ERROR IN SWITCH MACR
O
2) SUBI T2,2(T3) ;YES, T2 GETS WORDS LEFT OVER
**************
1)11 SWTERR: .ERR. (MS,,V%L,L%F,S%F,IST,<Inconsistency in switch ta
ble>)
1)12 SUBTTL GENERATE SWITCH TABLES
****
2)11 ;**;[1174] Replace @SWTERR DZN 1-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 165
PCO Log Report
2) E$$IST::.ERR. (MS,,V%L,L%F,S%F,IST,<Inconsistency in switch ta
ble>) ;[1174]
2)12 SUBTTL GENERATE SWITCH TABLES
**************
1)15 TXTERR: .ERR. (MS,.EC,V%L,L%F,S%F,ITB,<Invalid text in ASCII B
lock in file >)
1) .ETC. (FSP,,,,,DC)
****
2)15 ;**;[1174] Replace @TXTERR DZN 1-Jun-79
2) E$$ITB::.ERR. (MS,.EC,V%L,L%F,S%F,ITB,<Invalid text in ASCII b
lock from file >) ;[1174]
2) .ETC. (FSP,,,,,DC)
**************
1)16 JUMPE C,TXTERR ;IF SCAN STILL WANTS MORE, GIVE
UP
1) POPJ P, ;ELSE RETURN IT THE CHARACTER
****
2)16 ;**;[1174] Replace @TXTKOM+6L DZN 1-Jun-79
2) JUMPE C,E$$ITB ;[1174] IF SCAN STILL WANTS MORE
, GIVE UP
2) POPJ P, ;ELSE RETURN IT THE CHARACTER
**************
Digital Equipment Corporation 28-AUG-79 Page 166
PCO Log Report
[FILCOM]
File 1) LINK:LNKSUB.MAC[30,4507] created: 0041 03-May-1979
File 2) LINK:LNKSUB.MAC[10,645063] created: 1702 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG 4-May-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
1) SEARCH LNKLOW,LNKPAR
1) CUSTVR==0 ;CUSTMER VERSIN
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) SEARCH LNKLOW,LNKPAR
2) ENTRY NPRIME
2) EXTERN LNKLOG
2) CUSTVR==0 ;CUSTMER VERSIN
**************
1)1 DECEVR==1161 ;DEC EDIT VERSION
1) SEGMENT
1) ENTRY NPRIME
1) EXTERN LNKLOG
1) SALL
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) SEGMENT
2) SALL
**************
1)3 ;HERE TO GET THE REQUIRED PRIME NUMBER INTO HT.PRM
****
2)2 ;1174 Label and clean up all error messages.
2)3 ;HERE TO GET THE REQUIRED PRIME NUMBER INTO HT.PRM
**************
1)3 JUMPE T1,PRMERR ;NONE THERE (0 IS END MARKER)
1) SKIPE HASHSZ ;SKIP IF NO USER SIZE REQUEST
****
2)3 ;**;[1174] Replace @NPRIME+4L DZN 1-Jun-79
2) JUMPE T1,E$$HTL ;[1174] NONE THERE (0 IS END MAR
KER)
2) SKIPE HASHSZ ;SKIP IF NO USER SIZE REQUEST
**************
1)3 PRMERR: .ERR. (MS,0,V%L,L%F,S%F,HTL,<Symbol hash table too lar
ge>)
1)4 SUBTTL TABLE OF PRIME NUMBER STORED 2 PER WORD
****
2)3 ;**;[1174] Replace @PRMERR DZN 1-Jun-79
2) E$$HTL::.ERR. (MS,0,V%L,L%F,S%F,HTL,<Symbol hash table too lar
Digital Equipment Corporation 28-AUG-79 Page 167
PCO Log Report
ge>) ;[1174]
2)4 SUBTTL TABLE OF PRIME NUMBER STORED 2 PER WORD
**************
1)9 TITLE LNK000 - DUMMY LINK10
1) SUBTTL D.M.NIXON/DMN 27-OCT-72
1) ENTRY LINK10
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
1) LINK10:
1) IFE FTSINGLE,<
****
2)10 TITLE LNK000 - DUMMY LINK
2) SUBTTL D.M.NIXON/DMN/DZN 8-Jun-79
2) ENTRY LINK ;[1174]
2) SEARCH LNKPAR,LNKLOW
2) SEGMENT
2) LINK: ;[1174]
2) IFE FTSINGLE,<
**************
1)9 SUBTTL D.M.NIXON/DMN/JNG 10-Apr-77
1) SEARCH LNKPAR,LNKLOW
****
2)19 SUBTTL D.M.NIXON/DMN/JNG/DZN 8-Jun-79
2) SEARCH LNKPAR,LNKLOW
**************
1)9 ENTRY ER.IOV
1) RT.INC:: LINKGO:: INPH:: RDCST:: ER.IOV:
1) RT.T2F:: RT.T2R:: RT.T2L:: RT.P3:: RT.P2:: RT.FX::
****
2)19 ;**;[1174] Replace @ER.IOV-1L DZN 1-Jun-79
2) ENTRY E$$IOV ;[1174]
2) RT.INC:: LINKGO:: INPH:: RDCST:: E$$IOV: ;[1174]
2) RT.T2F:: RT.T2R:: RT.T2L:: RT.P3:: RT.P2:: RT.FX::
**************
1)9 .ERR. (MS,,V%M,L%W,S%I,ONS,<OVERLAYS not supported in
this version of LINK>)
1) > ;END OF IFE FTOVERLAY
1) IFN FTOVERLAY,<
1) .ERR. (MS,,V%L,L%F,S%F,OMB,</OVERLAY switch must be fi
rst>)
1) > ;END OF IFN FTOVERLAY
****
2)19 ;**;[1174] Replace @RT.T2F+1L DZN 1-Jun-79
2) E$$ONS::.ERR. (MS,,V%L,L%W,S%I,ONS,<Overlays not supported in
this version of LINK>) ;[1174]
2) > ;END OF IFE FTOVERLAY
2) IFN FTOVERLAY,<
2) E$$OMB::.ERR. (MS,,V%L,L%F,S%F,OMB,</OVERLAY switch must be fi
rst>) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 168
PCO Log Report
2) > ;END OF IFN FTOVERLAY
**************
1)9 SUBTTL D.M.NIXON/DMN/JNG 17-Jul-75
1) ENTRY LNKF40
****
2)21 SUBTTL D.M.NIXON/DMN/JNG/DZN 8-Jun-79
2) ENTRY LNKF40
**************
1)9 JRST F40OVR ;YES, GIVE BETTER MESSAGE
1) >
1) .ERR. (MS,0,V%L,L%F,S%F,OFN,<Old FORTRAN (F40) module
not available.>)
1) IFN FTOVERLAY,<
1) F40OVR: .ERR. (MS,.EC,V%L,L%F,S%F,FOV)
1) .ETC. (SBX,.EP,,,,PRGNAM)
1) >
1) END
****
2)21 ;**;[1174] Replace @T.401+4L DZN 1-Jun-79
2) JRST E$$FOV## ;[1174] YES, GIVE BETTER
MESSAGE
2) >
2) E$$OFN::.ERR. (MS,.EC,V%L,L%F,S%F,OFN,<Old FORTRAN (F40) modul
e not available>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 169
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1558 10-Jun-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1614 11-Jun-1979
1)1 ;COPYRIGHT (C) 1973, 1978, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
1) ENTRY LNKWLD
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
2) ENTRY LNKWLD
**************
1)1 EXTERN LNKFIO,LNKCOR,LNKLOG,LNKMAP
1) CUSTVR==0 ;CUSTOMER VERSION
****
2)1 EXTERN LNKFIO,LNKCOR,LNKLOG,LNKMAP,TTYCHK
2) CUSTVR==0 ;CUSTOMER VERSION
**************
1)1 DECEVR==1173 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) ;CALLING SEQUENCE
**************
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)3 ;1174 Label and clean up all error messages.
2)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)7 PUSHJ P,LKPERR## ;GIVE ERROR MESSAGE
1) ;**;[1101] Insert @ LDFS1+3L JNG 29-May-78
****
2)7 ;**;[1174] Replace @LDFS1+2L DZN 30-May-79
2) PUSHJ P,E01FLE## ;[1174] GIVE ERROR MESSAGE
2) ;**;[1101] Insert @ LDFS1+3L JNG 29-May-78
**************
1)17 JRST CORE3 ;[650] OK, TELL USER
1) MOVE T2,T1 ;[650] NOW TRY VIRTUALLY
****
2)17 ;**;[1174] Replace @%CORE+12L DZN 3-Jun-79
2) JRST E02EXP ;[1174] OK, TELL USER
2) MOVE T2,T1 ;[650] NOW TRY VIRTUALLY
**************
1)17 CORE3: .ERR. (MS,.EC,V%L,L%I,S%I,EXP)
1) .ETC. (COR,.EP,,,,.JBREL)
****
2)17 ;**;[1174] Replace @CORE3 DZN 3-Jun-79
2) E02EXP::.ERR. (MS,.EC,V%L,L%I,S%I,EXP) ;[1174]
2) .ETC. (COR,.EP,,,,.JBREL)
**************
1)18 %COUNTER:
Digital Equipment Corporation 28-AUG-79 Page 170
PCO Log Report
****
2)18 SUBTTL SWITCH ACTION -- /COUNTER
2) ;/COUNTER CAUSES LINK TO PRINT A LIST OF ALL CURRENT RELOCATION
COUNTERS, THEIR
2) ;INITIAL VALUES AND THEIR CURRENT VALUES. THIS IS DONE BY USING
A .ETC. MACRO
2) ;LOOP TO PRINT EACH COUNTER LINE.
2) %COUNTER:
**************
1)18 HRRZ T1,LOWSUB ;[605] TTY OUTSTR ROUTINE
1) PUSHJ P,.TYOCH## ;ONLY ON TTY
1) PUSH P,T1 ;SAVE IT
1) MOVEI R1,1 ;START AT 1 (COUNTER .LOW.)
1) MOVEI T1,[ASCIZ \[LNKRLC Reloc. CTR. initial value
current value (octal)]
1) \]
1) PUSHJ P,.TSTRG## ;OUTPUT HEADER
1) COUNT1: SKIPN R2,@RC.TB ;SEE IF ANYTHING THERE?
1) JRST COUNT3 ;NO
1) PUSHJ P,.TTABC##
1) MOVE T1,RC.NM(R2) ;GET NAME
1) PUSHJ P,.TSIXN## ;YES
1) PUSHJ P,.TTABC## ;TAB TO SEPARATE
1) PUSHJ P,.TTABC##
1) COUNT2: MOVE T1,RC.IV(R2) ;INITIAL VALUE
1) PUSHJ P,.T6OCT##
1) PUSHJ P,.TTABC##
1) PUSHJ P,.TTABC##
1) MOVE T1,RC.AT(R2) ;[755] GET PSECT ATTRIBUTE
1) TXNE T1,AT.OV ;[755] HAVE AN OVERLAYABLE PSECT
?
1) SKIPN T1,RC.HL(R2) ;[755] YES, USE HIGHEST LOCATION
INSTEAD
1) MOVE T1,RC.CV(R2) ;CURRENT VALUE
1) PUSHJ P,.T6OCT##
1) PUSHJ P,.TCRLF## ;CLOSE LINE
1) CAMGE R1,RC.NO ;ALL DONE?
1) AOJA R1,COUNT1 ;NO
1) COUNT3: POP P,T1 ;GET BACK TYPE OUT ROUTINE
1) PJRST .TYOCH## ;RETURN
1) %CPU:
****
2)18 ;**;[1174] Revamp @.COUNTER+1L DZN 3-Jun-79
2) MOVEI R,1 ;[1174] START AT 1 (COUNTER .LOW
.)
2) E$$RLC::.ERR. (MS,.EC,V%L,L%F,S%I,RLC,<Reloc. ctr. initial
value current value>) ;[1174]
2) COUNEX: .ETC. (XCT,.EC,,,,<[PUSHJ P,COUNGT]>) ;[1174] ANY MORE
TO PRINT?
Digital Equipment Corporation 28-AUG-79 Page 171
PCO Log Report
2) .ETC. (JMP,.EC,,,,COUNDN) ;[1174] NO--DONE
2) .ETC. (NLN,.EC) ;[1174] YES--NEW LINE FOR IT
2) .ETC. (SBX,.EC!.EP,,,,W1) ;[1174] RELOCATION COUNTER N
AME
2) .ETC. (STR,.EC,,,,,< >) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,W2) ;[1174] INITIAL VALUE
2) .ETC. (STR,.EC,,,,,< >) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,W3) ;[1174] CURRENT VALUE
2) .ETC. (JMP,.EC,,,,COUNEX) ;[1174] LOOP FOR REST
2) COUNDN: .ETC. (STR,,,,,<>) ;[1174] JUST A DUMMY TO JUMP TO
2) POPJ P, ;[1174] DONE
2) ;COUNGT IS CALLED FROM THE ABOVE LNKRLC MESSAGE TO FIND THE
NEXT RELOCATION
2) ;COUNTER VALUES, IF ANY.
2) ;
2) ;CALL:
2) ; R/ RELOCATION COUNTER TO CHECK
2) ;RETURNS NON-SKIP IF NO MORE, OR SKIP WITH:
2) ; W1/ NAME OF RELOCATION COUNTER
2) ; W2/ INITIAL VALUE
2) ; W3/ CURRENT VALUE
2) ; R/ INCREMENTED FOR NEXT TIME
2) COUNGT: CAMG R,RC.NO ;[1174] ANY MORE?
2) SKIPN R2,@RC.TB ;[1174] ..
2) POPJ P, ;[1174] NO--NON-SKIP RETURN
2) MOVE W1,RC.NM(R2) ;[1174] FETCH RELOCATION COUNTER
NAME
2) MOVE W2,RC.IV(R2) ;[1174] FETCH INITIAL VALUE
2) MOVE T1,RC.AT(R2) ;[1174] IF OVERLAID PSECT
2) TXNE T1,AT.OV ;[1174] ..
2) SKIPN W3,RC.HL(R2) ;[1174] THEN TRY HIGHEST SEEN SO
FAR
2) MOVE W3,RC.CV(R2) ;[1174] ELSE JUST USE CURRENT VA
LUE
2) AOJA R,CPOPJ1 ;[1174] ADV TO NEXT AND GIVE SKI
P RETURN
2)19 SUBTTL SWITCH ACTION -- /CPU:, /CRLF:
2) %CPU:
**************
1)21 ERJMP TXDDTR ;[1144] FAILED
1) PUSH P,T1 ;[1144] SAVE JFN FOR UDDT
****
2)22 ;**;[1174] Replace @MAPDD1+3L DZN 3-Jun-79
2) ERJMP E$$DNA ;[1174] FAILED
2) PUSH P,T1 ;[1144] SAVE JFN FOR UDDT
**************
1)21 TXDDTR: .ERR. (MS,,V%L,L%F,S%F,DNA,<DDT not available>)
1) >
****
Digital Equipment Corporation 28-AUG-79 Page 172
PCO Log Report
2)22 ;**;[1174] Replace @TXDDTR DZN 3-Jun-79
2) E$$DNA::.ERR. (MS,,V%L,L%F,S%F,DNA,<DDT not available>) ;[1174
]
2) >
**************
1)22 DEBTBL: KEYWORDS
1) ;HERE FOR /DDEBUG
****
2)23 ;**;[1174] Replace @DEBTBL-1L DZN 5-Jun-79
2) XALL ;[1174]
2) DEBTBL: KEYWORDS
2) SALL ;[1174]
2) ;HERE FOR /DDEBUG
**************
1)23 JRST ZSVERR ;ZERO IS INVALID
1) MOVE W3,3(P2) ;AND VALUE
****
2)24 ;**;[1174] Replace @%DEFINE+4L DZN 3-Jun-79
2) JRST E$$ZSV ;[1174] ZERO IS INVALID
2) MOVE W3,3(P2) ;AND VALUE
**************
1)24 PUSHJ P,.SAVE4## ;SAVE P1-P4
1) MOVE P2,HT.PRM ;GET INDEX INTO HASH TABLE
1) HRRZ T1,LOWSUB ;[605] TTY OUTSTR ROUTINE ADDRES
S
1) PUSHJ P,.TYOCH## ;TYPE-OUT ON TTY ONLY
1) PUSH P,T1 ;SAVE IT
1) PUSH P,[-1] ;MARKER FOR NO ENTRIES
1) ENTRY1: SKIPN P3,@HT.PTR ;GET POINTER TO SYMBOL
1) JRST ENTRY3 ;NO POINTER, NO SYMBOL
1) ADD P3,GS.LB ;ADD IN BASE
1) MOVE T1,0(P3) ;GET FLAGS
1) TXNE T1,PT.SYM ;WE ONLY WANT SYMBOLS
1) TXNN T1,PS.ENT ;SEE IF AN ENTRY
1) JRST ENTRY3 ;NO
1) AOSE (P) ;FIRST TIME
1) JRST ENTRY2 ;NO
1) MOVEI T1,ENTHDR
1) PUSHJ P,.TSTRG## ;YES, OUTPUT HEADER LINE
1) MOVEI T1,ENTMES
1) PUSHJ P,.TSTRG##
1) ENTRY2: PUSHJ P,.TTABC##
1) MOVE T1,1(P3) ;GET SYMBOL
1) PUSHJ P,.TSIXN## ;SIXBIT WORD
1) PUSHJ P,.TTABC## ;TAB
1) MOVE T1,2(P3) ;VALUE
1) PUSHJ P,.TOCTW## ;IN OCTAL
1) PUSHJ P,.TCRLF## ;NEW LINE
1) ENTRY3: SOJGE P2,ENTRY1 ;LOOP IF MORE SYMBOLS TO LOOK AT
Digital Equipment Corporation 28-AUG-79 Page 173
PCO Log Report
1) SKIPL (P) ;-1 IF NONE SEEN
1) JRST ENTRY4
1) MOVEI T1,ENTHDR
1) PUSHJ P,.TSTRG##
1) MOVEI T1,[ASCIZ \No \]
1) PUSHJ P,.TSTRG## ;FAILED TO FIND ANY
1) MOVEI T1,ENTMES ;REST OF MESSAGE
1) PUSHJ P,.TSTRG##
1) ENTRY4: POP P,T1 ;CLEAR STACK
1) POP P,T1 ;RESTORE OLD TYPE-OUT ROUTINE
1) PJRST .TYOCH## ;AND RETURN
1) ENTHDR: ASCIZ \[LNKLSS \
1) ENTMES: ASCIZ \Library Search Symbols (Entry points)]
1) \
1)25 %ESTIMATE:
****
2)25 ;**;[1174] Revamp @.ENTRY+1L DZN 5-Jun-79
2) MOVE T1,[PUSHJ P,ENTNXT] ;[1174] SET UP NEXT SYMBOL R
OUTINE
2) MOVEM T1,NXTGLB ;[1174] ..
2) MOVE W3,HT.PRM ;[1174] GET INDEX TO HASH TABLE
2) ADDI W3,1 ;[1174] START 1 UP FOR SOSGE BEL
OW
2) PUSHJ P,ENTNXT ;[1174] GET NEXT (FIRST) ENTRY P
OINT
2) PJRST E01LSS ;[1174] NONE THERE--GO SAY SO
2) E$$LSS::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,LSS) ;[1174]
2) .ETC. (STR,.EC,,,,,<Library search symbols (entry poin
ts)>) ;[1174]
2) .ETC. (JMP,.EC,,,,.ETSAV##) ;[1174] GO PRINT SYMBOLS A
ND VALUES
2) ;ENTNXT IS CALLED FROM THE ABOVE .ERR. TO RETURN THE NEXT ENTRY
POINT SYMBOL AND
2) ;VALUE.
2) ;
2) ;CALL:
2) ; W3/ NEXT HASH TABLE INDEX TO LOOK AT
2) ;RETURNS WITH NON-SKIP IF NO MORE, OTHERWISE SKIP RETURN WITH:
2) ; W1/ NAME OF NEXT ENTRY POINT
2) ; W2/ VALUE OF ABOVE
2) ; W3/ UPDATED
2) ENTNXT: PUSHJ P,.SAVE4## ;[1174] SAVE LNKLOG'S P ACS
2) ENTLUP: SOSGE P2,W3 ;[1174] ANY MORE TABLE TO CHECK?
2) POPJ P, ;[1174] NO--DONE WITH NON-SKIP R
ETURN
2) SKIPN P3,@HT.PTR ;[1174] GET POINTER TO GS TRIPLE
T
2) JRST ENTLUP ;[1174] NONE THERE--TRY NEXT POI
NTER
2) ADD P3,GS.LB ;[1174] RELOCATE IN CASE IT MOVE
D
Digital Equipment Corporation 28-AUG-79 Page 174
PCO Log Report
2) MOVE T1,0(P3) ;[1174] DO FLAGS SAY SYMBOL AND
ENTRY?
2) TXNE T1,PT.SYM ;[1174] ..
2) TXNN T1,PS.ENT ;[1174] ..
2) JRST ENTLUP ;[1174] NO--TRY NEXT POINTER
2) MOVE W1,1(P3) ;[1174] YES--A WINNER! SET UP SY
MBOL NAME
2) MOVE W2,2(P3) ;[1174] AND VALUE
2) JRST CPOPJ1 ;[1174] DONE WITH SKIP RETURN
2) E01LSS::.ERR. (MS,.EC,V%L,L%F,S%I,LSS) ;[1174]
2) .ETC. (STR,,,,,,<No library search symbols (entry poin
ts)>) ;[1174]
2) POPJ P, ;[1174] DONE
2)26 %ESTIMATE:
**************
1)26 JRST ZSVERR ;ZERO IS INVALID
1) MOVEI T1,EXCPTR ;GET INITIAL POINTER
****
2)27 ;**;[1174] Replace @%EXCLUDE+2L DZN 3-Jun-79
2) JRST E$$ZSV ;[1174] ZERO IS INVALID
2) MOVEI T1,EXCPTR ;GET INITIAL POINTER
**************
1)31 JRST MAXERR ;AND IGNORE IF TOO SMALL
1) MOVEM T2,MAXCOR ;STORE MAXIMUM INCORE SIZE
****
2)32 ;**;[1174] Replace @MAXCORE+28L DZN 3-Jun-79
2) JRST E$$MTS ;[1174] AND IGNORE IF TOO SMALL
2) MOVEM T2,MAXCOR ;STORE MAXIMUM INCORE SIZE
**************
1)31 .ERR. (MS,.EC,V%L,L%W,S%W,MTB,<MAXCOR too big, >)
1) .ETC. (COR,.EC!.EP,,,,T2)
****
2)32 ;**;[1174] Replace @MAXCORE+35L DZN 3-Jun-79
2) E$$MTB::.ERR. (MS,.EC,V%L,L%W,S%W,MTB,</MAXCOR: too big, >) ;[
1174]
2) .ETC. (COR,.EC!.EP,,,,T2)
**************
1)31 MAXERR: .ERR. (MS,.EC,V%L,L%W,S%W,MTS,<MAXCOR too small, at le
ast >)
1) .ETC. (COR,.EC!.EP,,,,T1)
****
2)32 ;**;[1174] Replace @MAXERR DZN 3-Jun-79
2) E$$MTS::.ERR. (MS,.EC,V%L,L%W,S%W,MTS,</MAXCOR: too small, at
least >) ;[1174]
2) .ETC. (COR,.EC!.EP,,,,T1)
**************
1)34 JRST TDS ;TOO LATE TO CHANGE NOW
1) ;RESET GLOBAL SPACE
****
Digital Equipment Corporation 28-AUG-79 Page 175
PCO Log Report
2)35 ;**;[1174] Replace @%NOINITIAL+9L DZN 3-Jun-79
2) JRST E$$TDS ;[1174] TOO LATE TO CHANGE NOW
2) ;RESET GLOBAL SPACE
**************
1)34 TDS: .ERR. (MS,,V%L,L%W,S%W,TDS,<Too late to delete initial
symbols>)
1) POPJ P,
****
2)35 ;**;[1174] Replace @TDS DZN 3-Jun-79
2) E$$TDS::.ERR. (MS,,V%L,L%W,S%W,TDS,<Too late to delete initial
symbols>) ;[1174]
2) POPJ P,
**************
1)36 JRST ZSVERR ;ZERO IS INVALID
1) SETZ W3, ;ZERO VALUE FOR DUMMY REQUEST
****
2)37 ;**;[1174] Replace @%REQUIRE+4L DZN 3-Jun-79
2) JRST E$$ZSV ;[1174] ZERO IS INVALID
2) SETZ W3, ;ZERO VALUE FOR DUMMY REQUEST
**************
1)39 JRST SETU ;NOT DEFINED
1) JRST SETU
1) MOVE W2,W3 ;RECOVER W2
****
2)40 ;**;[1174] Replace @.SET0+8L DZN 3-Jun-79
2) JRST SETUND ;[1174] NOT DEFINED
2) JRST SETUND ;[1174]
2) MOVE W2,W3 ;RECOVER W2
**************
1)39 JRST SETL ;YES, DO NOT ALLOW IT
1) MOVE W1,RC.CV(R2) ;GET VALUE
1) .ERR. (MS,.EC,V%L,L%W,S%W,DRC,<Decreasing relocation c
ounter >)
1) .ETC. (SBX,.EC!.EP,,,,W2)
****
2)40 ;**;[1174] Replace @SET1+12L DZN 3-Jun-79
2) JRST E$$SRB ;[1174] YES, DO NOT ALLOW IT
2) MOVE W1,RC.CV(R2) ;GET VALUE
2) E$$DRC::.ERR. (MS,.EC,V%L,L%W,S%W,DRC,<Decreasing relocation c
ounter >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
**************
1)39 .ETC. (OCT,.EP,,,,W3)
1) JRST SET4 ;AND CONTINUE
****
2)40 .ETC. (OCT,.EC!.EP,,,,W3) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) JRST SET4 ;AND CONTINUE
**************
Digital Equipment Corporation 28-AUG-79 Page 176
PCO Log Report
1)40 ;**;[1172] Delete @ SET3+6L JNG 5-Jun-79
1) ;**;[1155] Replace @ SET3+8L JNG 13-Apr-79
****
2)41 ;**;[1172] Delete @SET3+6L JNG 5-Jun-79
2) ;**;[1155] Replace @ SET3+8L JNG 13-Apr-79
**************
1)40 SETU: .ERR. (MS,.EC,V%L,L%F,S%F,RCU,<Relocation counter >)
1) .ETC. (SBX,.EC!.EP,,,,W3)
1) .ETC. (STR,.EC,,,,,< undefined, set to >)
1) .ETC. (SBX,.EP,,,,W2)
1) ;**;[1132] Delete @ SETE JNG 30-Jan-79
1) SETL: .ERR. (MS,.EC,V%L,L%W,S%W,SRB,<Attempt to set >)
1) .ETC. (SBX,.EC!.EP,,,,W2) ;
1) .ETC. (STR,.EC,,,,,< below initial value of >)
1) .ETC. (OCT,.EP,,,,W1) ;
1) POPJ P, ;IGNORE SWITCH
****
2)41 ;**;[1174] Replace @SETU DZN 3-Jun-79
2) SETUND: MOVEI T1,[ASCIZ /SET:/] ;[1174] SIGNAL UNDEFINED SYMBO
L ERROR
2) JRST E$$USI ;[1174] ..
2) ;**;[1132] Delete @ SETE JNG 30-Jan-79
2) ;**;[1174] Replace @SETL DZN 3-Jun-79
2) E$$SRB::.ERR. (MS,.EC,V%L,L%W,S%W,SRB,<Attempt to set relocati
on counter >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2) ;
2) .ETC. (STR,.EC,,,,,< below initial value of >)
2) .ETC. (OCT,.EC!.EP,,,,W1) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) POPJ P, ;IGNORE SWITCH
**************
1)41 JRST STARTU ;NO
1) JRST STARTU ;UNDEFINED
1) MOVE T2,2(P1) ;GET VALUE
****
2)42 ;**;[1174] Replace @STARTS+4L DZN 3-Jun-79
2) JRST E$$USA ;[1174] NO
2) JRST E$$USA ;[1174] UNDEFINED
2) MOVE T2,2(P1) ;GET VALUE
**************
1)41 STARTU::.ERR. (MS,.EC,V%L,L%W,S%W,USA,<Undefined start address
>)
1) .ETC. (SBX,.EP,,,,W2)
1) POPJ P,
****
2)42 ;**;[1174] Replace @STARTU DZN 3-Jun-79
2) E$$USA::.ERR. (MS,.EC,V%L,L%W,S%W,USA,<Undefined start address
>) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 177
PCO Log Report
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) POPJ P,
**************
1)42 .ERR. (MS,,V%M,L%W,S%W,SLS,<Symbols must be in low seg
ment>)
1) MOVEI T2,$SEGLOW ;PUT THEM IN LOW SEG
****
2)43 ;**;[1174: Replace @.SYMSEG+6L DZN 3-Jun-79
2) E$$OSL::.ERR. (MS,,V%L,L%W,S%W,OSL,<Overlaid program symbols m
ust be in low segment>) ;[1174]
2) MOVEI T2,$SEGLOW ;PUT THEM IN LOW SEG
**************
1)43 %UNDEFINED:
****
2)44 SUBTTL SWITCH ACTION -- /UNDEFINED
2) %UNDEFINED:
**************
1)43 PUSHJ P,.SAVE4## ;INCASE WE NEED THEM
1) HRRZ T1,LOWSUB ;[605] ON TTY ONLY
1) PUSHJ P,.TYOCH## ;INITIALIZE
1) PUSH P,T1 ;STORE OLD
1) MOVEI T1,[ASCIZ \[LNKUGS \]
1) MOVEI P2,"]"
1) UNDEF1::PUSHJ P,.TSTRG## ;TYPE IDENTIFIER
1) MOVE P1,USYM ;GET NUMBER OF UNDEFS IN A PRESE
RVED AC
1) SKIPE T1,P1 ;WHERE SCAN EXPECTS NUMBER
1) PUSHJ P,.TDECW## ;TYPE NO. UNLESS 0
1) MOVE T1,P1 ;GET UNDEFS AGAIN
1) CAILE T1,2 ;LEAVE 0 OR 1 ALONE
1) MOVEI T1,2 ;SET INDEX TO 0,1, OR 2
1) MOVE T1,UNDTAB(T1) ;GET ADDRESS
1) PUSHJ P,.TSTRG## ;OUTPUT MESSAGE
1) SKIPE T1,P2 ;GET TERMINATOR
1) PUSHJ P,.TCHAR## ;CLOSE IF "]"
1) PUSHJ P,.TCRLF## ;AND CR-LF
1) JUMPE P1,UNDF3 ;DONE IF NONE LEFT
1) SKIPA P2,HT.PRM ;GET INDEX INTO HASH TABLE
1) UNDF1: SKIPN P3,@HT.PTR ;GET POINTER TO SYMBOL
1) JRST UNDF2 ;NO POINTER, NO SYMBOL
1) ADD P3,GS.LB ;ADD IN BASE
1) MOVE T1,0(P3) ;GET FLAGS
1) TXNE T1,PT.SYM ;WE ONLY WANT SYMBOLS
1) TXNN T1,PS.UDF!PS.REQ ;SEE IF UNDEFINED STILL
1) JRST UNDF2 ;NO
1) PUSHJ P,.TTABC## ;OFFSET EACH LINE
1) MOVE T1,1(P3) ;GET SYMBOL
1) PUSHJ P,.TSIXN## ;SIXBIT WORD
1) PUSHJ P,.TTABC## ;TAB
Digital Equipment Corporation 28-AUG-79 Page 178
PCO Log Report
1) MOVE T1,2(P3) ;VALUE
1) PUSHJ P,.TOCTW## ;IN OCTAL
1) PUSHJ P,.TCRLF## ;NEW LINE
1) IFE DEBSW,< ;IF DEBUGGING SCAN ALL OF TABLE
1) SOJLE P1,UNDF3 ;DONE IF NO MORE UNDFS
1) ;INCASE COUNT OFF>
1) UNDF2: SOJGE P2,UNDF1 ;LOOP IF MORE SYMBOLS TO LOOK AT
1) UNDF3: POP P,T1 ;RESTORE OLD TYO ROUTINE
1) PJRST .TYOCH##
1) UNDTAB: [ASCIZ /No undefined global symbols/]
****
2)44 ;**;[1174] Revamp @.UNDEFINED+1L DZN 6-Jun-79
2) MOVE T1,[PUSHJ P,UNDNXT] ;[1174] SET UP NEXT SYMBOL R
OUTINE
2) MOVEM T1,NXTGLB ;[1174] ..
2) MOVE W3,HT.PRM ;[1174] SET UP INDEX TO HASH TAB
LE
2) ADDI W3,1 ;[1174] SET UP BY 1 FOR SOSGE BE
LOW
2) E$$UGS::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,UGS) ;[1174]
2) .ETUGS::.ETC. (XCT,.EC,,,,<[PUSHJ P,UNDHDR]>) ;[1174] PRINT HE
ADER AND SEE IF ANY SYMBOLS
2) .ETC. (JMP,.EC,,,,.ETDON##) ;[1174] NO UNDEFINED SYMBO
LS
2) .ETC. (JMP,,,,,.ETSAV##) ;[1174] GO PRINT SYMBOLS AND
VALUES
2) ;UNDHDR PRINTS THE APPROPRIATE HEADER FOR THE LNKUGS MESSAGE (E
ITHER NO, 1 OR N
2) ;UNDEFINED GLOBALS). THE CARDINALITY OF THE HEADER IS DETERMINE
D BY LOOKING AT
2) ;USYM, WHICH SOMETIMES GETS OUT OF SYNC WITH THE ACTUAL GS TA
BLE. BUT UNDNXT
2) ;(BELOW) PRINTS ALL UNDEFINED GLOBALS REGARDLESS.
2) UNDHDR: SKIPN T1,USYM ;[1174] ANY SYMBOLS TO PRINT?
2) JRST UNDHD1 ;[1174] NO--PRINT 'NO' INSTEAD O
F '0'
2) OUTVIA .TDECW## ;[1174] PRINT NUMBER OF UNDEFINE
D GLOBALS
2) UNDHD1: MOVE T1,USYM ;[1174] GET NUMBER OF UNDEFS BAC
K
2) CAILE T1,2 ;[1174] TURN MANY INTO 2 FOR HEA
DER MESSAGE
2) MOVEI T1,2 ;[1174] ..
2) MOVE T1,UNDTAB(T1) ;[1174] GET PROPER HEADER MESSAG
E
2) OUTVIA .TSTRG## ;[1174] PRINT IT
2) PJRST UNDNXT ;[1174] RETURN, SETTING UP FIRST
SYMBOL
2)45 ;UNDNXT RETURNS THE NEXT UNDEFINED SYMBOL AND ITS VALUE.
2) ;
2) ;CALL:
Digital Equipment Corporation 28-AUG-79 Page 179
PCO Log Report
2) ; W3/ NEXT HASH TABLE INDEX TO CHECK
2) ;RETURNS WITH A NON-SKIP RETURN IF NO MORE SYMBOLS. OTHERWISE
, RETURNS WITH A
2) ;SKIP RETURN WITH:
2) ; W1/ SIXBIT SYMBOL NAME
2) ; W2/ OCTAL VALUE
2) ; W3/ UPDATED
2) UNDNXT::PUSHJ P,.SAVE4## ;[1174] SAVE LNKLOG'S P ACS
2) UGSLUP: SOSGE P2,W3 ;[1174] ANY MORE SYMBOLS TO CHEC
K?
2) POPJ P, ;[1174] NO--NON-SKIP RETURN
2) SKIPN P3,@HT.PTR ;[1174] ANY SYMBOL HERE?
2) JRST UGSLUP ;[1174] NO--TRY NEXT
2) ADD P3,GS.LB ;[1174] YES--RELOCATE SO WE CAN
LOOK AT IT
2) MOVE T1,0(P3) ;[1174] GET SYMBOL'S FLAGS
2) TXNE T1,PT.SYM ;[1174] MUST BE A SYMBOL AND UND
EFINED
2) TXNN T1,PS.UDF!PS.REQ;[1174] ..
2) JRST UGSLUP ;[1174] NO--TRY NEXT
2) MOVE W1,1(P3) ;[1174] YES--A WINNER!! SET UP S
YMBOL'S NAME
2) MOVE W2,2(P3) ;[1174] AND VALUE
2) JRST CPOPJ1 ;[1174] DONE--GIVE SKIP RETURN
2) UNDTAB: [ASCIZ /No undefined global symbols/]
**************
1)47 %VALUE:
****
2)49 SUBTTL /VALUE:SYMBOL
2) ;/VALUE:SYMBOL PRINTS THE VALUE OF THE SYMBOL (IF IT HAS ONE
YET), ALONG WITH
2) ;SOME STATUS INFORMATION (E.G., COMMON).
2) %VALUE:
**************
1)47 PUSHJ P,.SAVE4## ;SAVE P1-P4
1) MOVX W1,PT.SGN!PT.SYM ;SET FLAGS
1) SKIPN W2,T2 ;SYMBOL
1) JRST ZSVERR ;ZERO IS INVALID
1) SETZ W3, ;[605] VALUE 0 UNLESS LONG SYMBO
L
1) HRRZ T1,LOWSUB ;[605] USE OUTSTR'S
1) PUSHJ P,.TYOCH## ;INIT TTY
1) PUSH P,T1 ;SAVE OLD ROUTINE
1) MOVEI T1,[ASCIZ \[LNKVAL \]
1) PUSHJ P,.TSTRG##
1) MOVE T1,W2 ;SYMBOL
1) PUSHJ P,.TSIXN## ;IN SIXBIT
1) PUSHJ P,.TTABC## ;SEPARATED BY TAB
1) PUSHJ P,TRYSYM## ;SEE IF IN TABLE
Digital Equipment Corporation 28-AUG-79 Page 180
PCO Log Report
1) JRST UNVALU ;SYMBOL UNKNOWN
1) JRST UDVALU ;SYMBOL UNDEFINED
1) MOVE T1,2(P1) ;GET VALUE
1) PUSHJ P,.TOCTW## ;TYPE IN OCTAL
1) MOVE T1,0(P1) ;GET PRIMARY FLAGS
1) TXNE T1,PS.COM ;COMMON?
1) JRST CMVALU ;YES
1) MOVEI T1,[ASCIZ / defined]/]
1) VALOUT: PUSHJ P,.TSTRG## ;AND DEFINED MESSAGE
1) PUSHJ P,.TCRLF## ;FINISH WITH A CR-LF
1) POP P,T1 ;RESTORE OLD
1) PJRST .TYOCH##
1) CMVALU: MOVEI T1,[ASCIZ / common, length /]
1) PUSHJ P,.TSTRG##
1) MOVE T1,.L+2(P1) ;LENGTH
1) PUSHJ P,.TDECW## ;IN DECIMAL
1) MOVEI T1,[ASCIZ \ (decimal)]\]
1) JRST VALOUT ;INFORM USER
1) UNVALU: MOVEI T1,[ASCIZ /unknown]/]
1) JRST VALOUT
1) UDVALU: MOVE T1,2(P1) ;GET VALUE
1) PUSHJ P,.TOCTW## ;IN OCTAL
1) MOVEI T1,[ASCIZ / undefined]/]
1) JRST VALOUT
1)48 ;**;[1122] Replace @%VERSION DZN 5-Oct-78
****
2)49 ;**;[1174] Revamp @.VALUE+1L DZN 3-Jun-79
2) MOVX W1,PT.SGN!PT.SYM ;SET FLAGS
2) SKIPN W2,T2 ;[1174] SET UP SYMBOL FOR TRYSYM
AND CHECK FOR 0
2) JRST E$$ZSV ;[1174] ZERO IS INVALID
2) SETZ W3, ;[605] VALUE 0 UNLESS LONG SYMBO
L
2) E$$VAL::.ERR. (MS,.EC,V%L,L%F,S%I,VAL,<Symbol >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2) ;[1174]
2) .ETC. (ASC,.EC,,,,.CHTAB) ;[1174]
2) .ETC. (XCT,,,,,<[PUSHJ P,VALOUT]>) ;[1174] THE REST IS
COMPLEX
2) POPJ P, ;[1174] DONE
2) ;VALOUT IS CALLED FROM THE MIDDLE OF THE ABOVE .ERR. MESS
AGE TO PRINT THE
2) ;VARIABLE PORTION OF THE MESSAGE.
2) VALOUT: PUSHJ P,.SAVE4## ;[1174] SAVE LNKLOG'S P ACX
2) PUSHJ P,TRYSYM## ;SEE IF IN TABLE
2) JRST VALOND ;[1174] SYMBOL NEVER DEFINED
2) JRST VALOUN ;[1174] SYMBOL UNDEFINED
2) MOVE T1,2(P1) ;[1174] PRINT VALUE IN OCTAL
2) OUTVIA .TOCTW## ;[1174] ..
2) MOVE T1,0(P1) ;[1174] CHECK FOR COMMON BLOCKS
Digital Equipment Corporation 28-AUG-79 Page 181
PCO Log Report
2) TXNE T1,PS.COM ;[1174] ..
2) JRST VALOCM ;[1174] GO PRINT LENGTH OF COMMO
N
2) MOVEI T1,[ASCIZ / defined/] ;[1174] OTHERWISE JUST
ORDINARY SYMBOL
2) VALOST: OUTVIA .TSTRG## ;[1174] PRINT STATUS OF SYMBOL
2) POPJ P, ;[1174] DONE
2) VALOCM: MOVEI T1,[ASCIZ / common, length /] ;[1174] START
STATUS OF SYMBOL
2) OUTVIA .TSTRG## ;[1174] ..
2) MOVE T1,.L+2(P1) ;[1174] PRINT LENGTH IN DECIMAL
2) OUTVIA .TDECW## ;[1174] ..
2) MOVEI T1,[ASCIZ /./] ;[1174] A DOT TO INDICATE DECIMA
L
2) PJRST VALOST ;[1174] GO PRINT STATUS AND RETU
RN
2) VALOND: MOVEI T1,[ASCIZ /unknown/] ;[1174] HAVEN'T SEEN THE SY
MBOL YET
2) PJRST VALOST ;[1174] GO PRINT STATUS AND RETU
RN
2) VALOUN: MOVE T1,2(P1) ;[1174] PRINT VALUE IN OCTAL
2) OUTVIA .TOCTW## ;[1174] ..
2) MOVEI T1,[ASCIZ / undefined/] ;[1174] ONLY SEEN RE
FERENCES SO FAR
2) PJRST VALOST ;[1174] GO PRINT STATUS AND RETU
RN
2)50 ;**;[1122] Replace @%VERSION DZN 5-Oct-78
**************
1)51 .ERR. (MS,0,V%L,L%W,S%W,IMA,<Incremental maps not yet
available>)
1) MAPOK: MOVSI T1,'MAP' ;DEFAULT EXT
****
2)53 ;**;[1174] Replace @%MAP+5L DZN 3-Jun-79
2) E$$IMA::.ERR. (MS,0,V%L,L%W,S%W,IMA,<Incremental maps not yet
available>) ;[1174]
2) MAPOK: MOVSI T1,'MAP' ;DEFAULT EXT
**************
1)52 LOG1: PUSHJ P,LOG99 ;OUTPUT INFO MESSAGE
1) SETZM LOGTTY ;CLEAR IT
****
2)54 ;**;[1174] Replace @LOG1 DZN 3-Jun-79
2) LOG1: PUSHJ P,E$$CLF ;[1174] OUTPUT INFO MESSAGE
2) SETZM LOGTTY ;CLEAR IT
**************
1)52 JUMPL P2,LOG2A ;BEEN INITIALIZED ONCE
1) .ERR. (MS,0,V%L,L%I,S%I,LFI,<LOG file initialization>)
1) PJRST LOG0 ;AND REMOVE DATA BLOCK
1) LOG2A: .ERR. (MS,0,V%L,L%I,S%I,LFC,<LOG file continuation>)
1) PJRST LOG0
****
2)54 ;**;[1174] Replace @LOG2+11L DZN 3-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 182
PCO Log Report
2) JUMPL P2,E$$LFC ;[1174] BEEN INITIALIZED ONCE
2) E$$LFI::.ERR. (MS,0,V%L,L%I,S%I,LFI,<Log file initialization>)
;[1174]
2) PJRST LOG0 ;AND REMOVE DATA BLOCK
2) ;**;[1174] Replace @LOG2A DZN 3-Jun-79
2) E$$LFC::.ERR. (MS,0,V%L,L%I,S%I,LFC,<Log file continuation>) ;
[1174]
2) PJRST LOG0
**************
1)53 JUMPL P2,LOG4B ;BEEN INITIALIZED
1) .ERR. (MS,0,V%L,L%I,S%I,LFI)
1) JRST RESTP1 ;AND RETURN
1) LOG4B: .ERR. (MS,0,V%L,L%I,S%I,LFC)
1) PJRST RESTP1
1) LOG5: PUSHJ P,LOG99 ;OUTPUT MESSAGE
1) RELEASE RC,
****
2)55 ;**;[1174] Replace @LOG4+13L DZN 3-Jun-79
2) JUMPL P2,E01LFC ;[1174] BEEN INITIALIZED
2) E01LFI::.ERR. (MS,0,V%L,L%I,S%I,LFI) ;[1174]
2) JRST RESTP1 ;AND RETURN
2) ;**;[1174] Replace @LOG4B DZN 3-Jun-79
2) E01LFC::.ERR. (MS,0,V%L,L%I,S%I,LFC) ;[1174]
2) PJRST RESTP1
2) LOG5: PUSHJ P,E$$CLF ;[1174] OUTPUT MESSAGE
2) RELEASE RC,
**************
1)53 LOG99: .ERR. (MS,.EC,V%L,L%I,S%I,CLF,<Closing LOG file, conti
nuing on >)
1) .ETC. (FSP,,,,,%RC)
****
2)55 ;**;[1174] Replace @LOG99 DZN 3-Jun-79
2) E$$CLF::.ERR. (MS,.EC,V%L,L%I,S%I,CLF,<Closing log file, conti
nuing on file >) ;[1174]
2) .ETC. (FSP,,,,,%RC)
**************
1)57 JRST DNSERR ;NO CHAN# NO DEVICE!
1) MOVE T1,IO.PTR(T1) ;POINT TO DATA BLOCK
****
2)59 ;**;[1174] Replace @DNSCHK+1L DZN 3-Jun-79
2) JRST E$$DNS ;[1174] NO CHAN# NO DEVICE!
2) MOVE T1,IO.PTR(T1) ;POINT TO DATA BLOCK
**************
1)57 JRST DNSERR ;NO, DON'T ALLOW DSK BY DEFAULT
1) HRLZ T1,IO.CHN ;GET LAST I/O CHAN INITED
****
2)59 ;**;[1174] Replace @DNSCHK+5L DZN 3-Jun-79
2) JRST E$$DNS ;[1174] NO, DON'T ALLOW DSK BY D
EFAULT
Digital Equipment Corporation 28-AUG-79 Page 183
PCO Log Report
2) HRLZ T1,IO.CHN ;GET LAST I/O CHAN INITED
**************
1)57 DNSERR: .ERR. (MS,.EC,V%L,L%F,S%F,DNS,<Device not specified fo
r />)
1) .ETC. (STR,.EP,,,,T2)
****
2)59 ;**;[1174] Replace @DNSERR DZN 3-Jun-79
2) E$$DNS::.ERR. (MS,.EC,V%L,L%F,S%F,DNS,<Device not specified fo
r switch />) ;[1174]
2) .ETC. (STR,.EP,,,,T2)
**************
1)64 .ERR. (MS,0,V%L,L%W,S%W,MSN,<MAP sorting not yet imple
mented>)
1) $MPSUNSORTED:
****
2)66 ;**;[1174] Replace @MPSNUMERICAL+1L DZN 3-Jun-79
2) E$$MSN::.ERR. (MS,0,V%L,L%W,S%W,MSN,<Map sorting not yet imple
mented>) ;[1174]
2) $MPSUNSORTED:
**************
1)64 .ERR. (MS,0,V%L,L%W,S%W,SSN,<Symbol table sorting not
yet implemented>)
1) $SYSUNSORTED:
****
2)66 ;**;[1174] Replace @SYSNUMERICAL+1L DZN 3-Jun-79
2) E$$SSN::.ERR. (MS,0,V%L,L%W,S%W,SSN,<Symbol table sorting not
yet implemented>) ;[1174]
2) $SYSUNSORTED:
**************
1)65 ZSVERR::.ERR. (MS,0,V%M,L%W,S%W,ZSV,<Zero switch value illegal
>)
1) POPJ P,
1) WLDLIT:
1) END
****
2)67 ;**;[1174] Replace @ZSVERR DZN 3-Jun-79
2) E$$ZSV::.ERR. (MS,0,V%L,L%W,S%W,ZSV,<Zero switch value illegal
>) ;[1174]
2) POPJ P,
2) E$$USI::.ERR. (MS,.EC,V%L,L%F,S%B,USI,<Undefined symbol >) ;[1
174]
2) .ETC. (SBX,.EC!.EP,,,,W2) ;[1174]
2) .ETC. (STR,.EC,,,,,< illegal in switch />) ;[1174]
2) .ETC. (STR,.EP,,,,T1) ;[1174]
2) POPJ P, ;[1174] RETURNS IF NOT BATCH
2) WLDLIT:
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 184
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1544 10-Jun-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 1941 10-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 5-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 10-Jun-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1172 ;DEC EDIT VERSION
1) VERSION
1) SEGMENT
1) ;LOCAL ACC DEFINITION
1) R==R1
1) SALL
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1174 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
2) SALL
2) ;LOCAL ACC DEFINITION
2) R==R1
2)2 SUBTTL REVISION HISTORY
**************
1)7 SUBTTL ENTER HERE
1) LNKXIT: JFCL .+1 ;IN CASE CCL ENTRY
1) .ERR. (MS,0,V%L,L%I,S%I,EXS,<EXIT segment>)
1) ZAPTMP ;CLEAR ALL TEMP SPACE
****
2)6 ;1174 Label and clean up all error messages.
2)7 SUBTTL ENTER HERE
2) LNKXIT: JFCL .+1 ;IN CASE CCL ENTRY
2) E$$EXS::.ERR. (MS,0,V%L,L%I,S%I,EXS,<EXIT segment>) ;[1174]
2) ZAPTMP ;CLEAR ALL TEMP SPACE
**************
1)8 PUSHJ P,ER.IOV## ;INPUT ERROR
1) HRRZM T1,HL.S1 ;
****
2)8 PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
2) HRRZM T1,HL.S1 ;
**************
1)9 PUSHJ P,ER.IOV##
1) SUB T1,LC.LB
****
2)9 PUSHJ P,E$$IOV## ;[1174]
2) SUB T1,LC.LB
**************
1)11 PUSH P,[HC]
1) .ERR. (ST,,V%L,L%F,S%F,IHC)
Digital Equipment Corporation 28-AUG-79 Page 185
PCO Log Report
1) ;HERE IF LOWSEG PAGED, WE NEED BOTH ENDS OF FILE AT ONCE
****
2)11 PUSHJ P,E$$IHC## ;[1174] DIE WITH ERROR
2) ;HERE IF LOWSEG PAGED, WE NEED BOTH ENDS OF FILE AT ONCE
**************
1)11 PUSH P,[LC]
1) .ERR. (ST,,V%L,L%F,S%F,ILC)
1) ;HERE TO JUST BLT JOBDAT AREA TO SAFE PLACE
****
2)11 PUSHJ P,E$$ILC## ;[1174] DIE WITH ERROR
2) ;HERE TO JUST BLT JOBDAT AREA TO SAFE PLACE
**************
1)12 .ERR. (MS,0,V%L,L%I,S%I,SST,<Sorting symbol table>)
1) PUSHJ P,GETSST ;[1172] FIND BASE OF SYMBOLS, SE
T R AND P4
****
2)12 E$$SST::.ERR. (MS,0,V%L,L%I,S%I,SST,<Sorting symbol table>) ;[
1174]
2) PUSHJ P,GETSST ;[1172] FIND BASE OF SYMBOLS, SE
T R AND P4
**************
1)13 .ERR. (MS,0,V%L,L%I,S%I,STC,<Symbol table completed>)
1) JRST FINRST ;[1172] GO JOIN COMMON CLEAN UP
CODE
****
2)13 E$$STC::.ERR. (MS,0,V%L,L%I,S%I,STC,<Symbol table completed>)
;[1174]
2) JRST FINRST ;[1172] GO JOIN COMMON CLEAN UP
CODE
**************
1)17 .ERR. (MS,.EC,V%M,L%W,S%W,NPS,<NON-EXISTENT PSECT SPEC
IFIED -- >) ;[1110]
1) .ETC. (SBX,.EP,,,,SSGNAM) ;[1110] OUTPUT PSECT NAM
E
1) MOVEI R,1 ;[1132] SET TO LOW
****
2)17 E$$NPS::.ERR. (MS,.EC,V%L,L%W,S%W,NPS,<Non-existent psect >)
;[1110] ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,SSGNAM) ;[1174] OUTPUT PSECT NAM
E
2) .ETC. (STR,,,,,,< specified for symbol table>) ;[1174]
2) MOVEI R,1 ;[1132] SET TO LOW
**************
1)23 JRST GSRED ;NO, ALL IS WELL
1) ;**;[773] Add label @ GSDLT+18L JNG 30-Sep-78
****
2)23 JRST E$$RED ;[1174] NO, ALL IS WELL
2) ;**;[773] Add label @ GSDLT+18L JNG 30-Sep-78
**************
Digital Equipment Corporation 28-AUG-79 Page 186
PCO Log Report
1)23 GSRED: .ERR. (MS,.EC,V%L,L%I,S%I,RED,<Reducing low segment to
>)
1) .ETC. (COR,.EP,,,,.JBREL)
****
2)23 E$$RED::.ERR. (MS,.EC,V%L,L%I,S%I,RED,<Reducing low segment to
>) ;[1174]
2) .ETC. (COR,.EP,,,,.JBREL)
**************
1)25 PUSHJ P,NO.COR## ;[1172] CANNOT HAPPEN
1) ;NOW READ THE LAST PAGE OF SYMBOLS INTO THE FIRST PAGE OF THE LS
AREA.
****
2)25 PUSHJ P,E$$MEF## ;[1174] CANNOT HAPPEN
2) ;NOW READ THE LAST PAGE OF SYMBOLS INTO THE FIRST PAGE OF THE LS
AREA.
**************
1)32 .ERR. (MS,.EC,V%L,L%F,S%F,CNW)
1) .ETC. (STR,,,,,,<FNDNIC>)
****
2)32 E03CNW::.ERR. (MS,.EC,V%L,L%F,S%F,CNW) ;[1174]
2) .ETC. (STR,,,,,,<FNDNIC>)
**************
1)34 .ERR. (MS,.EC,V%L,L%W,S%W,ISS,<Insufficient space for
symbol table>)
1) .ETC. (STR,.EC,,,,,< after PSECT >)
1) .ETC. (SBX,.EP!.EC,,,,SSGNAM)
1) .ETC. (STR,,,,,,<--Table truncated>)
1) ;**;[1172] Replace @ SYMOE1-1L JNG 5-Jun-79
****
2)34 E$$ISS::.ERR. (MS,.EC,V%L,L%W,S%W,ISS,<Insufficient space for
symbol table after psect >) ;[1174]
2) .ETC. (SBX,.EP!.EC,,,,SSGNAM)
2) .ETC. (STR,,,,,,< -- table truncated>)
2) ;**;[1172] Replace @ SYMOE1-1L JNG 5-Jun-79
**************
1)35 PUSHJ P,NO.COR## ;[1172] SHOULD NEVER GET HERE
1) SETZM LS.PP ;[1172] RESTORE
****
2)35 PUSHJ P,E$$MEF## ;[1174] SHOULD NEVER GET HERE
2) SETZM LS.PP ;[1172] RESTORE
**************
1)35 PUSHJ P,NO.COR## ;[1172] YES, LNKOV2 CAN'T HANDLE
THAT
1) > ;END IFN FTOVERLAY
****
2)35 PUSHJ P,E$$MEF## ;[1174] YES, LNKOV2 CAN'T HANDLE
THAT
2) > ;END IFN FTOVERLAY
**************
Digital Equipment Corporation 28-AUG-79 Page 187
PCO Log Report
1)37 PUSH P,[MC]
1) .ERR. (ST,,V%L,L%W,S%W,OES,<Output error on symbol fil
e, file closed, job continuing>)
1) POPJ P,
****
2)37 E$$OES::PUSH P,[MC] ;[1174]
2) .ERR. (ST,,V%L,L%W,S%W,OES,<Output error on symbol fil
e, file closed, load continuing>)
2) POPJ P,
**************
1)39 PUSH P,[DC]
1) .ERR. (ST,,V%L,L%W,S%W,OES)
****
2)39 E01OES::PUSH P,[DC] ;[1174]
2) .ERR. (ST,,V%L,L%W,S%W,OES)
**************
1)48 JRST JBCMP1 ;[1146] YES--LNKPCX
1) .ERR. (MS,.EC,V%L,L%W,S%W,PCL,<Program too complex to
load, saving as >)
1) .ETC. (JMP,.EC,,,,JBCMP2)
1) JBCMP1: .ERR. (MS,.EC,V%L,L%W,S%I,PCX,<Program too complex to
load and execute, will run from >)
1) JBCMP2: .ETC. (FSP,,,,,%VC)
****
2)49 ;**;[1174] Replace @JBCMPX+21L DZN 3-Jun-79
2) JRST E$$PCX ;[1174] YES--LNKPCX
2) E$$PCL::.ERR. (MS,.EC,V%L,L%W,S%W,PCL,<Program too complex to
load, saving as file >) ;[1174]
2) .ETC. (JMP,.EC,,,,JBCMP2)
2) E$$PCX::.ERR. (MS,.EC,V%L,L%W,S%I,PCX,<Program too complex to
load and execute, will run from file >) ;[1174]
2) JBCMP2: .ETC. (FSP,,,,,%VC)
**************
1)49 JBSAVE: .ERR. (MS,0,V%L,L%I,S%I,CSF,<Creating saved file>)
1) ;**;[1146] Delete @JBSAVE+1L DZN 8-Mar-79
****
2)50 ;**;[1174] Replace @JBSAVE DZN 3-Jun-79
2) JBSAVE: ;[1174] WRITE A SAVED FILE
2) E$$CSF::.ERR. (MS,0,V%L,L%I,S%I,CSF,<Creating saved file>) ;[1
174]
2) ;**;[1146] Delete @JBSAVE+1L DZN 8-Mar-79
**************
1)50 PUSH P,[DC]
1) .ERR. (ST,,V%L,L%F,S%F,SOE,<SAVE file output error>)
1)51 JBSHGR: MOVEI T1,DC ;MAKE SURE CHAN# SETUP
****
2)51 ;**;[1174] Replace @JBSHGN+7L DZN 3-Jun-79
2) E$$SOE::PUSH P,[DC] ;[1174]
2) .ERR. (ST,,V%L,L%F,S%F,SOE,<Saved file output error>)
Digital Equipment Corporation 28-AUG-79 Page 188
PCO Log Report
;[1174]
2)52 JBSHGR: MOVEI T1,DC ;MAKE SURE CHAN# SETUP
**************
1)56 PUSHJ P,XPNERR
1) PUSHJ P,DVRLS.## ;RELEASE DEV
1) PJRST DVZAP.## ;FORGET ABOUT .XPN FILE NOW
1) XPNERR: PUSH P,[LC]
1) .ERR. (ST,,V%L,L%W,S%W,OEX,<Output error on XPN file,
file closed, job continuing>)
1) POPJ P,
****
2)57 ;**;[1174] Replace @WRTXPN+9L DZN 3-Jun-79
2) PUSHJ P,E$$OEX ;[1174]
2) PUSHJ P,DVRLS.## ;RELEASE DEV
2) PJRST DVZAP.## ;FORGET ABOUT .XPN FILE NOW
2) ;**;[1174] Replace @XPNERR DZN 3-Jun-79
2) E$$OEX::PUSH P,[LC] ;[1174]
2) .ERR. (ST,,V%L,L%W,S%W,OEX,<Output error on XPN file,
file closed, load continuing>) ;[1174]
2) POPJ P,
**************
1)62 JRST [PUSH P,[DC] ;FATAL CHAN
1) .ERR. (LRE,0,V%L,L%F,S%F,ECE,<Error creating E
XE file - >)]
1) SKIPE IO.PTR+%XC ;WANT .XPN FILE?
****
2)63 ;**;[1174] Replace @EXEINI+27L DZN 3-Jun-79
2) JRST E$$ECE ;[1174] CAN'T
2) SKIPE IO.PTR+%XC ;WANT .XPN FILE?
**************
1)64 PUSHJ P,XCMPER ;[1132] I/O ERROR
1) USETO DC,9 ;[1132] WRITE ZEROS INTO THE RES
T OF PAGE 0
****
2)65 ;**;[1174] Replace @ DZN 3-Jun-79
2) PUSHJ P,E$$EOE ;[1174] I/O ERROR
2) USETO DC,9 ;[1132] WRITE ZEROS INTO THE RES
T OF PAGE 0
**************
1)65 ;THIS IS THE MAIN LOOP FOR THE EXE FILE WRITER.
****
2)65 ;**;[1174] Insert after **somewhere**+1P18L DZN 3-Jun-79
2) E$$ECE::PUSH P,[DC] ;[1174] GIVE OFFENDING CHANNEL T
O LNKLOG
2) .ERR. (LRE,0,V%L,L%F,S%F,ECE,<Error creating EXE file>
) ;[1174]
2)66 ;THIS IS THE MAIN LOOP FOR THE EXE FILE WRITER.
**************
1)66 JRST XCMPER ;[1132] I/O ERROR
1) MOVE P2,P3 ;[1132] SET UP NEW PROCESS PAGE
****
Digital Equipment Corporation 28-AUG-79 Page 189
PCO Log Report
2)67 ;**;[1174] Replace @XCMNWZ+8L DZN 3-Jun-79
2) JRST E$$EOE ;[1174] I/O ERROR
2) MOVE P2,P3 ;[1132] SET UP NEW PROCESS PAGE
**************
1)67 JRST XCMPER ;[1132] I/O ERROR
1) CAML P3,HC.S0(R) ;[1132] OFF THE END OF THE SEGME
NT?
****
2)68 ;**;[1174] Replace @XCMADV+3L DZN 3-Jun-79
2) JRST E$$EOE ;[1174] I/O ERROR
2) CAML P3,HC.S0(R) ;[1132] OFF THE END OF THE SEGME
NT?
**************
1)72 JRST XCMPER ;[1132] IO ERROR
1) MOVEI W1,1 ;[1132] NOW LOOP OVER DIR, START
ING AT BLOCK 1
****
2)73 ;**;[1174] Replace @XCMPXD+13L DZN 3-Jun-79
2) JRST E$$EOE ;[1174] IO ERROR
2) MOVEI W1,1 ;[1132] NOW LOOP OVER DIR, START
ING AT BLOCK 1
**************
1)72 JRST XCMPER ;[1132] FAILED
1) MOVE T2,EXEDIR ;[1132] NOW SETUP AOBJN PTR TO E
XE DIR PAGE
****
2)73 ;**;[1174] Replace @XCMPXE+3L DZN 3-Jun-79
2) JRST E$$EOE ;[1174] FAILED
2) MOVE T2,EXEDIR ;[1132] NOW SETUP AOBJN PTR TO E
XE DIR PAGE
**************
1)72 JRST XCMPER ;[1132] I/O ERROR
1) ADDI W1,4 ;[1132] BLOCK NUMBER OF NEXT PAG
E
****
2)73 ;**;[1174] Replace @XCMPXF+8L DZN 3-Jun-79
2) JRST E$$EOE ;[1174] I/O ERROR
2) ADDI W1,4 ;[1132] BLOCK NUMBER OF NEXT PAG
E
**************
1)73 JRST XCMPER ;[1132] ERROR
1) OUT DC,T3 ;[1132] WRITE IT INTO THE NEXT P
AGE
1) CAIA ;[1132] OK
1) JRST XCMPER ;[1132] ERROR
1) SUBI W1,4 ;[1132] BACK UP ONE MORE DATA BL
OCK
****
2)74 ;**;[1174] Replace @XCMPXG+5L DZN 3-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 190
PCO Log Report
2) JRST E$$EOE ;[1174] ERROR
2) OUT DC,T3 ;[1132] WRITE IT INTO THE NEXT P
AGE
2) CAIA ;[1132] OK
2) JRST E$$EOE ;[1174] ERROR
2) SUBI W1,4 ;[1132] BACK UP ONE MORE DATA BL
OCK
**************
1)74 PUSHJ P,NO.COR## ;[1132] FR.CNT LIED!!
1) SPOP <P2,P1> ;[1132] RESTORE THE SACRED COWS
****
2)75 PUSHJ P,E$$MEF## ;[1174] FR.CNT LIED!!
2) SPOP <P2,P1> ;[1132] RESTORE THE SACRED COWS
**************
1)75 JRST XCMPER ;[1132] I/O ERROR
1) JUMPG R2,XOVNXW ;[1132] IF NOT DONE, LOOP BACK T
O TRY AGAIN
****
2)76 ;**;[1174] Replace @XOVDMP+9L DZN 3-Jun-79
2) JRST E$$EOE ;[1174] I/O ERROR
2) JUMPG R2,XOVNXW ;[1132] IF NOT DONE, LOOP BACK T
O TRY AGAIN
**************
1)78 JRST XCMPER ;ERROR
1) CAIE T3,1 ;WAS IT JUST SIMPLE CASE?
****
2)79 ;**;[1174] Replace @**somewhere**+7L DZN 3-Jun-79
2) JRST E$$EOE ;[1174] ERROR
2) CAIE T3,1 ;WAS IT JUST SIMPLE CASE?
**************
1)78 JRST XCMPER] ;ERROR
1) MOVE T1,EXEDIR ;GET BASE AGAIN
****
2)79 ;**;[1174] Replace @**somewhere**+1P18L DZN 3-Jun-79
2) JRST E$$EOE] ;[1174] ERROR
2) MOVE T1,EXEDIR ;GET BASE AGAIN
**************
1)78 XCMPER: PUSH P,[DC]
1) .ERR. (ST,,V%L,L%F,S%F,EOE,<EXE FILE OUTPUT ERROR>)
1) >;END OF IFN FTEXE
****
2)79 ;**;[1174] Replace @XCMPER DZN 3-Jun-79
2) E$$EOE::PUSH P,[DC] ;[1174]
2) .ERR. (ST,,V%L,L%F,S%F,EOE,<EXE file output error>) ;[
1174]
2) >;END OF IFN FTEXE
**************
1)80 PUSHJ P,NO.COR## ;CANNOT HAPPEN
1) POP P,P2 ;RESTORE RELATIVE ADDRESS
Digital Equipment Corporation 28-AUG-79 Page 191
PCO Log Report
****
2)81 PUSHJ P,E$$MEF## ;[1174] CANNOT HAPPEN
2) POP P,P2 ;RESTORE RELATIVE ADDRESS
**************
1)82 ZCMP7E: PUSH P,[DC]
1) .ERR. (ST,,V%L,L%F,S%F,SOE)
1)83 ;NOW TO MOVE DOWN THE REMAINING DATA IN THE BUFFER PRIOR TO
****
2)83 ;**;[1174] Replace @ZCMPR7+10L DZN 3-Jun-79
2) JRST E$$SOE ;[1174] PRINT ERROR AND DIE
2)84 ;NOW TO MOVE DOWN THE REMAINING DATA IN THE BUFFER PRIOR TO
**************
1)83 ; ..
1)84 ; ..
1) ZCMP9A: SKIPE T1,LSTPAG ;NOW CUT BACK CORE
****
2)84 ZCMP9A: SKIPE T1,LSTPAG ;NOW CUT BACK CORE
**************
1)85 JRST OVRENE ;[616] REPORT RENAME ERROR
1) SKIPE PLOTSW ;WANT PLOT PACKAGE?
****
2)85 ;**;[1174] Replace @ENDCMP+16L DZN 3-Jun-79
2) JRST E01FRE ;[1174] REPORT RENAME ERROR
2) SKIPE PLOTSW ;WANT PLOT PACKAGE?
**************
1)85 OVRENE: PUSH P,[%OC] ;[616] SET UP CORRECT CHANNEL
1) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;[616] GIVE A FATAL ERRO
R
****
2)85 ;**;[1174] Replace @OVRENE DZN 3-Jun-79
2) E01FRE::PUSH P,[%OC] ;[1174] SET UP CORRECT CHANNEL
2) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;[616] GIVE A FATAL ERRO
R
**************
1)87 XALL
1) DEBNAM: KEYWORDS
1) SALL
1)88 SUBTTL RUN THE PROGRAM
****
2)87 DEBNAM: KEYWORDS
2)88 SUBTTL RUN THE PROGRAM
**************
1)88 .ERR. (MS,0,V%L,L%F,S%I,NSA,<No start address>)
1) RUNEX1: SKIPE ERRNO ;[1144] DON'T RUN IF ANY ERRORS
****
2)88 ;**;[1174] Replace @RUNEXE+3L DZN 3-Jun-79
2) E$$NSA::.ERR. (MS,0,V%L,L%F,S%I,NSA,<No start address>) ;[1174
]
2) RUNEX1: SKIPE ERRNO ;[1144] DON'T RUN IF ANY ERRORS
Digital Equipment Corporation 28-AUG-79 Page 192
PCO Log Report
**************
1)88 RUNDLT: .ERR. (MS,0,V%L,L%F,S%F,DLT,<Execution deleted>)
1) JRST ENDZAP ;[1144] JUST ZERO MEMORY AND EXI
T
****
2)88 ;**;[1174] Replace @RUNDLT DZN 3-Jun-79
2) E$$DLT::.ERR. (MS,0,V%L,L%F,S%W,DLT,<Execution deleted>) ;[117
4]
2) JRST ENDZAP ;[1144] JUST ZERO MEMORY AND EXI
T
**************
1)90 GFEERR: .ERR. (MS,.EC,V%L,L%F,S%F,GFE,<GTJFN% JSYS failed for
>)
1) .ETC. (STR,,,,,RUNSPC)
****
2)90 ;**;[1174] Replace @GFEERR DZN 3-Jun-79
2) E$$GFE::.ERR. (MS,.EC,V%L,L%F,S%F,GFE,<GTJFN% JSYS failed for
file >) ;[1174]
2) .ETC. (STR,,,,,RUNSPC)
**************
1)93 TERMES: .ERR. (MS,0,V%L,L%I,S%I,FIN,<LINK finished>)
1) MOVEI T1,FINMES ;TELL USER WE'VE CLOSE LOG FILE
1) SKIPE LOGSUB ;BUT ONLY IF A REAL LOG FILE
1) PUSHJ P,.TSTRG##
1) SKIPN IO.PTR+RC ;SEE IF A LOG FILE?
****
2)93 ;**;[1174] Replace @TERMES DZN 3-Jun-79
2) TERMES:
2) E$$FIN::.ERR. (MS,0,V%L,L%I,S%I,FIN,<LINK finished>) ;[1174]
2) E$$ELF::.ERR. (MS,,V%L,L%I,S%I,ELF,<End of log file>) ;[1174]
2) SKIPN IO.PTR+RC ;SEE IF A LOG FILE?
**************
1)93 PUSH P,[%RC] ;[616] CHANNEL FOR ERROR
1) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;[616] SEND THE MESSAGE
1) FINMES: ASCIZ \[LNKELF End of log file]
1) \
1) ;**;[1144] Insert after FINMES+1L DZN 16-Feb-79
****
2)93 ;**;[1174] Replace @TERMES+13L DZN 3-Jun-79
2) E02FRE::PUSH P,[%RC] ;[1174] CHANNEL FOR ERROR
2) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;[616] SEND THE MESSAGE
2) ;**;[1144] Insert after FINMES+1L DZN 16-Feb-79
**************
1)93 SKIPN T1,RUNAME ;[1144] ELSE [LNKXIT program exe
cution]
1) MOVE T1,LODNAM ;[1144] GET PROGRAM NAME TO PRIN
T
1) .ERR. (MS,.EC!.EN,V%L,L%F,S%I,XCT)
1) .ETC. (SBX,.EC!.EP,,,,T1)
****
2)93 SKIPN T1,RUNAME ;[1144] ELSE [LNKXCT program exe
Digital Equipment Corporation 28-AUG-79 Page 193
PCO Log Report
cution]
2) MOVE T1,LODNAM ;[1144] GET PROGRAM NAME TO PRIN
T
2) ;**;[1174] Replace @EXEMES+4L DZN 3-Jun-79
2) E$$XCT::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,XCT) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,T1)
**************
1)93 .ERR. (MS,.EC!.EN,V%L,L%F,S%I,DEB)
1) .ETC. (STR,.EC!.EP,,,,T1)
****
2)93 ;**;[1174] Replace @EXEME1+1L DZN 3-Jun-79
2) E$$DEB::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,DEB) ;[1174]
2) .ETC. (STR,.EC!.EP,,,,T1)
**************
1)94 PUSH P,IO.CHN ;SAVE CHANNEL FOR LNKLOG
1) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;
****
2)94 ;**;[1174] Replace @DVMOV.+12L DZN 3-Jun-79
2) E03FRE::PUSH P,IO.CHN ;[1174] SAVE CHANNEL FOR LNKLOG
2) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;
**************
1)94 JRST LKPERR## ;???
1) MOVE T3,I.SIZ(T1) ;GET INPUT FILE SIZE FOR LATER
****
2)94 ;**;[1174] Replace @DVCOPY+5L DZN 30-May-79
2) JRST E01FLE## ;[1174] ???
2) MOVE T3,I.SIZ(T1) ;GET INPUT FILE SIZE FOR LATER
**************
1)95 JRST INERR ;ERROR, GIVE UP
1) MOVE T3,I.SIZ(P1) ;RETRIEVE FILE SIZE
****
2)95 ;**;[1174] Replace @DVMOV1+5L DZN 3-Jun-79
2) JRST E$$EOI ;[1174] ERROR, GIVE UP
2) MOVE T3,I.SIZ(P1) ;RETRIEVE FILE SIZE
**************
1)95 JRST DVMOV4 ;OH WELL, GIVE ERROR
1) DVMOV2: PUSHJ P,DY.RET## ;DONE WITH THE BUFFER, SO FREE I
T
****
2)95 ;**;[1174] Replace @DVMOV1+13L DZN 3-Jun-79
2) JRST E$$EOO ;[1174]OH WELL, GIVE ERROR
2) DVMOV2: PUSHJ P,DY.RET## ;DONE WITH THE BUFFER, SO FREE I
T
**************
1)96 DVMOV4: PUSH P,[TC] ;TELL WHICH CHANNEL HAD THE ERRO
R
1) .ERR. (ST,,V%L,L%F,S%F,EOO,<Error on output>) ;
1) INERR: .ERR. (ST,,V%L,L%F,S%F,EOI,<Error on input>) ;
1)97 ;HERE TO GET PROTECTION CODE RIGHT
Digital Equipment Corporation 28-AUG-79 Page 194
PCO Log Report
****
2)96 ;**;[1174] Replace @DVMOV4 DZN 3-Jun-79
2) E$$EOO::PUSH P,[TC] ;[1174] TELL WHICH CHANNEL HAD T
HE ERROR
2) .ERR. (ST,,V%L,L%F,S%F,EOO,<Error on output>) ;
2) E$$EOI::;PUSH P,IO.CHN ;[1174] CHANNEL ALREADY ON STACK
2) .ERR. (ST,,V%L,L%F,S%F,EOI,<Error on input>) ;
2)97 ;HERE TO GET PROTECTION CODE RIGHT
**************
1)103 OUTSTR [ASCIZ \[LNKNSA No start address]
1) \]
****
2)104 E01NSA::.OERR. [ASCIZ \[LNKNSA No start address]
2) \]
**************
1)105 MOVE T1,[[ASCIZ /?LNKDLT Execution Deleted/],,%TMES]
;[1144]
1) BLT T1,%TMES+5
****
2)107 MOVE T1,[[ASCIZ /%LNKDLT Execution deleted/],,%TM
ES] ;[1144]
2) BLT T1,%TMES+5
**************
1)107 MOVE T1,[ASCIZ \[LNKDEB \] ;
1) MOVE T1+1,1+[ASCIZ \[LNKDEB \] ;
1) > ;END IFE FTKIONLY
1) IFN FTKIONLY,<
1) DMOVE T1,[ASCIZ \[LNKDEB \] ;
1) > ;END IFN FTKIONLY
****
2)109 MOVE T1,[ASCIZ \[LNKDEB \] ;
2) MOVE T1+1,1+[ASCIZ \[LNKDEB \] ;
2) > ;END IFE FTKIONLY
2) IFN FTKIONLY,<
2) DMOVE T1,[ASCIZ \[LNKDEB \] ;
2) > ;END IFN FTKIONLY
**************
1)108 OUTSTR %TMES ;INFO INDICATOR
1) %DDMES: OUTSTR %DTXT ;NAME OF DEBUGGER
****
2)110 E01XCT:: ;[1174]
2) E01DEB::.OERR. %TMES ;[1174] LNKDEB OR LNKXCT
2) %DDMES: OUTSTR %DTXT ;NAME OF DEBUGGER
**************
1)109 %TMES: ASCIZ \[LNKXCT \
1) %DTXT: EXP 0,0 ;ENOUGH FOR 6 CHARS PLUS NULL
1) %RTXT: ASCIZ \ Execution]
1) \
1) REMERR: TLZN T2,-1 ;REMAP FOR V/M?
Digital Equipment Corporation 28-AUG-79 Page 195
PCO Log Report
1) JRST REMER1 ;NO, OR FAILED TWICE
1) HRRZS %1 ;MAKE SURE CORE UUO IN BOUNDS
****
2)111 %TMES: ASCIZ \[LNKXCT \
2) %DTXT: EXP 0,0 ;ENOUGH FOR 6 CHARS PLUS NULL
2) %RTXT: ASCIZ \ execution]
2) \
2) REMERR: TLZN T2,-1 ;REMAP FOR V/M?
2) ;**;[1174] Replace @REMERR+1L DZN 7-Jun-79
2) JRST E01RME ;[1174] NO, OR FAILED TWICE
2) HRRZS %1 ;MAKE SURE CORE UUO IN BOUNDS
**************
1)109 OUTSTR %VMRERR ;WARN USER
1) JRST %REMAP ;NOW TRY AGAIN
1) REMER1: OUTSTR %RMPE ;ERROR MESSAGE
1) EXIT
****
2)111 ;**;[1174] Replace @REMERR+6L DZN 7-Jun-79
2) E$$RME::.OERR. %VMRERR ;[1174] LNKRME
2) JRST %REMAP ;NOW TRY AGAIN
2) E01RME::.OERR. %RMPE ;[1174] LNKRME
2) EXIT
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 650
PCO Log Report
*********************
*PCO #:10-LINK -286*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 13-JUN-79
[Programmer] GILBERT
[Routines] LNKLOD LNKWLD LNKERR
[Key Words] /UPTO: SYMBOL /START
[Source Before Edit] %4A (001174)
[Source After Edit] %4A (001175)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 651
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK will accept /UPTO:symbol, but will ignore it.
**********
[DIAGNOSIS]
The switch tables say it will take a symbol name, but
there is no support code anywhere else to implement it.
**********
[CURE]
Add the support code, including the new LNKUUA message.
As part of this edit, /START:symbol was made to not look up
the symbol until LINK sees /GO, in case the symbol is
defined in a later module. Also, a bug that caused LINK not
to define the symbol %OWN for Algol programs if LINK issued
the LNKUSA message has been fixed.
This edit requires edit 1174, and thus should NOT be
installed as a patch.
Digital Equipment Corporation 28-AUG-79 Page 652
PCO Log Report
[FILCOM]
File 1) DSKB:LNKHST.MAC[30,3737,LINK] created: 1633 10-JUNE-1979
File 2) DSKB:LNKHST.MAC[30,3737,LINK,NEW] created: 0115 12-JUNE-19
79
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 10-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Jun-7
9
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1175 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1175 JNG 12-Jun-79
2) ; Fix /START and /UPTO with symbols as arguments.
2) ; Routines: LNKLOD, LNKWLD, LNKERR
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 653
PCO Log Report
[FILCOM]
File 1) DSKB:LNKLOD.MAC[30,3737,LINK] created: 1938 10-JUNE-1979
File 2) DSKB:LNKLOD.MAC[30,3737,LINK,NEW] created: 0109 12-JUNE-19
79
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 10-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 12-Jun-7
9
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1175 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1175 Fix /UPTO with a symbolic argument.
2)
**************
1)66 JRST GOUSYM ;NO
1) MOVX W1,PT.SGN!PT.SYM ;
1) PUSHJ P,TRYSYM## ;SEE IF DEFINED BY NOW
1) JRST GOSTER ;CANNOT HAPPEN
1) JRST GOSTER ;UNDEFINED
1) MOVE T1,2(P1) ;GET VALUE
****
2)66 ;**;[1175] Change @ GOSTRT+1L JNG 12-Jun-79
2) JRST GOUPTO ;[1175] NO
2) MOVX W1,PT.SGN!PT.SYM ;
2) PUSHJ P,TRYSYM## ;SEE IF DEFINED BY NOW
2) JRST E$$USA ;[1175] UNDEFINED
2) JRST E$$USA ;[1175] UNDEFINED
2) MOVE T1,2(P1) ;GET VALUE
**************
1)66 GOUSYM: SKIPN USYM ;STILL SOME UNDEFS?
****
2)66 ;**;[1175] Replace @ GOSTRT+9L JNG 12-Jun-79
2) JRST GOUPTO ;[1175] GO CHECK /UPTO
2)
2)
2) ;HERE WHEN THE START ADDRESS IS UNDEFINED.
2)
2) E$$USA::.ERR. (MS,.EC,V%L,L%W,S%W,USA,<Undefined start address
>) ;[1174]
2) .ETC. (SBX,.EP,,,,W2) ;[1174]
2) SETZM STADDR ;[1175] CLEAR ADDRESS
Digital Equipment Corporation 28-AUG-79 Page 654
PCO Log Report
2) SETZM STADDR+1 ;[1175] ...
2)
2)
2) ;NOW TO CHECK THE /UPTO SYMBOL, IF ANY
2)
2) GOUPTO: MOVE W2,SYMLIM ;[1175] GET /UPTO VALUE
2) TXNN W2,77B5 ;[1175] SYMBOLIC?
2) JRST GOUSYM ;[1175] NO
2) MOVX W1,PT.SGN!PT.SYM ;[1175] FLAGS
2) PUSHJ P,TRYSYM## ;[1175] SEE IF DEFINED
2) JRST E$$UUA ;[1175] NO
2) JRST E$$UUA ;[1175] NO
2) MOVE T1,2(P1) ;[1175] YES, FETCH VALUE
2) MOVEM T1,SYMLIM ;[1175] STORE FOR LNKXIT
2) JRST GOUSYM ;[1175] GO CHECK UNDEFINED SYMBO
LS
2)
2)
2) ;HERE IF THE /UPTO ADDRESS IS UNDEFINED.
2)
2) E$$UUA::.ERR. (MS,.EC,V%L,L%W,S%W,UUA,<Undefined /UPTO: addres
s >)
2) .ETC. (SBX,.EP,,,,W2) ;[1175]
2) SETZM SYMLIM ;[1175] NO LIMIT
2) ; ..
2)
2)67 ; ..
2)
2) ;HERE TO MAKE A LAST-DITCH TRY AT DEFINING THE LAST UNDEFINED SY
MBOL.
2)
2) GOUSYM: SKIPN USYM ;STILL SOME UNDEFS?
**************
1)66 JRST LODXIT ;EXIT
1)
1) ;**;[1174] Replace @GOSTER DZN 3-Jun-79
1) GOSTER: PUSHJ P,E$$USA## ;[1174] UNDEFINED MESSAGE
1) SETZM STADDR ;CLEAR ADDRESS
1) SETZM STADDR+1 ;...
1) ; JRST LODXIT
1)
****
2)67 ;**;[1175] Delete @ GOSTER JNG 12-Jun-79
2)
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 655
PCO Log Report
[FILCOM]
File 1) DSKB:LNKWLD.MAC[30,3737,LINK] created: 2313 11-JUNE-1979
File 2) DSKB:LNKWLD.MAC[30,3737,LINK,NEW] created: 0137 12-JUNE-19
79
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 10-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 12-Jun-7
9
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1175 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1175 Don't lookup symbolic argument to /START until /GO, move
USA message.
2)
**************
1)42 TLNE T2,770000 ;CHECK FOR SYMBOLIC ADDRESS
1) JRST STARTS ;IS SYMBOLIC
1) %START:
****
2)42 ;**;[1175] Delete @ .START+1L JNG 12-Jun-79
2)
2) %START:
**************
1)42 TLNN T2,770000 ;SYMBOLIC IS LEFT JUSTIFIED
1) JRST STARTO ;OCTAL ONLY
1) PUSHJ P,STRLSW ;WAIT TIL FILE IS LOADED INCASE
IT CONTAINS ADDRESS
1) MOVE T2,2(P2) ;GET SYMBOL AGAIN
1) STARTS: PUSHJ P,.SAVE4## ;SAVE P1-P4
1) MOVE W2,T2 ;SYMBOL
1) SETZB W1,W3 ;NO VALUE
1) PUSHJ P,TRYSYM## ;SEE IF DEFINED
1) ;**;[1174] Replace @STARTS+4L DZN 3-Jun-79
1) JRST E$$USA ;[1174] NO
1) JRST E$$USA ;[1174] UNDEFINED
1) MOVE T2,2(P1) ;GET VALUE
1) STARTO: MOVEM T2,STADDR ;USE THIS AS STARTING ADDRESS
1) SETZB T2,STADDR+1 ;CLEAR ADDRESS
1) SETZM STANAM ;[655] DON'T KNOW MODULE NAME
1) PJRST .NOSTART ;AND IGNORE ALL OTHER STARTING
ADDRESSES
Digital Equipment Corporation 28-AUG-79 Page 656
PCO Log Report
1)
1) ;**;[1174] Replace @STARTU DZN 3-Jun-79
1) E$$USA::.ERR. (MS,.EC,V%L,L%W,S%W,USA,<Undefined start address
>) ;[1174]
1) .ETC. (SBX,.EC!.EP,,,,W2) ;[1174]
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
1) POPJ P,
1)
****
2)42 ;**;[1175] Replace @ %START+5L JNG 12-Jun-79
2) SETZ T3, ;[1175] ASSUME SYMBOL NAME IS ZE
RO
2) TXNE T2,77B5 ;[1175] SYMBOL OR ADDRESS?
2) EXCH T2,T3 ;[1175] SYMBOL, MAKE OFFSET BE Z
ERO
2) DMOVEM T2,STADDR ;[1175] STORE FOR END OF LOADING
2) SETZM STANAM ;[655] DON'T KNOW MODULE NAME
2) PJRST .NOSTART ;AND IGNORE ALL OTHER STARTING
ADDRESSES
2) ;**;[1175] Move E$$USA to LNKLOD JNG 12-Jun-79
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 657
PCO Log Report
[FILCOM]
File 1) DSKB:LNKERR.MAC[30,3737,LINK] created: 1720 11-JUNE-1979
File 2) DSKB:LNKERR.MAC[30,3737,LINK,NEW] created: 0116 12-JUNE-19
79
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 12-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1175 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1175 Add the LNKUUA message.
2)
**************
1)10 {Detected in module [symbol] from file [file]}
1) USC 31 8 Undefined subroutine [symbol] called from link n
umber [decimal] {name
****
2)10 USC 31 8 Undefined subroutine [symbol] called from link n
umber [decimal] {name
**************
1)10 VAL 31 1 Symbol [symbol] [octal] [type]
****
2)10 UUA 8 8 Undefined /UPTO: address [symbol]
2) VAL 31 1 Symbol [symbol] [octal] [type]
**************
1)11 HASH VAL,0,<^_
****
2)11 HASH UUA,0,<^_
2) You gave the named symbol as an argument to the /UPT
O:
2) switch, but the symbol was never defined. Load a modu
le
2) that defines the symbol, or change your argument to t
he
2) /UPTO: switch.>
2)
2) HASH VAL,0,<^_
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 658
PCO Log Report
*********************
*PCO #:10-LINK -287*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 13-JUN-79
[Programmer] GILBERT
[Routines] LNKWLD
[Key Words] /SYMSEG:PS /OVERLAY LNKXIT BUG
[Source Before Edit] %4A (001175)
[Source After Edit] %4A (001176)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 659
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK allows /SYMSEG:PSECT: without complaint, but then
blows up in LNKXIT.
**********
[DIAGNOSIS]
This was never intended to work, but the only keyword
/SYMSEG: disallows is HIGH.
**********
[CURE]
Disallow all keywords except /SYMSEG:LOW and
/SYMSEG:NONE.
Digital Equipment Corporation 28-AUG-79 Page 660
PCO Log Report
[FILCOM]
File 1) DSKB:LNKHST.175[30,3737,LINK,NEW] created: 0231 12-JUNE-19
79
File 2) DSKB:LNKHST.MAC[30,3737,LINK,NEW] created: 0159 12-JUNE-19
79
1)1 DECEVR==1175 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1176 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1176 JNG 12-Jun-79
2) ; Disallow /SYMSEG:PSECT:name with /OVERLAY.
2) ; Routine: LNKWLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 661
PCO Log Report
[FILCOM]
File 1) DSKB:LNKWLD.175[30,3737,LINK,NEW] created: 0229 12-JUNE-19
79
File 2) DSKB:LNKWLD.MAC[30,3737,LINK,NEW] created: 0225 12-JUNE-19
79
1)1 DECEVR==1175 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1176 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1176 Disallow /SYMSEG:PSECT:name if loading overlays.
2)
**************
1)43 %SYMSEG: PUSHJ P,STRLSW ;[705] WAIT TIL FILE LOA
DED
1) .SYMSEG: ;[705]
****
2)43 %SYMSEG:PUSHJ P,STRLSW ;[705] WAIT TIL FILE LOADED
2) .SYMSEG: ;[705]
**************
1)43 SKIPL LNKMAX ;LOADED ANY OVERLAYS?
1) CAIE T2,$SEGHIGH ;CANNOT LOAD SYMBOLS IN HIGH SEG
1) JRST %SYMSG ;NO
1) ;**;[1174: Replace @.SYMSEG+6L DZN 3-Jun-79
1) E$$OSL::.ERR. (MS,,V%L,L%W,S%W,OSL,<Overlaid program symbols m
ust be in low segment>) ;[1174]
****
2)43 ;**;[1176] Replace @ .SYMSEG+3L JNG 12-Jun-79
2) SKIPN OVERLW ;[1176] USER TYPE /OVERLAY?
2) JRST %SYMSG ;[1176] NO, PROCEED
2) CAIE T2,$SEGLOW ;[1176] USER WANT LOW SEGMENT?
2) CAIN T2,$SEGNONE ;[1176] OR NO SYMBOLS?
2) JRST %SYMSG ;[1176] YES, ONLY POSSIBILITIES
WITH OVERLAYS
2) ;**;[1174] Replace @.SYMSEG+6L DZN 3-Jun-79
2) E$$OSL::.ERR. (MS,,V%L,L%W,S%W,OSL,<Overlaid program symbols m
ust be in low segment>) ;[1174]
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 662
PCO Log Report
*********************
*PCO #:10-LINK -288*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 3A(560), 4A(1122)
[Date Entered] 13-JUN-79
[Programmer] GILBERT
[Routines] LNKPAR LNKWLD
[Key Words] /VERSION LOST /SW
[Source Before Edit] %4A (001176)
[Source After Edit] %4A (001177)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 663
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If a command string to LINK contains /VERSION in a
global context, then any local switches associated with the
same file spec will be lost. This will only happen with
LINK 3A or earlier, or with LINK 4 after edit 1122 has been
installed.
**********
[DIAGNOSIS]
The /VERSION switch processing routine always calls
STRLSW, which is not legal for switches seen in a global
context.
**********
[CURE]
Add a new entry to the /VERSION processing routine that
does not call STRLSW, and get to it if /VERSION is seen in a
global context.
This edit requires edit 1122.
Digital Equipment Corporation 28-AUG-79 Page 664
PCO Log Report
[FILCOM]
File 1) DSKB:LNKHST.176[30,3737,LINK,NEW] created: 0239 12-JUNE-19
79
File 2) DSKB:LNKHST.MAC[30,3737,LINK,NEW] created: 0247 12-JUNE-19
79
1)1 DECEVR==1176 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1177 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1177 JNG 12-Jun-79
2) ; Make /VERSION in global context not lose local switches.
2) ; Routines: LNKPAR, LNKWLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 665
PCO Log Report
[FILCOM]
File 1) DSKB:LNKPAR.174[30,3737,LINK,NEW] created: 0244 12-JUNE-19
79
File 2) DSKB:LNKPAR.MAC[30,3737,LINK,NEW] created: 0244 12-JUNE-19
79
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 10-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 12-Jun-7
9
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1177 ;DEC EDIT VERSION
2)
**************
1)5
****
2)5 ;1177 Add a global entry point for /VERSION in SWTCHS macro.
2)
**************
1)34 ;;**;[1122] Insert after /VERBOSITY switch DZN 5-Oct-78
1) SWMAC SP,VERSION,,.SWVER,SYM,3,,* ;;[1122]
1) IFE TOPS20,<
****
2)34 ;;**;[1177] Change @ /VERSION switch JNG 12-Jun-79
2) SWMAC SP,VERSION,,.SWVER,SYM,3,.,* ;;[1177]
2) IFE TOPS20,<
**************
Digital Equipment Corporation 28-AUG-79 Page 666
PCO Log Report
[FILCOM]
File 1) DSKB:LNKWLD.176[30,3737,LINK,NEW] created: 0239 12-JUNE-19
79
File 2) DSKB:LNKWLD.MAC[30,3737,LINK,NEW] created: 0242 12-JUNE-19
79
1)1 DECEVR==1176 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1177 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1177 Make global /VERSION not lose local switches.
2)
**************
1)50 MOVE T2,2(P2) ;[1122] GET VALUE
****
2)50 ;**;[1177] Insert @ %VERSION+2L JNG 12-Jun-79
2) .VERSION:
2) MOVE T2,2(P2) ;[1122] GET VALUE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 667
PCO Log Report
*********************
*PCO #:10-LINK -289*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 13-JUN-79
[Programmer] GILBERT
[Routines] LNKLOD
[Key Words] FOROTS V6 SEARCH FOR /SEG:LOW
[Source Before Edit] %4A (001177)
[Source After Edit] %4A (001200)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 668
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
In order to support concealed mode, FOROTS version 6
needs LINK to search SYS:FORLIB in /SEGMENT:LOW mode if
loading in /OTS:SHARABLE mode.
**********
[DIAGNOSIS]
It's in the design spec.
**********
[CURE]
Implement it. Note that this edit requires edit 1201.
Digital Equipment Corporation 28-AUG-79 Page 669
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0702 12-Jun-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1332 13-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 13-Jun-7
9
2)
**************
1)1 DECEVR==1177 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1200 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1200 JNG 13-Jun-79
2) ; If loading reentrant FOROTS, search SYS:FORLIB/SEGMENT:L
OW.
2) ; This is required for FOROTS version 6 and later.
2) ; Routine: LNKLOD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 670
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1118 13-Jun-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1317 13-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 12-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 13-Jun-7
9
2)
**************
1)1 DECEVR==1175 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1200 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1200 If loading reentrant FOROTS, search SYS:FORLIB/SEGMENT:L
OW.
2)
**************
1)83 FOR.L1: SKIPL FORLIB ;TEST FOR USER SCREW-UP
****
2)83 ;**;[1200] Insert @ FOR.L1 JNG 13-Jun-79
2) PUSHJ P,FOR.L1 ;[1200] PUT FORLIB IN LIST OF LI
BRARIES
2) ; ..
2)
2)84 ;SINCE WE'RE LOADING REENTRANT FOROTS, LOAD SYS:FORLIB/SEGMENT:L
OW.
2) ;THIS IS REQUIRED BY FOROTS VERSION 6 AND LATER.
2)
2) MOVE P2,F.NXZR ;[1200] LAST LIBRARY PUT ON LIST
2) CAMN P1,F.NAME(P2) ;[1200] WAS IT FORLIB?
2) SKIPE F.SWP(P2) ;[1200] WITH NO SWITCHES YET?
2) POPJ P, ;[1200] NO, RETURN FROM FOR.L0
2) MOVEI T2,3 ;[1200] YES, ALLOCATE A SWITCH B
LOCK
2) PUSHJ P,DY.GET## ;[1200] IN DY AREA
2) MOVEM T1,F.SWP(P2) ;[1200] PUT SWITCH IN FILE BLOCK
2) HRLZM T2,0(T1) ;[1200] STORE BLOCK SIZE
2) DMOVE T2,[EXP %SEG%,$SEGLOW] ;[1200] SWITCH AND ARGUM
ENT
2) DMOVEM T2,1(T1) ;[1200] STORE IN SWITCH BLOCK
2) POPJ P, ;[1200] DONE
2)
2)
2) ;DEFINE %SEG%. MUST CALL SWTCHS MACRO.
Digital Equipment Corporation 28-AUG-79 Page 671
PCO Log Report
2)
2) ..SEG==0
2)
2) DEFINE SWMAC(A,B,C,D,E,F,G,H,I)<
2)
2) IFIDN <B>,<SEGMENT>,<%SEG%==..SEG>
2) ..SEG==..SEG+1>
2)
2) SWTCHS ;[1200] LOOK FOR /SEGMENT
2)
2)
2) ;HERE WHEN FORTRAN CODE IS SEEN, BUT NO MAIN PROGRAM.
2)
2) FOR.L1: SKIPL FORLIB ;TEST FOR USER SCREW-UP
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 672
PCO Log Report
*********************
*PCO #:10-LINK -290*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1200)
[Date Entered] 13-JUN-79
[Programmer] GILBERT
[Routines] LNKPAR LNKLOD LNKWLD LNKOV1
[Key Words] /SEG:PSECT %LNKNEB
[Source Before Edit] %4A (001200)
[Source After Edit] %4A (001201)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27815
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 673
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK accepts /SEGMENT:PSECT, but blows up during
loading.
**********
[DIAGNOSIS]
The PSECT keyword to /SEGMENT was implemented
accidentally when /SYMSEG:PSECT was implemented, since both
switches use the same keyword list. The /SEGMENT switch
processing routine is not expecting this, however, and
destroys the flag word when it sees it.
**********
[CURE]
Split the switch keywords into two different lists.
Digital Equipment Corporation 28-AUG-79 Page 674
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1332 13-Jun-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1626 13-Jun-1979
1)1 DECEVR==1200 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1201 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1201 JNG 13-Jun-79
2) ; Disallow /SEGMENT:PSECT, which worked because it used th
e same
2) ; keyword table as /SYMSEG.
2) ; Routines: LNKPAR, LNKLOD, LNKOV1, LNKOV2, LNKWLD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 675
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 0244 12-Jun-1979
File 2) LINK:LNKPAR.MAC[10,645063] created: 1622 13-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 12-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 13-Jun-7
9
2)
**************
1)1 DECEVR==1177 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1201 ;DEC EDIT VERSION
2)
**************
1)5
****
2)5 ;1201 Split out the /SEGMENT and /SYMSEG keywords; disallow /S
EGMENT:PSECT.
2)
**************
1)34 SWMAC SL,SYMSEG,,SEGK,2,4,.,,.SWSYM ;[721]
1) SWMAC SL,SYSLIBRARY,,LIBK,1,3,.
****
2)34 ;**;[1201] Change @ /SYMSEG in SWMAC JNG 13-Jun-79
2) SWMAC SL,SYMSEG,,SSGK,2,4,.,,.SWSYM ;[1201]
2) SWMAC SL,SYSLIBRARY,,LIBK,1,3,.
**************
1)37 KEYMAC SEG,<DEFAULT,LOW,HIGH,NONE,PSECT>
1) KEYMAC SYM,<RADIX50,TRIPLET,ALGOL>; ;;ADD ALGOL KEYWORD
****
2)37 ;**;[1201] Replace @ SEG KEYMAC macro JNG 13-Jun-79
2) KEYMAC SEG,<LOW,HIGH,DEFAULT,NONE> ;[1201]
2) KEYMAC SSG,<LOW,HIGH,NONE,PSECT,DEFAULT> ;[1201] LOW & HIGH MUS
T BE FIRST 2
2) KEYMAC SYM,<RADIX50,TRIPLET,ALGOL>; ;;ADD ALGOL KEYWORD
**************
1)38 IFIDN <A><SEG>,<
1) %%==0
1) IRP B,<
****
2)38 ;;**;[1201] Replace in KEYMAC macro JNG 13-Jun-79
2) IFIDN <A><SSG>,<
2) %%==1
2) IRP B,<
**************
Digital Equipment Corporation 28-AUG-79 Page 676
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1317 13-Jun-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1539 13-Jun-1979
1)1 DECEVR==1200 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1201 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1201 Change reference to $SEGLOW to LC.IX.
2)
**************
1)66 CAIN T1,$SEGNONE ;USER GIVE /SYMSEG:NONE?
1) JRST [SETZM SYMSEG ;YES, TELL LNKXIT
****
2)66 ;**;[1201] Replace @ GO+3L JNG 13-Jun-79
2) CAIN T1,$SSGNONE ;[1201] USER GIVE /SYMSEG:NONE?
2) JRST [SETZM SYMSEG ;YES, TELL LNKXIT
**************
1)66 MOVEI T1,$SEGLOW ;OTHERWISE, DEFAULT TO LOW
1) MOVEM T1,SYMSEG ;STORE FOR LNKXIT
1) MOVE T1,['.LOW. '] ;PSECT NAME
1) MOVEM T1,SSGNAM ;STORE
1) > ;END IFN TOPS20
****
2)66 ;**;[1201] Replace @ GO+8L JNG 13-Jun-79
2) MOVEI T1,$SSGLOW ;[1201] OTHERWISE, DEFAULT TO LO
W
2) MOVEM T1,SYMSEG ;STORE FOR LNKXIT
2) > ;END IFN TOPS20
**************
1)84 DMOVE T2,[EXP %SEG%,$SEGLOW] ;[1200] SWITCH AND ARGUM
ENT
1) DMOVEM T2,1(T1) ;[1200] STORE IN SWITCH BLOCK
****
2)84 ;**;[1201] Change @ FOR.L0+1P11L JNG 13-Jun-79
2) DMOVE T2,[EXP %SEG%,$SSGLOW] ;[1201] SWITCH AND ARGUM
ENT
2) DMOVEM T2,1(T1) ;[1200] STORE IN SWITCH BLOCK
**************
Digital Equipment Corporation 28-AUG-79 Page 677
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 0951 12-Jun-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1617 13-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 12-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 13-Jun-7
9
2)
**************
1)1 DECEVR==1177 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1201 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1201 Change $SEGxxx to $SSGxxx.
2)
**************
1)39 SEGTAB: R.FLS!R.FHS,,R.FNS ;0
1) R.FNS!R.FHS,,R.FLS ;1
1) R.FNS!R.FLS,,R.FHS ;2
1) R.FLS!R.FHS,,R.FNS ;3
1)
****
2)39 ;**;[1201] Re-arrange @ SEGTAB JNG 12-Jun-79
2) SEGTAB: R.FNS!R.FHS,,R.FLS ;[1201] LOW
2) R.FNS!R.FLS,,R.FHS ;[1201] HIGH
2) R.FLS!R.FHS,,R.FNS ;[1201] DEFAULT
2) R.FLS!R.FHS,,R.FNS ;[1201] NONE
2)
**************
1)43 SUBI T2,1 ;DEFAULT IS 1
1) IFN FTOVERLAY,<
****
2)43 ;**;[1201] Replace @ .SYMSEG+1L JNG 13-Jun-79
2) CAIN T2,$SSGDEFAULT ;[1201] /SYMSEG:DEFAULT?
2) JRST [SETZM SYMSEG ;[1201] YES, DO IT
2) POPJ P,] ;[1201] GET OUT
2) IFN FTOVERLAY,<
**************
1)43 CAIE T2,$SEGLOW ;[1176] USER WANT LOW SEGMENT?
1) CAIN T2,$SEGNONE ;[1176] OR NO SYMBOLS?
1) JRST %SYMSG ;[1176] YES, ONLY POSSIBILITIES
WITH OVERLAYS
****
2)43 ;**;[1201] Change @ .SYMSEG+4L JNG 13-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 678
PCO Log Report
2) CAIE T2,$SSGLOW ;[1201] USER WANT LOW SEGMENT?
2) CAIN T2,$SSGNONE ;[1201] OR NO SYMBOLS?
2) JRST %SYMSG ;[1176] YES, ONLY POSSIBILITIES
WITH OVERLAYS
**************
1)43 MOVEI T2,$SEGLOW ;PUT THEM IN LOW SEG
1) %SYMSG:>
1) CAIN T2,$SEGPSECT ;[721] A PSECT SPECIFIED?
1) JRST SYMS1 ;[721]
1) MOVEM T2,SYMSEG ;STORE INDEX TO EITHER LC OR HC
1) CAIE T2,$SEGHIGH ;[727] WANT SYMBOLS IN HIGH SEGM
ENT?
1) JRST [PUSH P,[SIXBIT/.LOW./] ;[727] SAVE SEGMENT NAME
1) POP P,SSGNAM ;[727]
1) POPJ P,] ;[727]
1) SETZM SYMLIM ;[727] CLEAR DEFAULT SYMBOL LIMI
T
1) PUSH P,[SIXBIT/.HIGH./] ;[727] SAVE SEGMENT NAME
1) POP P,SSGNAM ;[727]
1) SKIPE HC.LB ;YES, IS IT SET UP YET?
****
2)43 ;**;[1201] Change @ %SYMSG+1L JNG 13-Jun-79
2) MOVEI T2,$SSGLOW ;[1201] PUT THEM IN LOW SEG
2) %SYMSG:>
2) CAIN T2,$SSGPSECT ;[1201] A PSECT SPECIFIED?
2) JRST SYMS1 ;[721]
2) MOVEM T2,SYMSEG ;STORE INDEX TO EITHER LC OR HC
2) CAIE T2,$SSGHIGH ;[1201] WANT SYMBOLS IN HIGH SEG
MENT?
2) POPJ P, ;[1201] NO, DONE
2) SKIPE HC.LB ;YES, IS IT SET UP YET?
**************
Digital Equipment Corporation 28-AUG-79 Page 679
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV1.MAC[30,4507] created: 1810 10-Jun-1979
File 2) LINK:LNKOV1.MAC[10,645063] created: 1510 13-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 13-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1201 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1201 Change $SEGxxx to $SSGxxx.
2)
**************
1)11 CAIE T2,$SEGNONE ;USER SAYS NO?
1) SKIPE NOSYMS ;HOWEVER IF USER SAID NO
****
2)11 ;**;[1201] Replace @ LNKT0A+2L JNG 13-Jun-79
2) CAIE T2,$SSGNONE ;[1201] USER SAYS NO?
2) SKIPE NOSYMS ;HOWEVER IF USER SAID NO
**************
1)11 MOVEI T2,$SEGLOW ;SYMBOLS IN LOW SEG INDEX
1) MOVEM T2,SYMSEG ;SET VALUE SO WE CAN SAVE SYMBOL
S
****
2)11 ;**;[1201] Insert @ LNKT0B+9L JNG 13-Jun-79
2) MOVEI T2,$SSGLOW ;[1201] SYMBOLS IN LOW SEG INDEX
2) MOVEM T2,SYMSEG ;SET VALUE SO WE CAN SAVE SYMBOL
S
**************
Digital Equipment Corporation 28-AUG-79 Page 680
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV2.MAC[30,4507] created: 1831 10-Jun-1979
File 2) LINK:LNKOV2.MAC[10,645063] created: 1540 13-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC/DZN 13-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1201 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1201 Change references to $SEGxxx to $SSGxxx.
2)
**************
1)4 CAIE T1,$SEGNONE ;USER SAY NO?
1) SKIPE NOSYMS ; . . . ?
****
2)4 ;**;[1201] Replace @ E$$OS2+2L JNG 13-Jun-79
2) CAIE T1,$SSGNONE ;[1201] USER SAY NO?
2) SKIPE NOSYMS ; . . . ?
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 681
PCO Log Report
*********************
*PCO #:10-LINK -291*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1174)
[Date Entered] 15-JUN-79
[Programmer] GILBERT
[Routines] LNKPAR LNKFIO LNKLOG LNKXIT
[Key Words] BAD 1174 TOPS-20
[Source Before Edit] %4A (001201)
[Source After Edit] %4A (001202)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 682
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
After edit 1172, /VERSION no longer sets .JBVER. Also,
after edit 1174, LINK will no longer assemble on TOPS-20.
**********
[DIAGNOSIS]
Errors in the above edits.
**********
[CURE]
Fix them.
Digital Equipment Corporation 28-AUG-79 Page 683
PCO Log Report
[FILCOM]
File 1) DSK:LNKHST.201[4,327] created: 1226 13-Jun-1979
File 2) DSK:LNKHST.MAC[4,327] created: 0213 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 13-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Jun-7
9
2)
**************
1)1 DECEVR==1201 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1202 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1202 JNG 14-Jun-79
2) ; Fix /VERSION after 1172, and make LINK assemble on TOPS-
20
2) ; after edit 1174.
2) ; Routines: LNKPAR, LNKFIO, LNKLOG, LNKXIT.
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 684
PCO Log Report
[FILCOM]
File 1) DSK:LNKPAR.201[4,327] created: 1222 13-Jun-1979
File 2) DSK:LNKPAR.MAC[4,327] created: 0205 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 13-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 14-Jun-7
9
2)
**************
1)1 DECEVR==1201 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1202 ;DEC EDIT VERSION
2)
**************
1)5
****
2)5 ;1202 Make assemble on TOPS-20 after edit 1174.
2)
**************
1)29 SYN OUTSTR,.OERR. ;[1174] USED FOR MESSAGES LNKLOG
CAN'T HANDLE
1)
****
2)29 ;**;[1202] Replace @ .OERR. JNG 14-Jun-79
2) IFE TOPS20,<
2) SYN OUTSTR,.OERR. ;[1174] USED FOR MESSAGES LNKLOG
CAN'T HANDLE
2) > ;END IFE TOPS20
2)
2)
2) IFN TOPS20,<
2) DEFINE .OERR.(TEXT)<
2) HRROI 1,TEXT;; ;[1202] SAME AS OUTSTR DEF BELOW
2) PSOUT
2) >
2) > ;END IFN TOPS20
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 685
PCO Log Report
[FILCOM]
File 1) DSK:LNKFIO.174[4,327] created: 1247 10-Jun-1979
File 2) DSK:LNKFIO.MAC[4,327] created: 1455 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 14-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1202 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1202 Make LNKNED message be potentially editable after 1174.
2)
**************
1)23 ;**;[1174] Replace @NSDERR DZN 29-May-79
1) E01NED::PUSH P,T1 ;[1174] PUT CHANNEL ON STACK FOR
LNKLOG
1) .ERR. (I,0,V%L,L%F,S%E,NED)
****
2)23 ;**;[1202] Replace @E$$NSD DZN 14-Jun-79
2) E01NED::PUSH P,IO.CHN ;[1174] PUT CHANNEL ON STACK FOR
LNKLOG
2) .ERR. (I,0,V%L,L%F,S%E,NED)
**************
Digital Equipment Corporation 28-AUG-79 Page 686
PCO Log Report
[FILCOM]
File 1) DSK:LNKLOG.174[4,327] created: 1329 11-Jun-1979
File 2) DSK:LNKLOG.MAC[4,327] created: 1452 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 14-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1202 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1202 Make S%E severity on code I messages work after edit 117
4.
2)
**************
1)8 ER.MS: PUSHJ P,CHKLVL ;OUTPUT %,? OR TIME STAMP ETC
1) JRST ERRNXT ;[1174] NOTHING TO OUTPUT
****
2)8 ;**;[1202] Replace @ER.MS DZN 14-Jun-79
2) ER.MS: SETOM ERCHAN ;[1202] SIGNAL NO CHANNEL INVOLV
ED
2) PUSHJ P,CHKLVL ;OUTPUT %,? OR TIME STAMP ETC
2) JRST ERRNXT ;[1174] NOTHING TO OUTPUT
**************
1)8 MOVE T4,ERCHAN ;[1174] GET CHANNEL WHERE CHKCHN
LIKES IT
1) ;**;[1144] Replace @ER.LRE+1L DZN 16-Feb-79
****
2)8 ;**;[1202] Replace @ER.LRE+1L DZN 14-Jun-19
2) MOVE T4,ERCHAN ;[1174] GET CHANNEL
2) ;**;[1144] Replace @ER.LRE+1L DZN 16-Feb-79
**************
1)9 ERLRE2: PUSHJ P,CHKCHN ;IF EDITABLE, SEE IF FATAL
1) PUSHJ P,CHKLVL ;OUTPUT TIME ETC
1) JRST ERRNXT ;[1174] NOTHING TO DO
****
2)9 ;**;[1202] Replace @ERLRE2 DZN 14-Jun-79
2)
2) ERLRE2: PUSHJ P,CHKLVL ;[1202] OUTPUT TIME ETC
2) JRST ERRNXT ;[1174] NOTHING TO DO
**************
1)9 ERLRE3: MOVE T4,ERCHAN ;[1174] RESTORE CHAN PLUS FLAGS
1) IFE FTSINGLE,<
****
Digital Equipment Corporation 28-AUG-79 Page 687
PCO Log Report
2)9 ;**;[1202] Replace @ERLRE3 DZN 14-Jun-79
2) MOVE T4,ERCHAN ;[1202] RESTORE CHAN PLUS FLAGS
2) IFE FTSINGLE,<
**************
1)11 ERI1: MOVE T4,ERCHAN ;[1174] GET CHANNEL FOR CHKCHN
1) PUSHJ P,CHKCHN ;SETUP CHAN# IF EDITABLE
1) HRRZ T4,IO.PTR(T4) ;GET IO POINTER
****
2)11 ;**;[1202] Replace @ERI1 DZN 14-Jun-79
2) MOVE T4,ERCHAN ;[1202] GET CHANNEL
2) HRRZ T4,IO.PTR(T4) ;GET IO POINTER
**************
1)12 ERST1: MOVEI T1,[ASCIZ \Status \] ;[1144]
1) OUTVIA .TSTRG##
****
2)12 ;**;[1202] Replace @ERST1 DZN 14-Jun-79
2) MOVEI T1,[ASCIZ \Status \] ;[1144]
2) OUTVIA .TSTRG##
**************
1)12 MOVE T4,ERCHAN ;[1174] GET CHANNEL NUMBER FOR C
HKCHN
1) PUSHJ P,CHKCHN ;SETUP CHAN# IF EDITABLE
1) HRRZ T1,IO.PTR(T4) ;GET IO POINTER
1) JRST ERFSPC ;REST OF FILE SPEC
1)
1)13 ;INPUT CHAN CHECK
1) ;CALLED BY
1) ; MOVE T4,CHAN#
1) ; PUSHJ P,CHKCHN
1)
1) CHKCHN: HRRZ T4,T4 ;CHAN # ONLY
1) LDB T1,SEVPTR ;GET SEVERITY
1) CAIN T1,S%E ;EDITABLE?
1) CAIN T4,DC ;BUT ONLY IF INPUT
1) POPJ P, ;YES
1) MOVEI T1,S%F ;NOT EDITABLE YET
1) DPB T1,SEVPTR ;SO MAKE FATAL
1) POPJ P,
1)
****
2)12 ;**;[1202] Replace @ERST1+11L DZN 14-Jun-79
2) MOVE T4,ERCHAN ;[1202] GET CHANNEL NUMBER
2) HRRZ T1,IO.PTR(T4) ;GET IO POINTER
2) JRST ERFSPC ;REST OF FILE SPEC
2) ;**;[1202] Delete CHKCHN routine DZN 14-Jun-79
2)
**************
1)18 CHKLVL: LDB T1,LVLPTR ;GET LIST LEVEL
1) CAMGE T1,LOGLVL ;ABOVE CUTOFF?
Digital Equipment Corporation 28-AUG-79 Page 688
PCO Log Report
****
2)17 ;**;[1202] Replace @CHKLVL DZN 14-Jun-79
2) CHKLVL: SKIPGE T1,ERCHAN ;[1202] I/O ERROR?
2) JRST CHKLV1 ;[1202] NO--SKIP EDITABLE TEST
2) HRRZS T1 ;[1202] CLEAR FLAGS IN LH
2) LDB T2,SEVPTR ;[1202] GET SEVERITY
2) CAXN T2,S%E ;[1202] EDITABLE?
2) CAXN T1,DC ;[1202] AND NOT INPUT REL FILE
CHANNEL?
2) JRST CHKLV1 ;[1202] YES--LEAVE EDITABLE
2) MOVX T2,S%F ;[1202] NO--NOT EDITABLE FOR NOW
, MAKE FATAL
2) DPB T2,SEVPTR ;[1202] STORE SEVERITY BACK
2) CHKLV1: LDB T1,LVLPTR ;[1202] GET LIST LEVEL
2) CAMGE T1,LOGLVL ;ABOVE CUTOFF?
**************
Digital Equipment Corporation 28-AUG-79 Page 689
PCO Log Report
[FILCOM]
File 1) DSK:LNKXIT.174[4,327] created: 1541 10-Jun-1979
File 2) DSK:LNKXIT.MAC[4,327] created: 0212 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 14-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1202 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1202 Fix problems introduced by edits 1172 and 1174.
2)
**************
1)12 SETZM .JBSYM(T1) ;[1172] ASSUME NO SYMBOLS
****
2)12 ;**;[1202] Insert @ CHKRST+3L JNG 14-Jun-79
2) SKIPN T2,VERNUM ;[1202] /VERSION? (CHECK NOW FOR
OLDSYM)
2) SKIPA T2,.JBVER(T1) ;[1202] NO, FETCH FROM .JBVER
2) MOVEM T2,.JBVER(T1) ;[1202] OVERRIDE IF /VERSION
2) MOVEM T2,VERNUM ;[1202] STORE FOR SYMBOL FILES
2) SETZM .JBSYM(T1) ;[1172] ASSUME NO SYMBOLS
**************
1)89 ERJMP GFEERR ;[1144] GETJFN FAILED FOR EXE FI
LE
1) HRRM T1,ACS+R%16 ;[1144] PUT JFN IN GET JSYS ARGU
MENT
****
2)89 ;**;[1202] Replace @ RUNEX2+19L JNG 14-Jun-79
2) ERJMP E$$GFE ;[1202] GETJFN FAILED FOR EXE FI
LE
2) HRRM T1,ACS+R%16 ;[1144] PUT JFN IN GET JSYS ARGU
MENT
**************
1)93 E$$ELF::.ERR. (MS,,V%L,L%I,S%I,ELF,<End of log file>) ;[1174]
****
2)93 ;**;[1202] Insert @ E$$FIN+1L JNG 14-Jun-79
2) SKIPN IO.PTR+RC ;[1202] A REAL LOG FILE?
2) SKIPGE LOGTTY ;[1202] OR USER'S TERMINAL?
2) JRST E$$ELF ;[1202] YES, TYPE MESSAGE
2) POPJ P, ;[1202] NO, DONE
2) E$$ELF::.ERR. (MS,,V%L,L%I,S%I,ELF,<End of log file>) ;[1174]
**************
Digital Equipment Corporation 28-AUG-79 Page 690
PCO Log Report
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 691
PCO Log Report
*********************
*PCO #:10-LINK -292*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1174)
[Date Entered] 15-JUN-79
[Programmer] GILBERT
[Routines] LNKPAR LNKMAP LNKWLD LNKLOD
[Key Words] EX FORTRAN
[Source Before Edit] %4A (001202)
[Source After Edit] %4A (001203)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 692
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK 4A needs to support Extended FORTRAN.
**********
[DIAGNOSIS]
The FORTRAN development group needs it.
**********
[CURE]
Add the support. Extended FORTRAN is compiler type 23
(octal). This edit adds the LNKCMX and LNKSNS messages.
Digital Equipment Corporation 28-AUG-79 Page 693
PCO Log Report
[FILCOM]
File 1) DSK:LNKHST.202[4,327] created: 0213 14-Jun-1979
File 2) DSK:LNKHST.MAC[4,327] created: 0709 14-Jun-1979
1)1 DECEVR==1202 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1203 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1203 JNG 14-Jun-79
2) ; Add support for Extended FORTRAN.
2) ; Routines: LNKPAR, LNKMAP, LNKLOD, LNKERR
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 694
PCO Log Report
[FILCOM]
File 1) DSK:LNKPAR.202[4,327] created: 0205 14-Jun-1979
File 2) DSK:LNKPAR.MAC[4,327] created: 0828 14-Jun-1979
1)1 DECEVR==1202 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1203 ;DEC EDIT VERSION
2)
**************
1)5
****
2)5 ;1203 Add support for extended FORTRAN.
2)
**************
1)14 DEFINE PROCESSORS<
1) X UNKNOWN,UNK
1) X F40,F40
1) X COBOL,CBL
1) X ALGOL,ALG
1) X NELIAC,NLI
1) X PLI,PLI
1) X BLISS,BLI
1) X SAIL,SAI
1) X FORTRAN,FOR
1) X MACRO,MAC
1) X FAIL,FAI
1) X BCPL,BCP
1) X MIDAS,MID
1) X SIMULA,SIM
1) X CBL74,C74
1) X CBL79,C79
1) X BLS36,B36
1) X BASIC,BAS
1) >
****
2)14 ;**;[1203] Replace @ PROCESSORS macro JNG 14-Jun-79
2) DEFINE PROCESSORS<
2) X UNKNOWN,UNK,<Unknown>
2) X F40,F40,<F40>
2) X COBOL,CBL,<COBOL-68>
2) X ALGOL,ALG,<Algol>
2) X NELIAC,NLI,<NELIAC>
2) X PLI,PLI,<PL/I>
2) X BLISS,BLI,<BLISS-10>
2) X SAIL,SAI,<SAIL>
2) X FORTRAN,FOR,<FORTRAN>
2) X MACRO,MAC,<MACRO>
2) X FAIL,FAI,<FAIL>
2) X BCPL,BCP,<BCPL>
2) X MIDAS,MID,<MIDAS>
Digital Equipment Corporation 28-AUG-79 Page 695
PCO Log Report
2) X SIMULA,SIM,<SIMULA>
2) X CBL74,C74,<COBOL-74>
2) X CBL80,C80,<COBOL-80>
2) X BLS36,B36,<BLISS-36>
2) X BASIC,BAS,<BASIC>
2) X SITGO,STG,<SITGO>
2) X FORTRAN,XFR,<Extended FORTRAN>
2) >
**************
1)14 DEFINE X (A,B)<
1) CT.'B==CT.LEN
****
2)14 ;**;[1203] Change @ X macro JNG 14-Jun-79
2) DEFINE X (A,B,C)<
2) CT.'B==CT.LEN
**************
1)37 KEYMAC DEB,<,MACRO,DDT,*FORTRAN,FORDDT,*COBOL,COBDDT,SAIL,SDDT,
FAIL,SDDT,SIMULA,SIMDDT,CBL74,COBDDT>
1) >
1) IFN FTMANTIS,<
1) KEYMAC DEB,<,MACRO,DDT,*FORTRAN,MANTIS,*COBOL,COBDDT,SAIL,SDDT,
FAIL,SDDT,SIMULA,SIMDDT,CBL74,COBDDT>
1) >
****
2)37 ;;**;[1203] Replace in KEYWORDS macro JNG 14-Jun-79
2) KEYMAC DEB,<,MACRO,DDT,*FORTRAN,FORDDT,*COBOL,COBDDT,SAIL,SDDT^
_
2) ,FAIL,SDDT,SIMULA,SIMDDT>
2) >
2) IFN FTMANTIS,<
2) KEYMAC DEB,<,MACRO,DDT,*FORTRAN,MANTIS,*COBOL,COBDDT,SAIL,SDDT^
_
2) ,FAIL,SDDT,SIMULA,SIMDDT>
2) >
**************
1)37 KEYMAC LIB,<ANY,F40,COBOL,ALGOL,NELIAC,PL1,BLISS,SAIL,FORTRAN,M
ACRO^_
1) ,FAIL,BCPL,MIDAS,SIMULA,CBL74>
1) KEYMAC MAP,<END,NOW,ERROR,INCREMENTAL>
****
2)37 ;**;[1203] Replace in KEYWORDS macro JNG 14-Jun-79
2) KEYMAC LIB,<ANY,F40,COBOL,ALGOL,NELIAC,PL1,BLISS,SAIL,*FORTRAN,
MACRO^_
2) ,FAIL,BCPL,MIDAS,SIMULA,CBL74,CBL79,BLS36,BASIC,SITGO,FORTRAN>
2) KEYMAC MAP,<END,NOW,ERROR,INCREMENTAL>
**************
1)39 DEFINE X (A,B)<
1) IFIDN <B><UNK>,<
****
Digital Equipment Corporation 28-AUG-79 Page 696
PCO Log Report
2)39 ;**;[1203] Replace in X macro above $LIBDEFAULT JNG 14-Jun-7
9
2) DEFINE X (A,B,C)<
2) IFIDN <B><UNK>,<
**************
1)39 $LIB'A==B'BIT
1) >
****
2)39 ;;**;[1203] Replace in X macro below $LIBDEFAULT JNG
14-Jun-79
2) $LIB'B==B'BIT
2) >
**************
Digital Equipment Corporation 28-AUG-79 Page 697
PCO Log Report
[FILCOM]
File 1) DSK:LNKLOD.201[4,327] created: 1139 13-Jun-1979
File 2) DSK:LNKLOD.MAC[4,327] created: 0749 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 13-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 14-Jun-7
9
2)
**************
1)1 DECEVR==1201 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1203 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1203 Support extended FORTRAN.
2)
**************
1)55 ;**;[1120] Various changes near CT.NAM DZN 22-Sep-78
1) DEFINE X(A,B)<
1) IF1,<BLOCK 1>
****
2)55 ;**;[1203] Changes near CT.NAM JNG 14-Jun-79
2) DEFINE X(A,B,C)<
2) IF1,<BLOCK 1>
**************
1)55 DEFINE X(A,B)<
1) B'BIT
****
2)55 DEFINE X(A,B,C)<
2) B'BIT
**************
1)56 TXNE T2,FORBIT ;[1120] CAN NOT HAVE BOTH
****
2)56 ;**;[1203] Insert @ F40NAM+19L JNG 14-Jun-79
2) TXNN T2,XFRBIT ;[1203] EXTENDED FORTRAN?
2) TXNE T2,FORBIT ;[1120] CAN NOT HAVE BOTH
**************
1)57 ;**;[1120] Replace @C74ERR+6L DZN 22-Sep-78
****
2)58
2) ;**;[1120] Replace @C74ERR+6L DZN 22-Sep-78
**************
1)57 FORNAM:
1) IFN FMXFOR,<
****
Digital Equipment Corporation 28-AUG-79 Page 698
PCO Log Report
2)58 ;**;[1203] Insert @ FORNAM JNG 12-Jun-79
2) XFRNAM: TXNE T2,FORBIT ;[1203] SEEN OTHER FORTRAN?
2) JRST E$$CMX ;[1203] YES, ERROR
2) JRST FOROK ;[1203] NO, PROCEED
2) FORNAM: TXNE T2,XFRBIT ;[1203] OTHER FORTRAN?
2) JRST E$$CMX ;[1203] YES, COMPLAIN
2) FOROK:
2) IFN FMXFOR,<
**************
1)57 ;**;[1120] Delete @FORCPU+1P DZN 22-Sep-78
1)
****
2)58 ;**;[1203] Insert @ FORSEG+11L JNG 14-Jun-79
2)
2)
2) E$$CMX::.ERR. (MS,.EC,V%L,L%F,S%F,CMX,<Cannot mix Extended FOR
TRAN compiled code with FORTRAN compiled code>)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1203]
2) ;**;[1120] Delete @FORCPU+1P DZN 22-Sep-78
2)
2)59 ;SITGO
2)
2) STGNAM:
2) E$$SNS::.ERR. (MS,.EC,V%L,L%F,S%F,SNS,<SITGO not supported>)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1203]
2)
**************
1)81 DEFINE X(A,B)<
1) IF1,<
****
2)83 ;**;[1203] Change @ REMLIB+1P JNG 14-Jun-79
2) DEFINE X(A,B,C)<
2) IF1,<
**************
1)81 DEFINE X(A,B)<
1) IF1,<
****
2)83 ;**;[1203] Change @ MNTBL+3L JNG 14-Jun-79
2) DEFINE X(A,B,C)<
2) IF1,<
**************
1)82 TXNE T1,FORBIT ;HAVE WE SEEN ANY FORTRAN-10 COD
E?
****
2)84 ;**;[1203] Insert @ F40.L0+4L JNG 14-Jun-79
2) TXNN T1,XFRBIT ;[1203] EXTENDED FORTRAN CODE?
2) TXNE T1,FORBIT ;HAVE WE SEEN ANY FORTRAN-10 COD
E?
**************
Digital Equipment Corporation 28-AUG-79 Page 699
PCO Log Report
1)84
****
2)86 ;**;[1203] Insert @ FORL10+2L JNG 14-Jun-79
2)
2)
2) ;HERE WHEN EXTENDED FORTRAN IS SEEN. SAME AS FORTRAN.
2)
2) XFR.L0==FOR.L0 ;[1203] MAIN PROGRAM ENTRY
2) XFR.L1==FOR.L1 ;[1203] ANY CODE SEEN ENTRY
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 700
PCO Log Report
[FILCOM]
File 1) DSK:LNKWLD.201[4,327] created: 1217 13-Jun-1979
File 2) DSK:LNKWLD.MAC[4,327] created: 0823 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 13-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 14-Jun-7
9
2)
**************
1)1 DECEVR==1201 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1203 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1203 Add support for extended FORTRAN.
2)
**************
1)61 KEYTBL <CPU,DEF,HYL,LIB,MAP,MPS,SYM,SYS,VER>
1) SALL
1)
****
2)61 ;**;[1203] Change @ CHKRSW+1P20L JNG 14-Jun-79
2) KEYTBL <CPU,DEF,HYL,MAP,MPS,SYM,SYS,VER>
2) SALL
2)
2) DEFINE X(A,B,C)<
2) EXP $LIB'B
2) >
2) XALL ;[1203] EXPAND LISTING
2) EXP $LIBDEFAULT ;[1203] -1 ENTRY
2) LIBTBL: PROCESSORS ;[1203] GET LIB TABLE
2) SALL ;[1203] BACK TO NORMAL
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 701
PCO Log Report
[FILCOM]
File 1) DSK:LNKMAP.174[4,327] created: 1256 10-Jun-1979
File 2) DSK:LNKMAP.MAC[4,327] created: 0628 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 14-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1203 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1203 Add support for extended FORTRAN.
2)
**************
1)44 ;**;[1120] Replace @END1+1P0L DZN 22-Sep-78
1) DEFINE X (A,B)<
1) IFIDN <A><PLI>,<
1) [ASCIZ \PL/I\]
1) >
1) IFDIF <A><PLI>,<
1) IFIDN <A><CBL74>,<
1) [ASCIZ \COBOL-74\]
1) >
1) IFDIF <A><CBL74>,<
1) IFIDN <A><COBOL>,<
1) [ASCIZ \COBOL-68\]
1) >
1) IFDIF <A><COBOL>,<
1) [ASCIZ \A\]
1) >
1) >
1) >
1) >
****
2)44 ;**;[1203] Replace @ END1+1P0L JNG 14-Jun-79
2) DEFINE X (A,B,C)<
2) [ASCIZ \C\]
2) >
**************
Digital Equipment Corporation 28-AUG-79 Page 702
PCO Log Report
[FILCOM]
File 1) DSK:LNKERR.175[4,327] created: 2116 11-Jun-1979
File 2) DSK:LNKERR.MAC[4,327] created: 0715 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 12-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 14-Jun-79
2)
**************
1)1 DECEVR==1175 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1203 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1203 Add the LNKCMX and LNKSNS messages.
2)
**************
1)10 CNW 31 31 Code not yet written at [label]
****
2)10 CMX 31 31 Cannot mix Extended FORTRAN compiled code with F
ORTRAN compiled code
2) {Detected in module [symbol] from file [file]}
2) CNW 31 31 Code not yet written at [label]
**************
1)10 SOE 31 31 Saved file output error Status [octal] for file
[file]
****
2)10 SNS 31 31 SITGO not supported
2) {Detected in module [symbol] from file [file]}
2) SOE 31 31 Saved file output error Status [octal] for file
[file]
**************
1)11 HASH CNW,0,<^_
****
2)11 HASH CMX,0,<^_
2) You cannot load modules produced by FORTRAN with modul
es
2) produced by Extended FORTRAN. Compile all FORTRAN modul
es
2) the same way, then reload.>
2)
2) HASH CNW,0,<^_
**************
1)11 IFE TOPS20,<
****
2)11 HASH SNS,0,<^_
2) LINK does not support the .REL file format produced by t
Digital Equipment Corporation 28-AUG-79 Page 703
PCO Log Report
he
2) SITGO compiler. Load your program by using SITGO.>
2)
2) IFE TOPS20,<
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 704
PCO Log Report
*********************
*PCO #:10-LINK -293*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1174)
[Date Entered] 15-JUN-79
[Programmer] GILBERT
[Routines] LNKOLD LNKLOD LNKOV1 LNKWLD
[Key Words] .GT. 77777 LNKPTL
[Source Before Edit] %4A (001203)
[Source After Edit] %4A (001204)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 705
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If a user loads a program that extends beyond location
777777, then LINK will not issue any error message.
Instead, LINK will produce a bad image with no error
message, loop, or fail with an illegal memory reference.
**********
[DIAGNOSIS]
There are no checks for this anywhere in LINK. It is
difficult to check, since addresses are truncated to 18 bits
in the lowest level input routine.
**********
[CURE]
Make the low-level routine save the full-word value
that it read, and then use this value check for loading a
program that extends beyond 777777. If this is detected,
LINK will issue the new LNKPTL message.
Digital Equipment Corporation 28-AUG-79 Page 706
PCO Log Report
[FILCOM]
File 1) DSK:LNKHST.203[4,327] created: 0709 14-Jun-1979
File 2) DSK:LNKHST.MAC[4,327] created: 0913 14-Jun-1979
1)1 DECEVR==1203 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1204 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1204 JNG 14-Jun-79
2) ; Check for programs that extend beyond location 777777, a
nd
2) ; issue the LNKPTL message.
2) ; Routines: LNKLOW, LNKOLD, LNKLOD, LNKERR
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 707
PCO Log Report
[FILCOM]
File 1) DSK:LNKLOW.174[4,327] created: 1404 10-Jun-1979
File 2) DSK:LNKLOW.MAC[4,327] created: 0832 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 14-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1204 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1204 Add LSTRRV.
2)
**************
1)3
****
2)3 ;**;[1204] Insert @ PATLOC+1L JNG 14-Jun-79
2) LSTRRV::BLOCK 1 ;[1204] LAST RIGHT RELOCATABLE V
ALUE FROM RB.1
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 708
PCO Log Report
[FILCOM]
File 1) DSK:LNKLOD.203[4,327] created: 0749 14-Jun-1979
File 2) DSK:LNKLOD.MAC[4,327] created: 0859 14-Jun-1979
1)1 DECEVR==1203 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1204 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1204 Complain if any Psects are too long.
2)
**************
1)72 MOVE W1,RC.IV(T1) ;[746] GET THE ORIGIN
****
2)72 ;**;[1204] Insert @ CHKBND+2L JNG 14-Jun-79
2) MOVSI T2,-1 ;[1204] ILLEGAL BITS
2) TDNN T2,RC.HL(T1) ;[1204] SET?
2) TDNE T2,RC.CV(T1) ;[1204] ANYPLACE?
2) PUSHJ P,E$$PTL## ;[1204] YES, DIE
2) MOVE W1,RC.IV(T1) ;[746] GET THE ORIGIN
**************
Digital Equipment Corporation 28-AUG-79 Page 709
PCO Log Report
[FILCOM]
File 1) DSK:LNKOLD.174[4,327] created: 1006 11-Jun-1979
File 2) DSK:LNKOLD.MAC[4,327] created: 1238 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 10-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 14-Jun-7
9
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1204 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1204 Give LNKPTL message if program exceeds 777777, remove LN
KHSL.
2)
**************
1)11 T.1AD: MOVE P2,W1 ;GET LOCATION REQUIRED
1) .JDDT LNKOLD,T.1AD,<<CAML P2,$LOCATION##>,<CAMLE P3,$L
OCATION>,<JRST .+3>,<SKIPE $LOCATION>>;; ;
****
2)11 ;**;[1204] Insert @ T.1AD JNG 14-Jun-79
2) T.1AD: MOVE T1,LSTRRV ;[1204] GET LAST RH WORD
2) TLNN T1,-1 ;[1204] WAS IT TOO BIG?
2) TLNE W1,-1 ;[1204] OR IS LAST ADDRESS TOO B
IG?
2) PUSHJ P,E$$PTL ;[1204] YES, ERROR
2) MOVE P2,W1 ;GET LOCATION REQUIRED
2) .JDDT LNKOLD,T.1AD,<<CAML P2,$LOCATION##>,<CAMLE P3,$L
OCATION>,<JRST .+3>,<SKIPE $LOCATION>>;; ;
**************
1)15 ;**;[1174] Replace @T.1H+4L DZN 1-Jun-79
1) JUMPL P3,E$$STL ;[1174] ERROR
1) CAMLE P2,HL.S2 ;RESET HIGHEST LOCATION COUNTER
****
2)15 ;**;[1204] Delete @ T.1H+4L JNG 14-Jun-79
2) CAMLE P2,HL.S2 ;RESET HIGHEST LOCATION COUNTER
**************
1)15 ;**;[1174] Replace @T1HSTL DZN 1-Jun-79
1) E$$STL::.ERR. (MS,.EC,V%L,L%F,S%F,STL,<High segment code too l
ong>) ;[1174]
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
1)
****
Digital Equipment Corporation 28-AUG-79 Page 710
PCO Log Report
2)15 ;**;[1204] Replace @ E$$STL JNG 14-Jun-79
2) E$$PTL::.ERR. (MS,.EC,V%L,L%F,S%F,PTL,<Program too long>)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1204]
2)
**************
1)47 PUSHJ P,RB.2 ;GET BOTH WORDS
1) JRST [MOVEI T1,5
1) ;**;[1174] Replace @T.5A+6L DZN 1-Jun-79
1) JRST E$$RBS] ;[1174]
1) TLNE W1,-1 ;MAKE SURE VALID
****
2)47 ;**;[1204] Replace @ T.5A+4L JNG 14-Jun-79
2) PUSHJ P,RB.1 ;[1204] GET FIRST WORD
2) JRST [MOVEI T1,5 ;[1204] NOT THERE, ILLEGAL
2) JRST E$$RBS] ;[1204] GO COMPLAIN
2) MOVE T1,LSTRRV ;[1204] GET THE TRUE VALUE
2) TLNE T1,-1 ;[1204] OVERFLOW?
2) PUSHJ P,E$$PTL ;[1204] YES, COMPLAIN
2) MOVE W2,W1 ;[1204] NO, SAVE FIRST WORD
2) PUSHJ P,RB.1 ;[1204] GET SECOND WORD
2) JRST [MOVEI T1,5 ;[1204] DON'T LIKE THIS EITHER
2) JRST E$$RBS] ;[1204] COMPLAIN
2) MOVE T1,LSTRRV ;[1204] TRUE VALUE
2) TLNE T1,-1 ;[1204] LEGAL?
2) PUSHJ P,E$$PTL ;[1204] NO, DIE
2) TLNE W1,-1 ;MAKE SURE VALID
**************
1)93 PUSHJ P,R50T6 ;CONVERT TO SIXBIT
****
2)93 ;**;[1204] Insert @ T.20+3L JNG 14-Jun-79
2) TRNE W3,-1 ;[1204] SMALL ENOUGH?
2) PUSHJ P,E$$PTL ;[1204] NO, COMPLAIN
2) PUSHJ P,R50T6 ;CONVERT TO SIXBIT
**************
1)99 MOVEM P1,RC.CUR ;[1154] RESTORE RC.CUR
****
2)99 ;**;[1204] Insert @ T.23B+6L JNG 14-Jun-79
2) MOVE T1,LSTRRV ;[1204] GET TRUE VALUE
2) TLNE T1,-1 ;[1204] IN BOUNDS?
2) PUSHJ P,E$$PTL ;[1204] NO, COMPLAIN
2) MOVEM P1,RC.CUR ;[1154] RESTORE RC.CUR
**************
1)110 RWORD3: LSHC R,1 ;GET RIGHT RELOCATION
1) TRNN R,-1 ;SEE IF RELOCATABLE
****
2)110 ;**;[1204] Insert @ RWORD3 JNG 14-Jun-79
2) RWORD3: SETZM LSTRRV ;[1204] ASSUME ABSOLUTE
2) LSHC R,1 ;GET RIGHT RELOCATION
2) TRNN R,-1 ;SEE IF RELOCATABLE
Digital Equipment Corporation 28-AUG-79 Page 711
PCO Log Report
**************
1)110 ADDI T1,0(T2) ;[1155] RELOCATE THE HALF WORD
1) RWORD8: HRR W1,T1 ;[1155] STORE THE RESULT
1) CPOPJ1: AOS (P) ;SKIP RETURN
****
2)110 ;**;[1204] Change @ RWORD8-1L JNG 14-Jun-79
2) ADD T1,T2 ;[1204] COMPUTE FULL-WORD RESULT
2) RWORD8: MOVEM T1,LSTRRV ;[1204] STORE FOR BREAK CHECKS
2) HRR W1,T1 ;[1155] STORE THE RESULT
2) CPOPJ1: AOS (P) ;SKIP RETURN
**************
Digital Equipment Corporation 28-AUG-79 Page 712
PCO Log Report
[FILCOM]
File 1) DSK:LNKOV1.201[4,327] created: 1110 13-Jun-1979
File 2) DSK:LNKOV1.MAC[4,327] created: 1250 14-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 13-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 14-Jun-79
2)
**************
1)1 DECEVR==1201 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1204 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1204 Say LNKPTL if /SPACE or /PATCHSIZE exceeds 777777.
2)
**************
1)17 MOVEM T1,PH.NFL ;FOR NEXT LINK
****
2)17 ;**;[1204] Insert @ LNKT4A+8L JNG 14-Jun-79
2) TLNE T1,-1 ;[1204] STILL IN BOUNDS?
2) PUSHJ P,E$$PTL## ;[1204] NO, COMPLAIN
2) MOVEM T1,PH.NFL ;FOR NEXT LINK
**************
Digital Equipment Corporation 28-AUG-79 Page 713
PCO Log Report
[FILCOM]
File 1) DSK:LNKWLD.203[4,327] created: 0823 14-Jun-1979
File 2) DSK:LNKWLD.MAC[4,327] created: 1222 14-Jun-1979
1)1 DECEVR==1203 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1204 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1204 Check for program growing too far and give LNKPTL.
2)
**************
1)16 PUSHJ P,T.COMR## ;STORE IN GLOBAL TABLE
****
2)16 ;**;[1204] Insert @ .COMMON+5L JNG 14-Jun-79
2) TRNE W3,-1 ;[1204] MORE THAN 777777?
2) PUSHJ P,E$$PTL## ;[1204] YES, COMPLAIN
2) PUSHJ P,T.COMR## ;STORE IN GLOBAL TABLE
**************
Digital Equipment Corporation 28-AUG-79 Page 714
PCO Log Report
[FILCOM]
File 1) DSK:LNKERR.203[4,327] created: 0715 14-Jun-1979
File 2) DSK:LNKERR.MAC[4,327] created: 1239 14-Jun-1979
1)1 DECEVR==1203 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1204 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1204 Add the LNKPTL message, and delete the STL message.
2)
**************
1)10 PUF 31 31 PAGE. UUO failed, error code was [octal]
****
2)10 PTL 31 31 Program too long
2) {Detected in module [symbol] from file [file]}
2) PUF 31 31 PAGE. UUO failed, error code was [octal]
**************
1)10 STL 31 31 High segment code too long
1) {Detected in module [symbol] from file [file]}
1) T13 31 31 LVAR REL block (type 13) not implemented
****
2)10 T13 31 31 LVAR REL block (type 13) not implemented
**************
1)11 IFE TOPS20,<
****
2)11 HASH PTL,0,<^_
2) Your program extends beyond location 777777, which is t
he
2) highest location that LINK is capable of loading. You m
ay
2) be able to make your program fit by moving psect origin
s,
2) lowering the high segment origin, loading into a sing
le
2) segment, reducing the size of arrays in your program,
or
2) using the overlay facility.>
2)
2) IFE TOPS20,<
**************
1)11 HASH STL,0,<^_
1) The high segment of your program has overflowed the end
of
1) memory. You can move the high segment down by using t
he
1) /SET:.HIGH.:address switch, or you can force your enti
re
Digital Equipment Corporation 28-AUG-79 Page 715
PCO Log Report
1) program into the low segment with the /SEGMENT:LOW switc
h.>
1)
1) HASH T13,0,<^_
****
2)11 HASH T13,0,<^_
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 716
PCO Log Report
*********************
*PCO #:10-LINK -294*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)
[Date Entered] 15-JUN-79
[Programmer] GILBERT
[Routines] LNKOV1
[Key Words] BIG OVL FI BGR TH 3A
[Source Before Edit] %4A (001204)
[Source After Edit] %4A (001205)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-27954
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 717
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The overlay files created by LINK version 4 are
appreciably larger than those created by LINK version 3A.
The extra disk space just contains zero.
**********
[DIAGNOSIS]
Between LINK 3A and 4, LINK's internal page 718ze was
changed from 200 words to 1000 words. However, a
calculation of required disk space in LNKOV1 referenced the
symbol for the internal page size, assuming that it was the
same as the disk block size. Since this is no longer true,
the rounding being performed uses unneeded disk blocks.
**********
[CURE]
Correct the rounding to use the symbol for disk block
size. Note that even with this edit installed, the overlay
file will not be of identical size, since some of LINK's
internal tables that get stored in the overlay file have
changed in size since LINK 3A.
Digital Equipment Corporation 28-AUG-79 Page 719
PCO Log Report
[FILCOM]
File 1) DSK:LNKHST.204[4,327] created: 1526 14-Jun-1979
File 2) DSK:LNKHST.MAC[4,327] created: 1829 14-Jun-1979
1)1 DECEVR==1204 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1205 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1205 JNG/DZN 14-Jun-79 SPR 10-27954
2) ; Re-claim some wasted blocks in .OVL files.
2) ; Routine: LNKOV1
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 720
PCO Log Report
[FILCOM]
File 1) DSK:LNKOV1.204[4,327] created: 1250 14-Jun-1979
File 2) DSK:LNKOV1.MAC[4,327] created: 1830 14-Jun-1979
1)1 DECEVR==1204 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1205 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1205 Don't waste blocks in the overlay file.
2)
**************
1)28 MOVEI T2,.IPS(T1)
1) LSH T2,-.DBS2W ;[650]
****
2)28 ;**;[1205] Replace @ LNKT7+8L JNG 14-Jun-79
2) ADDI T1,1 ;[1205] SIZE REQUIRED
2) MOVEI T2,.DBM(T1) ;[1205] ROUND UP TO BLOCK BOUND
2) LSH T2,-.DBS2W ;[650]
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 721
PCO Log Report
*********************
*PCO #:10-LINK -295*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1174)
[Date Entered] 15-JUN-79
[Programmer] GILBERT
[Routines] LNK999
[Key Words] BAD999
[Source Before Edit] %4A (001205)
[Source After Edit] %4A (001206)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 722
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
After edit 1174 is installed, the LNK999 high segment
of multi-segment LINK will no longer load correctly.
**********
[DIAGNOSIS]
The LNK999 module contains an external reference to the
symbol NO.COR, which was deleted by edit 1174.
**********
[CURE]
Correct the reference.
Digital Equipment Corporation 28-AUG-79 Page 723
PCO Log Report
[FILCOM]
File 1) DSKB:LNKHST.OLD[30,3737,LINK,NEW] created: 0836 15-JUNE-19
79
File 2) DSKB:LNKHST.MAC[30,3737,LINK,NEW] created: 0836 15-JUNE-19
79
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 14-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-Jun-7
9
2)
**************
1)1 DECEVR==1205 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1206 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1206 JNG 15-Jun-79
2) ; Fix a NO.COR in LNK999 that edit 1174 missed.
2) ; Routine: LNK999
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 724
PCO Log Report
[FILCOM]
File 1) DSKB:LNK999.OLD[30,3737,LINK,NEW] created: 0832 15-JUNE-19
79
File 2) DSKB:LNK999.MAC[30,3737,LINK,NEW] created: 0832 15-JUNE-19
79
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 15-Jun-79
2)
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1206 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1206 Fix a NO.COR that edit 1174 missed.
2)
**************
1)4 JRST NO.COR## ;CAN NOT FAIL
1) REDCR2: POP P,MAXCOR ;RESTORE FORMER LIMIT
****
2)4 ;**;[1206] Replace @ REDCOR+27L JNG 15-Jun-79
2) JRST E$$MEF## ;[1206] CAN NOT FAIL
2) REDCR2: POP P,MAXCOR ;RESTORE FORMER LIMIT
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 725
PCO Log Report
*********************
*PCO #:10-LINK -296*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1203)
[Date Entered] 29-JUN-79
[Programmer] GILBERT
[Routines] LNKLOD
[Key Words] LNKCMX
[Source Before Edit] %4A (001206)
[Source After Edit] %4A (001207)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 726
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK will stop loading if it detects mixed FORTRAN and
Extended FORTRAN, but some users may want to do this
deliberately.
**********
[DIAGNOSIS]
LINK assumed that this would never work.
**********
[CURE]
If this is detected, print a question mark for batch
and stop execution, but leave the program set up in memory.
Digital Equipment Corporation 28-AUG-79 Page 727
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0836 15-Jun-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1554 29-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 15-Jun-7
9
1) ;COPYRIGHT (C) 1973, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 29-Jun-7
9
2) ;COPYRIGHT (C) 1973, 1979 BY
**************
1)1 DECEVR==1206 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1207 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1207 JNG 29-Jun-79
2) ; Make the LNKCMX message continue loading, so the user ca
n run
2) ; the program if he wants to.
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 728
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 0554 15-Jun-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1556 29-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 14-Jun-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 29-Jun-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1204 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1207 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1207 Make the LNKCMX message continue loading.
2)5 SUBTTL LOAD CONTROL
**************
1)58 E$$CMX::.ERR. (MS,.EC,V%L,L%F,S%F,CMX,<Cannot mix Extended FOR
TRAN compiled code with FORTRAN compiled code>)
1) .ETC. (JMP,,,,,.ETIMF##) ;[1203]
1) ;**;[1120] Delete @FORCPU+1P DZN 22-Sep-78
****
2)58 ;**;[1207] Change @ E$$CMX JNG 29-Jun-79
2) E$$CMX::.ERR. (MS,.EC,V%L,L%F,S%C,CMX,<Cannot mix Extended FOR
TRAN compiled code with FORTRAN compiled code>)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1203]
2) AOS .JBERR ;[1207] STOP EXECUTION
2) JRST FOROK ;[1207] BUT KEEP LOADING
2) ;**;[1120] Delete @FORCPU+1P DZN 22-Sep-78
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 729
PCO Log Report
*********************
*PCO #:10-LINK -297*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1203)
[Date Entered] 29-JUN-79
[Programmer] GILBERT
[Routines] LNKOLD
[Key Words] LNKPBI ALGOL SAIL BLOCK 5
[Source Before Edit] %4A (001207)
[Source After Edit] %4A (001210)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-Q3307
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 730
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
After edit 1203 has been installed, LINK will not allow
block type 5s (Program End block) that contain only one data
word. This type of block is generated by the Algol and SAIL
compilers. Also, LINK thinks that a program break of
exactly 1,,0 is illegal.
**********
[DIAGNOSIS]
Before edit 1203, LINK read the block type 5 with a
call to RB.2. This routine (1) just assumed zero for the
second data word if it wasn't there, and (2) never returned
a program break of 1,,0. Edit 1203 changed this to two
calls to RB.1, both of which went to the LNKRBS error if the
data word was not present. In addition, some new code was
added to let a program break of 1,,0 through, but this break
is then disallowed by an immediately following check for the
LNKPBI message.
**********
[CURE]
Just assume zero if the second call to RB.1 fails.
Also, make the LNKPBI check on the original data word from
the REL file, not the newly-created full word quantity.
Digital Equipment Corporation 28-AUG-79 Page 731
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 0551 15-Jun-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1708 29-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 14-Jun-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 29-Jun-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1204 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1210 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)5 COMMENT \
****
2)4 ;1210 Allow 1 word block 5, allow break of exactly 1,,0 (reloc
ated).
2)5 COMMENT \
**************
1)47 MOVE W2,LSTRRV ;[1204] GET TRUE VALUE
****
2)47 ;**;[1210] Replace @ T.5A+8L JNG 29-Jun-79
2) TLNE W1,-1 ;[1210] BREAK OK IN REL FILE?
2) JRST E$$PBI ;[1210] NO, GO COMPLAIN
2) MOVE W2,LSTRRV ;[1204] GET TRUE VALUE
**************
1)47 PUSHJ P,RB.1 ;[1204] GET SECOND WORD
1) JRST [MOVEI T1,5 ;[1204] DON'T LIKE THIS EITHER
1) JRST E$$RBS] ;[1204] COMPLAIN
1) MOVE W1,LSTRRV ;[1204] TRUE VALUE
****
2)47 ;**;[1210] Replace @ T.5A+11L JNG 29-Jun-79
2) T.5PBI: PUSHJ P,RB.1 ;[1210] GET SECOND WORD
2) JRST [SETZ W1, ;[1210] OK, JUST USE ZERO
2) JRST T.5BR] ;[1210] WE'VE GOT THE BREAKS
2) TLNE W1,-1 ;[1210] INVALID?
2) JRST E01PBI ;[1210] YES, GO COMPLAIN
2) MOVE W1,LSTRRV ;[1204] TRUE VALUE
**************
1)47 TLNE W1,-1 ;MAKE SURE VALID
1) ;**;[1174] Replace @T.5A+8L DZN 1-Jun-79
1) PUSHJ P,E$$PBI ;[1174] NOT
1) TLNE W2,-1
1) PUSHJ P,E01PBI ;[1174] SAME FOR W2
1) SKIPE W3,LOD37 ;COBOL LOCAL SYMBOLS
1) ;BUT IF THEY'RE LOADED
Digital Equipment Corporation 28-AUG-79 Page 732
PCO Log Report
****
2)47 ;**;[1210] Replace @ T.5A+17L JNG 29-Jun-79
2) T.5BR: SKIPE W3,LOD37 ;[1210] COBOL LOCAL SYMBOLS
2) ;BUT IF THEY'RE LOADED
**************
1)55 SETZ W1, ;CLEAR AND CONTINUE
1) POPJ P,
1) ;**;[1174] Replace @T.5W2 DZN 1-Jun-79
1) E01PBI::.ERR. (MS,.EC,V%L,L%W,S%W,PBI) ;[1174]
1) .ETC. (OCT,.EP!.EC,,,,W2)
1) .ETC. (STR,.EC,,,,,< invalid>) ;[1174]
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
1) SETZ W2, ;CLEAR AND CONTINUE
1) POPJ P,
1)56 SUBTTL BLOCK TYPE 6 - NAME
****
2)55 ;**;[1210] Replace @ E$$PBI+4L JNG 29-Jun-79
2) SETZ W2, ;[1210] CLEAR AND CONTINUE
2) JRST T.5PBI ;[1210] GO READ SECOND WORD
2) ;**;[1210] Replace @ E01PBI JNG 29-Jun-79
2) E01PBI::.ERR. (MS,.EC,V%L,L%W,S%W,PBI) ;[1174]
2) .ETC. (OCT,.EP!.EC,,,,W1) ;[1210] TYPE INVALID BRE
AK
2) .ETC. (STR,.EC,,,,,< invalid>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2) SETZ W1, ;[1210] CLEAR INVALID BREAK
2) JRST T.5BR ;[1210] CONTINUE
2)56 SUBTTL BLOCK TYPE 6 - NAME
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 733
PCO Log Report
*********************
*PCO #:10-LINK -298*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1174)
[Date Entered] 01-JUL-79
[Programmer] GILBERT
[Routines] LNKWLD
[Key Words] LNKDRC ILL UUO ED 1174
[Source Before Edit] %4A (001210)
[Source After Edit] %4A (001211)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-Q3033
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 734
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
After edit 1174 has been installed, LINK will fail with
an illegal UUO immediately after issuing the LNKDRC warning
message.
**********
[DIAGNOSIS]
An error in that edit causes LINK to start executing
its error codes as if they were instructions. Since they
aren't, an illegal UUO soon follows.
**********
[CURE]
Correct that part of edit 1174.
Digital Equipment Corporation 28-AUG-79 Page 735
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1709 29-Jun-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 2230 29-Jun-1979
1)1 DECEVR==1210 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1211 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1211 JNG 29-Jun-79 QAR 10-3303
2) ; Fix typo in LNKDRC message, avoid Illegal UUO. Broken b
y 1174.
2) ; Routine: LNKWLD
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 736
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1623 14-Jun-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 2234 29-Jun-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 14-Jun-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 29-Jun-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1204 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECEVR==1211 ;DEC EDIT VERSION
2) ;CALLING SEQUENCE
**************
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)3 ;1211 Fix typo in LNKDRC.
2)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)40 .ETC. (OCT,.EP!.EP,,,,W3) ;[1174]
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
****
2)40 ;**;[1211] Change @ E$$DRC+5L JNG 29-Jun-79
2) .ETC. (OCT,.EC!.EP,,,,W3) ;[1211]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 737
PCO Log Report
*********************
*PCO #:10-LINK -299*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1211) DO NOT INSTALL!!
[Date Entered] 05-JUL-79
[Programmer] D. NEFF
[Routines] LNKERR LNKLOG LNKLOD LNKNEW
[Key Words] MORE E1174
[Source Before Edit] % (000000)
[Source After Edit] %4A (001212)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-Q03311
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 738
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Various loose ends following the error message clean-up of edit
1174:
1. The LNKAIC and RLC messages are not very readable in
LNKERR.MAC.
2. The LNKGFE long message should be in IFN TOPS-20
conditionals.
3. References in LNKERR to the message segment [address]
should be [octal], and the associated messages should tell
the user that these quantities are addresses.
4. Indexed message 7 refers to a SAV file, even though .EXE
files have been around a long time.
5. The changing of references of `core' to `memory' missed
the one in indexed message 10.
6. LNKERR.MAC incorrectly states that the messages LNKFEE,
LNKFLE and LNKFRE are unconditionally of level 31 and
severity 31.
7. Some messages resulting from the failure of a LOOKUP,
ENTER, RENAME, RUN or GETSEG UUO are missing a space.
8. The TOPS-20 long message for LNKEOV refers to the saved
file, when the failure was actually for the overlay file.
9. Some labels inside of unsupported conditionals were not
changed to the new format.
This edit should not be installed in the field, since it requires
nearly every other LINK edit to be installed first.
**********
Digital Equipment Corporation 28-AUG-79 Page 739
PCO Log Report
[DIAGNOSIS]
These problems were missed during the work for edit 1174.
**********
[CURE]
Clean up the loose ends as noted above.
Digital Equipment Corporation 28-AUG-79 Page 740
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 2230 29-Jun-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1718 04-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 29-Jun-7
9
1) ;COPYRIGHT (C) 1973, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 4-Jul-79
2) ;COPYRIGHT (C) 1973, 1979 BY
**************
1)1 DECEVR==1211 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1212 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1212 DZN 4-Jun-79
2) ; Fix various typos and other loose ends in the aftermath
of 1174.
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 741
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1640 14-Jun-1979
File 2) LINK:LNKERR.MAC[10,645063] created: 1734 04-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 14-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 4-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1204 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1212 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL FIND MESSAGE
****
2)3 ;1212 Make sure messages here really agree with the rest of LI
NK.
2)4 SUBTTL FIND MESSAGE
**************
1)10 AIC 31 31 Attempt to increase size of {blank common} fro
m [decimal] to [decimal]
1) {common [symbol}
1) {Detected in module [symbol] from file [file]}
****
2)10 AIC 31 31 Attempt to increase size of {blank common} {comm
on [symbol]} from [decimal] to [decimal]
2) {Detected in module [symbol] from file [file]}
**************
1)10 FEE 31 31 ENTER error [reason] [file]
1) FIN 1 1 LINK finished
1) FLE 31 31 LOOKUP error [reason] [file]
1) FOV 31 31 Cannot overlay F40 compiled code
1) {Detected in module [symbol] from file [file]}
1) FRE 31 31 RENAME error [reason] [file]
1) FSF 8 8 FORTRAN subroutine not in expected format, /MIXF
OR fixup not done
****
2)10 FEE * * ENTER error [reason] [file]
2) FIN 1 1 LINK finished
2) FLE * * LOOKUP error [reason] [file]
2) FOV 31 31 Cannot overlay F40 compiled code
2) {Detected in module [symbol] from file [file]}
2) FRE * * RENAME error [reason] [file]
2) FSF 8 8 FORTRAN subroutine not in expected format, /MIXF
OR fixup not done
**************
1)10 IVC 31 31 Index validation check failed at [address]
1) LDS 1 1 LOAD segment
Digital Equipment Corporation 28-AUG-79 Page 742
PCO Log Report
****
2)10 IVC 31 31 Index validation check failed at address [octal]
2) LDS 1 1 LOAD segment
**************
1)10 POV 8 8 Psects [symbol] and [symbol] overlap from [addre
ss] to [address]
1) PTL 31 31 Program too long
****
2)10 POV 8 8 Psects [symbol] and [symbol] overlap from addres
s [octal] to [octal]
2) PTL 31 31 Program too long
**************
1)10 [symbol] [octal] [octal]
1) {. . . . . . . . .}
1) RME 31 * REMAP error{, high segment origin may be incorre
ct}
****
2)10 {[symbol] [octal] [octal]
2) . . . . . . . . .}
2) RME 31 * REMAP error{, high segment origin may be incorre
ct}
**************
1)11 IFN TOPS20,<
1) HASH EOV,0,<^_
1) LINK could not write the saved file on the disk.>
1) > ;END IFN TOPS20
****
2)11 ;**;[1212] Replace below in TOPS-20 EOV long message DZN
4-Jul-79
2) IFN TOPS20,<
2) HASH EOV,0,<^_
2) LINK could not write the overlay file on the disk.>
2) > ;END IFN TOPS20
**************
1)11 HASH GFE,0,<^_
****
2)11 IFN TOPS20,<
2) HASH GFE,0,<^_
**************
1)11 HASH GSE,@
****
2)11 > ;END IFN TOPS20
2) HASH GSE,@
**************
Digital Equipment Corporation 28-AUG-79 Page 743
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1556 29-Jun-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1726 04-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 29-Jun-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 4-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1207 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1212 ;DEC EDIT VERSION
2) VERSION
**************
1)5 SUBTTL LOAD CONTROL
****
2)4 ;1212 Make LNKIVC and LNKPOV consistent with other messages.
2)5 SUBTTL LOAD CONTROL
**************
1)41 ;**;[1174] Replace @INVIDX+2L DZN 30-May-79
1) E$$IVC::.ERR. (MS,.EC,V%L,L%F,S%F,IVC,<Index validation check
failed at >) ;[1174]
1) .ETC. (OCT,.EP,,,,T1)
****
2)41 ;**;[1212] Replace @E$$IVC DZN 4-Jul-79
2) E$$IVC::.ERR. (MS,.EC,V%L,L%F,S%F,IVC,<Index validation check
failed at address >) ;[1212]
2) .ETC. (OCT,.EP,,,,T1)
**************
1)72 ;**;[1174] Replace @CHKBN1+11L DZN 30-May-79
1) E$$POV::.ERR. (MS,.EC,V%L,L%W,S%W,POV,<Psects >) ;[1174]
****
2)72 E$$POV::.ERR. (MS,.EC,V%L,L%W,S%W,POV,<Psects >) ;[1174]
**************
1)72 .ETC. (STR,.EC,,,,,< overlap from >) ;[1174]
1) .ETC. (OCT,.EC!.EP,,,,W1) ;[1174]
****
2)72 ;**;[1212] Replace @E$$POV+4L DZN 4-Jul-79
2) .ETC. (STR,.EC,,,,,< overlap from address >) ;[1212]
2) .ETC. (OCT,.EC!.EP,,,,W1) ;[1174]
**************
Digital Equipment Corporation 28-AUG-79 Page 744
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOG.MAC[30,4507] created: 1853 14-Jun-1979
File 2) LINK:LNKLOG.MAC[10,645063] created: 1742 04-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 14-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 4-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1202 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1212 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL DISPATCH TABLES FOR MESSAGE CLASSES
****
2)2 ;1212 Make indexed LRE messages 7 and 10 consistent with other
s, fix missing
2) ; space in LRE messages.
2)3 SUBTTL DISPATCH TABLES FOR MESSAGE CLASSES
**************
1)9 ;**;[1202] Replace @ERLRE3 DZN 14-Jun-79
1) MOVE T4,ERCHAN ;[1202] RESTORE CHAN PLUS FLAGS
****
2)9 ;**;[1212] Insert after ERLRE2+4L DZN 4-Jul-79
2) OUTVIA .TSPAC## ;[1212] PRINT SPACE BETWEEN FAIL
URE AND REASON
2) MOVE T4,ERCHAN ;[1202] RESTORE CHAN PLUS FLAGS
**************
1)24 .ASCIZ <ENTER error >;;[564]
1) .ERFLE::ASCIZ \FLE\
1) .ASCIZ <LOOKUP error >
1) .ERFRE::ASCIZ \FRE\
1) .ASCIZ <RENAME error >
1) .ERGSE::ASCIZ \GSE\
1) .ASCIZ <GETSEG error >
1) .ERNED::ASCIZ \NED\
****
2)24 ;**;[1212] Replace @.ERFEE+1L DZN 4-Jul-79
2) .ASCIZ <ENTER error> ;[1212]
2) .ERFLE::ASCIZ \FLE\
2) .ASCIZ <LOOKUP error> ;[1212]
2) .ERFRE::ASCIZ \FRE\
2) .ASCIZ <RENAME error> ;[1212]
2) .ERGSE::ASCIZ \GSE\
2) .ASCIZ <GETSEG error> ;[1212]
2) .ERNED::ASCIZ \NED\
**************
1)25 .ERR. (,0,V%L,L%F,S%F,,<(7) not a SAV file >)
Digital Equipment Corporation 28-AUG-79 Page 745
PCO Log Report
1) .ERR. (,0,V%L,L%F,S%F,,<(10) not enough core >)
1) .ERR. (,0,V%L,L%F,S%F,,<(11) device not available >)
****
2)25 ;**;[1212] Replace @LRETAB+7L DZN 4-Jul-79
2) .ERR. (,0,V%L,L%F,S%F,,<(7) not a saved file >)
2) .ERR. (,0,V%L,L%F,S%F,,<(10) not enough memory >)
2) .ERR. (,0,V%L,L%F,S%F,,<(11) device not available >)
**************
Digital Equipment Corporation 28-AUG-79 Page 746
PCO Log Report
[FILCOM]
File 1) LINK:LNKNEW.MAC[30,4507] created: 1657 10-Jun-1979
File 2) LINK:LNKNEW.MAC[10,645063] created: 1743 04-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/TXR/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/TXR/JNG/DZN 4-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1212 ;DEC EDIT VERSION
2) ;LOCAL ACC DEFINITIONS
**************
1)3 SUBTTL BLOCK DISPATCH TABLES
****
2)2 ;1212 Use E$$NEB instead of EOFTS label in T.1003 (in an off c
onditional).
2)3 SUBTTL BLOCK DISPATCH TABLES
**************
1)13 PUSHJ P,EOFTS## ;WARN USER, BUT TRY TO CONTINUE
1) TRNE FL,R.FHS ;FORCED TO HIGH SEGMENT?
****
2)13 ;**;[1212] Replace @T.1003+16L DZN 4-Jul-79
2) PUSHJ P,E$$NEB## ;[1212] WARN USER, BUT TRY TO CO
NTINUE
2) TRNE FL,R.FHS ;FORCED TO HIGH SEGMENT?
**************
Digital Equipment Corporation 28-AUG-79 Page 747
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 0613 14-Jun-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 1750 04-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 14-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 4-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1202 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1212 ;DEC EDIT VERSION
2) VERSION
**************
1)7 SUBTTL ENTER HERE
****
2)6 ;1212 Use E$$SOE label instead of ZCMP7E, broken by 1174 (in o
ff conditional).
2)7 SUBTTL ENTER HERE
**************
1)82 JRST ZCMP7E ;NO
1) ANDCMI T1,.DBM ;[650]
****
2)82 ;**;[1212] Replace @ZCMP6A+19L DZN 4-Jul-79
2) JRST E$$SOE ;[1212] NO
2) ANDCMI T1,.DBM ;[650]
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 748
PCO Log Report
*********************
*PCO #:10-LINK -300*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1174)
[Date Entered] 08-JUL-79
[Programmer] GILBERT
[Routines] LNKPAR LNKOLD LNKLOD LNKERR
[Key Words] LNKISD GONE
[Source Before Edit] %4A (001212)
[Source After Edit] %4A (001213)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 749
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK will give a LNKISD warning when certain types of
programs are assembled with MACRO 53A. Programs that cause
this are those that contain a partially-defined global
symbol which is used in more than one psect.
**********
[DIAGNOSIS]
In this case, MACRO 53A generates a duplicate partial
definition for each different psect in which the
partially-defined symbol was used. The partial definitions
will eventually turn out to have the same value, but LINK
doesn't wait to see if they will or not before printing its
warning. It is not feasible to make MACRO 53A act like
MACRO 53 and earlier did, since this behavior was introduced
as a side effect of fixing a serious bug with psects.
**********
[CURE]
Remove the ISD message from LINK. When multiple
partial definitions are detected, save them all away. As
they become defined, compare them against the value of the
first definition seen (the "real" definition), and print MDS
messages if the values differ.
Digital Equipment Corporation 28-AUG-79 Page 750
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1718 04-Jul-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 2212 08-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 4-Jul-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 5-Jul-79
2)
**************
1)1 DECEVR==1212 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1213 ;DEC EDIT VERSION
2)
**************
1)5 ;1212 DZN 4-Jun-79
1) ; Fix various typos and other loose ends in the aftermath
of 1174.
1)
1)6 END ;OF LNKHST
****
2)5 ;1212 DZN 4-Jul-79
2) ; Fix various typos and other loose ends in the aftermath
of 1174.
2)
2) ;1213 JNG 5-Jul-79
2) ; Eliminate the ISD message; on multiple partial definitio
ns, just
2) ; ignore them if their values agree, and give the MDS mess
age if
2) ; they don't.
2) ; Routines: LNKPAR, LNKOLD, LNKLOD, LNKERR
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 751
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 1229 14-Jun-1979
File 2) LINK:LNKPAR.MAC[10,645063] created: 2215 08-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 14-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 5-Jul-79
2)
**************
1)1 DECEVR==1203 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1213 ;DEC EDIT VERSION
2)
**************
1)5
****
2)5 ;1213 Define the FS.MDC bit.
2)
**************
1)12
****
2)12 ;**;[1213] Insert @ FS.FXC+1L JNG 5-Jul-79
2) FS.MDC==:1B15 ;[1213] MULTIPLE PARTIAL DEFINITION FIXU
P
2) ;[1213] FOR COMPARE WITH TRUE VALUE ONLY
2) ;[1213] DON'T USE OR DELETE S.PVS TRIPLE
T
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 752
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1708 29-Jun-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 2308 08-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 29-Jun-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 5-Jul-79
2)
**************
1)1 DECEVR==1210 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1213 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1213 Delete the ISD message, setup special fixup if multiple
partial defs.
2)
**************
1)19 .JDDT LNKOLD,T.2,<<CAMN W2,$SYMBOL##>>
****
2)19 ;**;[1213] Insert @ T.2+6L JNG 5-Jul-79
2) MOVE P4,T3 ;[1213] SAVE RADIX50 SYMBOL NAME
2) .JDDT LNKOLD,T.2,<<CAMN W2,$SYMBOL##>>
**************
1)22 MOVE W2,T3 ;PUT BACK IN W2
1) POPJ P,
****
2)22 ;**;[1213] Change @ R50T6X+2L JNG 5-Jul-79
2) EXCH W2,T3 ;[1213] PUT BACK IN W2, LEAVE R5
0 IN T3
2) POPJ P,
**************
1)27 PUSHJ P,TRYSYM## ;SEE IF IN TABLE
****
2)27 ;**;[1213] Insert @ SY.DGR+5L JNG 5-Jul-79
2) PUSH P,P4 ;[1213] SAVE ORIGINAL SYMBOL IN
RADIX50
2) PUSHJ P,TRYSYM## ;SEE IF IN TABLE
**************
1)27 IFN FTOVERLAY,<
****
2)27 ;**;[1213] Insert @ SY.DGR+8L JNG 5-Jul-79
2) POP P,P4 ;[1213] RESTORE SYMBOL NAME IN R
50 FORM
2) IFN FTOVERLAY,<
**************
Digital Equipment Corporation 28-AUG-79 Page 753
PCO Log Report
1)27 ;**;[1174] Replace @SY.DGR+11L DZN 1-Jun-79
1) JRST E$$ISD ;[1174] INCONSISTENT SYMBOL DEFI
NITION
1)
****
2)27 ;**;[1213] Replace @SY.DGR+11L JNG 5-Jul-79
2) JRST SY.DG2 ;[1213] 2ND PARTIAL DEF, SET UP
FOR CHECK
2)
**************
1)27 SY.DG0:
1) IFN FTOVERLAY,<
****
2)27 ;**;[1213] Insert @ SY.DG0 JNG 7-Jul-79
2) SY.DG0: POP P,P4 ;[1213] RESTORE RADIX 50 FORM
2) IFN FTOVERLAY,<
**************
1)28 SY.DG1:
1) IFN FTOVERLAY,<
****
2)28 ;**;[1213] Insert @ SY.DG1 JNG 5-Jul-79
2) SY.DG1: POP P,P4 ;[1213] RESTORE RADIX50 SYMBOL N
AME
2) IFN FTOVERLAY,<
**************
1)28 ;**;[1174] Replace @SY.DG1+6L DZN 1-Jun-79
1) JRST E$$ISD ;[1174] YES, SECOND PARTIAL DEFI
NITION
1) MOVEI T1,.L ;NEED 1 EXTRA TRIPLET
****
2)28 ;**;[1213] Replace @SY.DG1+6L JNG 5-Jul-79
2) JRST SY.DG2 ;[1213] YES, SET UP FOR COMPARE
2) MOVEI T1,.L ;NEED 1 EXTRA TRIPLET
**************
1)28
1) ;**;[1174] Replace @SY.DG2 DZN 1-Jun-79
1) E$$ISD::.ERR. (MS,.EC,V%L,L%W,S%W,ISD,<Inconsistent symbol def
inition for symbol >) ;[1174]
1) .ETC. (SBX,.EC!.EP,,,,W2) ;[1174]
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
1) SETZM LSTSYM ;SO WE IGNORE SYMBOL FIXUP FOLLO
WING
1) POPJ P,
1)
****
2)28 ;**;[1213] Replace @ E$$ISD JNG 5-Jul-79
2)
2)29 ;HERE WHEN A DEFINED OR PARTIALLY-DEFINED SYMBOL IS PARTIALLY-DE
FINED
Digital Equipment Corporation 28-AUG-79 Page 754
PCO Log Report
2) ;A SECOND TIME. WE NEED TO SET THINGS UP SO THE OLD AND NEW VAL
UES WILL
2) ;BE COMPARED WHEN (AND IF) THE SECOND PARTIAL DEFINITION IS SATI
SFIED.
2) ;
2) ;TO DO THIS, MAKE A NEW SYMBOL IN THE GS AREA (BUT NOT POINTED T
O BY THE
2) ;HASH TABLE) CONTAINING A PRIMARY TRIPLET COPIED FROM THE FIRST
DEFINITION,
2) ;AND A SECONDARY S.PVS TRIPLET FROM THE NEW PARTIAL DEFINITION.
2) ;
2) ;IF THE OLD DEFINITION WAS ONLY A PARTIAL ONE, CREATE A SYMBOL F
IXUP FROM
2) ;THE OLD SYMBOL BLOCK TO THE NEW ONE SO THE VALUES WILL BE CHECK
ED WHEN
2) ;EVERYTHING GETS DEFINED.
2) ;
2) ;CALLED WITH: P1/ PTR TO OLD DEFINITION
2) ; W1-W3/ NEW DEFINITION
2) ; P4/ SYMBOL NAME IN RADIX-50
2)
2)
2) SY.DG2: MOVX W1,PS.UDF!PS.REQ ;[1213] COPY THESE FROM
THE OLD TRIPLET
2) AND W1,(P1) ;[1213] HERE THEY ARE
2) IORX W1,PT.EXT!PT.SGN!PT.SYM!PS.GLB ;[1213] USEFUL F
LAGS
2) SUB P1,NAMLOC ;[1213] SAVE IN CASE CORE MOVES
2) MOVEI T2,.L*2 ;[1213] SPACE FOR NEW TRIPLET PA
IR
2) PUSHJ P,GS.GET## ;[1213] NEW BLOCK NOW POINTED TO
BY T1
2) ADD P1,NAMLOC ;[1213] RESTORE P1
2) DMOVEM W1,0(T1) ;[1213] STORE FLAGS AND NAME
2) TXNE W1,PS.UDF ;[1213] SYMBOL DEFINED?
2) TDZA T2,T2 ;[1213] NO, NO FIXUPS
2) MOVE T2,2(P1) ;[1213] YES, COPY VALUE FROM OLD
TRIPLET
2) MOVEM T2,2(T1) ;[1213] STORE LAST WORD OF PRIMA
RY
2) MOVX W1,S.PVS!S.LST ;[1213] FLAGS FOR SECONDARY TRIP
LET
2) TMOVEM W1,.L(T1) ;[1213] STORE SECONDARY TRIPLET
2) SUB T1,NAMLOC ;[1213] OFFSET INTO GS AREA
2) HRLZM T1,LSTSYM ;[1213] ARRANGE FOR SY.RQ TO FIN
D US
2)
2)30 ;NOW SEE IF THE ORIGINAL DEFINITION WAS A PARTIAL ONE, AND SETUP
AN
Digital Equipment Corporation 28-AUG-79 Page 755
PCO Log Report
2) ;EXTRA FIXUP REQUEST POINTER IF SO.
2)
2) MOVE T1,0(P1) ;[1213] RESTORE OLD SYMBOL'S FLA
GS
2) TXNN T1,PS.UDF ;[1213] WAS IT A PARTIAL DEFINIT
ION?
2) POPJ P, ;[1213] NO, DONE
2) AOS USYM ;[1213] YES, WE CREATED ANOTHER
SYMBOL TO FIX UP
2) MOVX W1,PT.SGN!PT.SYM ;[1213] SOME GOOD FLAGS
2) MOVE W3,P4 ;[1213] SYMBOL TO FIX UP IN RADI
X50 (SAME NAME)
2) TXO W3,R5.FXS!R5.FXA ;[1213] SOME FAKE REL FI
LE INPUT
2) PUSHJ P,SY.RQ ;[1213] SET UP THE EXTRA LINKAGE
2) ADD W3,FX.LB ;[1213] NOW FIND FIXUP BLOCK CRE
ATED
2) MOVX T1,FS.FXR!FS.FXF!FS.MDC ;[1213] CHANGE RH FIXUP
TO FULL-WORD
2) XORM T1,0(W3) ;[1213] AND SET FS.MDC BIT FOR S
Y.STF
2) POPJ P, ;[1213] DONE
2)
**************
Digital Equipment Corporation 28-AUG-79 Page 756
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1726 04-Jul-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 2219 08-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 4-Jul-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 5-Jul-79
2)
**************
1)1 DECEVR==1212 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1213 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1213 Respect the FS.MDC bit.
2)
**************
1)33 ADD T1,NAMLOC ;RELOCATE
****
2)33 ;**;[1213] Insert @ SYSTF1+2L JNG 5-Jul-79
2) TXNE W1,FS.MDC ;[1213] ONLY WANT TO COMPARE VAL
UES?
2) JRST [MOVE T1,P1 ;[1213] YES, USE DEFINING TRIPLE
T AS VALUE
2) JRST SYSTFC] ;[1213] SKIP SEARCH FOR S.PVS TR
IPLET
2) ADD T1,NAMLOC ;RELOCATE
**************
1)34 MOVX T3,PS.UDR ;ASSUME RH FIXUP
1) TXNE W1,FS.FXL ;LEFT HALF?
****
2)34 ;**;[1213] Insert @ SYSTF3+1P5L JNG 5-Jul-79
2) SYSTFC: MOVX T3,PS.UDR ;[1213] ASSUME RH FIXUP
2) TXNE W1,FS.FXL ;LEFT HALF?
**************
1)34 PUSHJ P,SY.ZST ;AND ZAP 2NDARY 3RPLET
****
2)34 ;**;[1213] Insert @ SYSTF3+1P24L JNG 5-Jul-79
2) TXNN W1,FS.MDC ;[1213] DON'T ZAP S.PVS IF WE DI
DN'T USE IT
2) PUSHJ P,SY.ZST ;AND ZAP 2NDARY 3RPLET
**************
Digital Equipment Corporation 28-AUG-79 Page 757
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1734 04-Jul-1979
File 2) LINK:LNKERR.MAC[10,645063] created: 2334 08-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 4-Jul-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 5-Jul-79
2)
**************
1)1 DECEVR==1212 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1213 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1213 Remove the ISD message.
2)
**************
1)10 ISD 8 8 Inconsistent symbol definition for symbol [symbo
l]
1) {Detected in module [symbol] from file [file]}
1) ISN 31 31 Illegal symbol name [symbol]
****
2)10 ISN 31 31 Illegal symbol name [symbol]
**************
1)11 HASH ISD,0,<^_
1) The named symbol either has a partial definition and
an
1) explicit definition, or has two partial definition
s.
1) Later resolution of partial definitions may result in
a
1) multiply-defined global symbol.
1)
1) A partial definition is one in which a symbol is defin
ed
1) in terms of other undefined symbols. If your code h
as
1) A=:B##+3 and A=:7, then either B## will have to be 4 or
A
1) will be multiply-defined.>
1)
1) HASH ISN,0,<^_
****
2)11 HASH ISN,0,<^_
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 758
PCO Log Report
*********************
*PCO #:10-LINK -301*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765) + ALL EDITS TO 1213 ONLY
[Date Entered] 10-JUL-79
[Programmer] D. NEFF
[Routines] LNKCOR LNKOV1 LNKXIT LNKHST
[Key Words] REMATCH <>
[Source Before Edit] % (000000)
[Source After Edit] %4A (001214)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-Q03314
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 759
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Quality assurance tests done on LINK's sources using PIP's /V
switch (list unmatched angle brackets) find various unmatched angle
bracket problems.
**********
[DIAGNOSIS]
There are two sets of problems.
1. Several comments sprinkled throughout the sources include
angle brackets that are used for relational expressions.
Every one of these leads to potential problems if these
lines are someday put inside conditionals.
2. Edit 1132 missed the matching closing angle bracket for
the FTOVERLAY conditional in the vicinity of XOVNWD. This
only causes problems if FTEXE is turned off (this is not
supported).
**********
[CURE]
Fix the various unmatched angle brackets.
Digital Equipment Corporation 28-AUG-79 Page 760
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 2212 08-Jul-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1538 09-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 5-Jul-79
1) ;COPYRIGHT (C) 1973, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 9-Jul-79
2) ;COPYRIGHT (C) 1973, 1979 BY
**************
1)1 DECEVR==1213 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1214 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)4 ; If limit > next-PSECT-origin, overlaying will occur.
1) ; LNKPAR, LNKWLD, LNKXIT
****
2)4 ; If limit .GT. next-PSECT-origin, overlaying will occur.
2) ; LNKPAR, LNKWLD, LNKXIT
**************
1)5 ; Fix bug in doing large( > 400000) pop loop in 2 chunks.
1) ; LNKCOR
****
2)5 ; Fix bug in doing large (.GT. 400000) pop loop in 2 chunk
s.
2) ; LNKCOR
**************
1)5 ;1213 JNG 5-Jul-79
****
2)5 ; Routines: LNKERR, LNKLOD, LNKLOG, LNKNEW, LNKXIT
2) ;1213 JNG 5-Jul-79
**************
1)6 END ;OF LNKHST
****
2)5 ;1214 DZN 9-Jul-79 QAR 10-03315
2) ; Fix mismatched angle brackets so PIP's /V switch doesn't
complain.
2) ; Comments should not contain angle brackets unless they a
ctually
2) ; terminate conditionals, repeats, etc.
2) ; Routines: LNKHST, LNKCOR, LNKOV1, LNKXIT
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 761
PCO Log Report
[FILCOM]
File 1) LINK:LNKCOR.MAC[30,4507] created: 1640 10-Jun-1979
File 2) LINK:LNKCOR.MAC[10,645063] created: 1310 10-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 9-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) SALL
****
2)1 DECEVR==1214 ;DEC EDIT VERSION
2) SALL
**************
1)3 ;720 Move core upwards in 2 steps if it's >= 400000.
1) ;731 SEARCH MACTEN,UUOSYM
****
2)3 ;720 Move core upwards in 2 steps if it's .GE. 400000.
2) ;731 SEARCH MACTEN,UUOSYM
**************
1)3 ;771 Fix bug with shuffling large( >400000) core segment.
1) ;1104 Remove part of edit 750 from LH.DMP to fix address check
s.
****
2)3 ;771 Fix bug with shuffling large( .GT. 400000) core segment.
2) ;1104 Remove part of edit 750 from LH.DMP to fix address check
s.
**************
1)4 SUBTTL SIMPLE TESTS FIRST
****
2)3 ;1214 Fix unmatched angle bracket bugs.
2)4 SUBTTL SIMPLE TESTS FIRST
**************
1)14 JUMPL T4,[PUSH P,[CHUNK1,,0] ;[720] SIZE >=400000
1) SUB T4,[CHUNK1,,0] ;[720] FIRST DO LENTH LE
SS A CHUNK
****
2)14 ;**;[1214] Replace @MOVUP+23L DZN 9-Jul-79
2) JUMPL T4,[PUSH P,[CHUNK1,,0] ;[1214] SIZE .GE. 400000
2) SUB T4,[CHUNK1,,0] ;[720] FIRST DO LENTH LE
SS A CHUNK
**************
Digital Equipment Corporation 28-AUG-79 Page 762
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV1.MAC[30,4507] created: 0554 15-Jun-1979
File 2) LINK:LNKOV1.MAC[10,645063] created: 1519 09-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 14-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 9-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1205 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1214 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL ENTRY POINT
****
2)2 ;1214 Fix mismatched angle bracket bugs.
2)3 SUBTTL ENTRY POINT
**************
1)20 LSH T1,-.DBS2W ;[650] WORDS ---> BLOCKS
1) ADDM T1,OVLBLK ;UPDATE OVLBLK TO END OF SYMBOLS
****
2)20 ;**;[1214] Replace @LNKT5+6L DZN 9-Jul-79
2) LSH T1,-.DBS2W ;[1214] WORDS TO BLOCKS
2) ADDM T1,OVLBLK ;UPDATE OVLBLK TO END OF SYMBOLS
**************
Digital Equipment Corporation 28-AUG-79 Page 763
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1750 04-Jul-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 1534 09-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 4-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 9-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1212 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1214 ;DEC EDIT VERSION
2) VERSION
**************
1)7 SUBTTL ENTER HERE
****
2)6 ;1214 Fix unmatched angle bracket bug in .EXE file code.
2)7 SUBTTL ENTER HERE
**************
1)78 ;HERE WHEN DONE WRITING THE MEMORY IMAGE TO THE EXE FILE.
****
2)77 ;**;[1214] Insert after XOVNWD+10L DZN 9-Jul-79
2) >;[1214] END IFN FTOVERLAY
2)78 ;HERE WHEN DONE WRITING THE MEMORY IMAGE TO THE EXE FILE.
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 764
PCO Log Report
*********************
*PCO #:10-LINK -302*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1132)
[Date Entered] 23-JUL-79
[Programmer] GILBERT
[Routines] LNKLOD
[Key Words] ABS CODE LOWLOC EXE FILE
[Source Before Edit] %4A (001214)
[Source After Edit] %4A (001215)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 765
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK can leave location 140 to the first location
loaded with relocatable code out of the EXE file, even if
these locations were loaded with absolute code. This will
only happen if LINK is writing its own EXE file, and if
LINK's internal LC area has overflowed to disk.
**********
[DIAGNOSIS]
LINK's EXE file writer finds the lowest significant
location beyond JOBDAT by looking at the current values of
the .LOW. and .ABS. relocation counters. Unfortunately, the
current value of the .ABS. counter is always zero, so that
the EXE file writer will miss the first significant
location(s) if they were loaded with absolute code.
**********
[CURE]
Use the highest location seen, RC.HL, instead of RC.CV.
This edit is NOT applicable to field image LINK version 4.
Digital Equipment Corporation 28-AUG-79 Page 766
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1538 09-Jul-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 0112 23-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 9-Jul-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 23-Jul-7
9
2)
**************
1)1 DECEVR==1214 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1215 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1215 JNG 23-Jul-79 QAR R.ACE
2) ; Use RC.HL for .ABS. and .LOW. for LOWLOC update at CHKLL
C, since
2) ; RC.CV may not be correct. In particular, RC.CV for .ABS
. is always
2) ; zero.
2) ; Routine: LNKLOD
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 767
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 2219 08-Jul-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 0123 23-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 5-Jul-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 23-Jul-7
9
2)
**************
1)1 DECEVR==1213 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1215 ;DEC EDIT VERSION
2)
**************
1)4
****
2)4 ;1215 Use RC.HL instead of RC.CV for the LOWLOC check at CHKLL
C.
2)
**************
1)70 MOVE W1,RC.CV(T1) ;[747]
1) MOVEI R,1 ;[747] GET .LOW.
1) MOVE T2,@RC.TB ;[747]
1) MOVE W2,RC.CV(T2) ;[747]
1) IOR W1,W2 ;[747] ANY THING IN EITHER .ABS.
OR .LOW.?
****
2)70 ;**;[1215] Change @ CHKLLC+4L JNG 23-Jul-79
2) MOVE W1,RC.HL(T1) ;[1215] USE HIGHEST LOC EVER SEE
N
2) MOVEI R,1 ;[747] GET .LOW.
2) MOVE T2,@RC.TB ;[747]
2) MOVE W2,RC.HL(T2) ;[1215] USE HIGHEST LOCATION EVE
R SEEN
2) IOR W1,W2 ;[747] ANY THING IN EITHER .ABS.
OR .LOW.?
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 768
PCO Log Report
*********************
*PCO #:10-LINK -303*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1172)
[Date Entered] 23-JUL-79
[Programmer] GILBERT
[Routines] LNKXIT
[Key Words] ILL MEM RE UNDEF SYMS SYMOUT ED 1172
[Source Before Edit] %4A (001215)
[Source After Edit] %4A (001216)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 769
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
After edit 1172 has been installed, LINK can get an
illegal memory reference from LNKXIT when the program being
loaded contains undefined symbols.
**********
[DIAGNOSIS]
The routine to deposit a new symbol in the image
destroys two preserved registers if the symbol being
deposited causes the segment to extend past a new page
boundary.
**********
[CURE]
Preserve the preserved registers.
Digital Equipment Corporation 28-AUG-79 Page 770
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0112 23-Jul-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 0227 23-Jul-1979
1)1 DECEVR==1215 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1216 ;DEC EDIT VERSION
2)
**************
1)6 END ;OF LNKHST
****
2)5 ;1216 JNG 23-Jul-79 QAR CKS
2) ; Preserve P1/P2 in SYMOUT, avoid illegal memory reference
if
2) ; undefined symbols exist.
2) ; Routine: LNKXIT
2)
2)6 END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 771
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1534 09-Jul-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 0223 23-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 9-Jul-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 23-Jul-79
2)
**************
1)1 DECEVR==1214 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1216 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1216 Preserve P acs in SYMOUT.
2)
**************
1)35 MOVE P1,R ;[1172] SEGMENT TO EXPAND
****
2)35 ;**;[1216] Insert @ SYMOU2+3L JNG 23-Jul-79
2) SPUSH <P1,P2> ;[1216] PRESERVE OVER LNKCOR
2) MOVE P1,R ;[1172] SEGMENT TO EXPAND
**************
1)35 SETZM LS.PP ;[1172] RESTORE
****
2)35 ;**;[1216] Insert @ SYMOU2+7L JNG 23-Jul-79
2) SPOP <P2,P1> ;[1216] RESTORE SACRED COWS
2) SETZM LS.PP ;[1172] RESTORE
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 772
PCO Log Report
*********************
*PCO #:10-LINK -304*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1216) ONLY, DON INSTALL
[Date Entered] 27-JUL-79
[Programmer] D. NEFF
[Routines] ALL
[Key Words] CLEAN UP
[Source Before Edit] % (000000)
[Source After Edit] %4A (001217)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 773
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 774
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 0227 23-Jul-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1419 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 23-Jul-7
9
1) ;COPYRIGHT (C) 1973, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 25-Jul-7
9
2) ;COPYRIGHT (C) 1973, 1979 BY
**************
1)1 DECEVR==1216 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 END ;OF LNKHST
****
2)5 ;1217 DZN 25-Jul-79
2) ; Clean up the listings for release. Update all copyright
notices.
2) ; Remove all editing lines. Break pages in good places.
2) ; Routines: All
2)6 SUBTTL THE END
2) END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 775
PCO Log Report
[FILCOM]
File 1) LINK:LNK999.MAC[30,4507] created: 0832 15-Jun-1979
File 2) LINK:LNK999.MAC[10,645063] created: 1209 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 15-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNK999
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKCOR,LNKLOG
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNK999
2) EXTERN LNKCOR,LNKLOG
**************
1)1 DECEVR==1206 ;DEC EDIT VERSION
1) VERSION
1) SALL
1) SEGMENT
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
**************
1)3 SUBTTL EMERGENCY GETSEG
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL EMERGENCY GETSEG
**************
1)4 JRST CORUUO] ;
1) PUSHJ P,DY.GBC## ;RETURN ALL SPACE WE CAN
****
2)4 JRST CORUUO]
2) PUSHJ P,DY.GBC## ;RETURN ALL SPACE WE CAN
**************
1)4 ;**;[1206] Replace @ REDCOR+27L JNG 15-Jun-79
1) JRST E$$MEF## ;[1206] CAN NOT FAIL
****
2)4 JRST E$$MEF## ;[1206] CAN NOT FAIL
**************
1)4 END LNK999
****
2)5 SUBTTL THE END
2) END LNK999
Digital Equipment Corporation 28-AUG-79 Page 776
PCO Log Report
**************
Digital Equipment Corporation 28-AUG-79 Page 777
PCO Log Report
[FILCOM]
File 1) LINK:LNKCOR.MAC[30,4507] created: 1310 10-Jul-1979
File 2) LINK:LNKCOR.MAC[10,645063] created: 1212 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 9-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKCOR
1) EXTERN LNKLOG
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) CUSTVR==0 ;CUSTOMER VERSION
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKCOR
2) EXTERN LNKLOG
2) CUSTVR==0 ;CUSTOMER VERSION
**************
1)1 DECEVR==1214 ;DEC EDIT VERSION
1) SALL
1) SEGMENT
1) ;CALLING SEQUENCE
1) ;P1 = AREA NUMBER
1) ;P2 = SIZE REQUIRED
1) ;PUSHJ P,LNKCOR
1) ;ERROR RETURN
1) ;GOOD RETURN
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2)2 SUBTTL REVISION HISTORY
**************
1)4 SUBTTL SIMPLE TESTS FIRST
****
2)3 ;1217 Clean up the listings for release.
2)4 SUBTTL SIMPLE TESTS FIRST
**************
1)10 ADDM T1,TAB.AB(T2) ;
1) ADDM T1,TAB.PT(T2)
****
2)10 ADDM T1,TAB.AB(T2)
2) ADDM T1,TAB.PT(T2)
**************
1)14 ;**;[771] Insert @ MOVUP1+5L MCHC 23-Mar-78
Digital Equipment Corporation 28-AUG-79 Page 778
PCO Log Report
1) PUSH P,T2 ;[771] SAVE WHO WE ARE
****
2)14 PUSH P,T2 ;[771] SAVE WHO WE ARE
**************
1)14 ;**;[1214] Replace @MOVUP+23L DZN 9-Jul-79
1) JUMPL T4,[PUSH P,[CHUNK1,,0] ;[1214] SIZE .GE. 400000
****
2)14 JUMPL T4,[PUSH P,[CHUNK1,,0] ;[1214] SIZE .GE. 400000
**************
1)14 ;**;[771] Insert @ POPLP+2L MCHC 23-Mar-78
1) POP P,T2 ;[771] RESTORE STACK
****
2)14 POP P,T2 ;[771] RESTORE STACK
**************
1)16 ;HERE TO ZERO ALL XXX.UB SPACE IN CORE IF NOT VIRTUAL
****
2)16 ; ..
2)17 ; ..
2) ;HERE TO ZERO ALL XXX.UB SPACE IN CORE IF NOT VIRTUAL
**************
1)19 XALL
1) AREAS
1) SALL
1)20 ;SUBROUTINE TO GET SPACE FROM LINKED LIST OF SPACE
****
2)20 XALL
2) AREAS
2) SALL
2)21 ;SUBROUTINE TO GET SPACE FROM LINKED LIST OF SPACE
**************
1)23 SUB T2,TAB.AB(T1) ;
1) CAIL T2,.IPS ;MUST HAVE AT LEAST THIS
****
2)24 SUB T2,TAB.AB(T1)
2) CAIL T2,.IPS ;MUST HAVE AT LEAST THIS
**************
1)25 XALL
1) AREAS
1) SALL
1)26 ;SUBROUTINE TO RETURN SPACE TO LINKED LIST
****
2)26 XALL
2) AREAS
2) SALL
2)27 ;SUBROUTINE TO RETURN SPACE TO LINKED LIST
**************
1)27 HRRM T1,(T4) ;
1) POPJ P,
****
Digital Equipment Corporation 28-AUG-79 Page 779
PCO Log Report
2)28 HRRM T1,(T4)
2) POPJ P,
**************
1)28 XALL
1) AREAS
1) SALL
1)29 ;SUBROUTINE TO GARBAGE COLLECT SPECIFIC AREA
****
2)29 XALL
2) AREAS
2) SALL
2)30 ;SUBROUTINE TO GARBAGE COLLECT SPECIFIC AREA
**************
1)32 XALL
1) AREAS
1) SALL
1)33 ;SUBROUTINE TO TEST IF ADDRESS IS FREE
****
2)33 XALL
2) AREAS
2) SALL
2)34 ;SUBROUTINE TO TEST IF ADDRESS IS FREE
**************
1)34 XALL
1) AREAS
1) SALL
1)35 ;SUBROUTINE TO REMOVE DESIRED CHUNK
****
2)35 XALL
2) AREAS
2) SALL
2)36 ;SUBROUTINE TO REMOVE DESIRED CHUNK
**************
1)41 ;**;[1113] Insert before LCOVF DZN 25-Aug-78
1) LCOVF: SKIPN LC.LB ;[1113] LAST CHANCE--IS THERE AN
LC AREA?
****
2)42 LCOVF: SKIPN LC.LB ;[1113] LAST CHANCE--IS THERE AN
LC AREA?
**************
1)42 ;**;[1130] Replace @CHKMAX+18L DZN 26-Jan-79
1) CAIE P1,LC.IX ;[1130] COUNT THIS REQUEST TOO
****
2)43 CAIE P1,LC.IX ;[1130] COUNT THIS REQUEST TOO
**************
1)44 ;;**;[1174] Replace @%AREA'.OUT+16L DZN 4-Jun-79
1) E$$O'%AREA::PUSH P,[CHAN] ;[1174] STACK ER
ROR CHAN
****
Digital Equipment Corporation 28-AUG-79 Page 780
PCO Log Report
2)45 E$$O'%AREA::PUSH P,[CHAN] ;[1174] STACK ER
ROR CHAN
**************
1)45 XALL
1) ;LOW SEGMENT
****
2)45 XALL
2)46 ;LOW SEGMENT
**************
1)48 SALL
1)49 SUBTTL INPUT CORE WINDOW
****
2)49 SALL
2)50 SUBTTL INPUT CORE WINDOW
**************
1)49 ;**;[1174] Replace @%AREA'.IN+7L DZN 4-Jun-79
1) %OK:! HLRZ T2,T1 ;[1174] GET FIRST ADDRESS
****
2)50 %OK:! HLRZ T2,T1 ;[1174] GET FIRST ADDRESS
**************
1)49 ;;**;[1174] Replace @%AREA'.IN+24L DZN 4-Jun-79
1) E$$I'%AREA::PUSH P,[CHAN] ;[1174] SAVE ERR
OR CHAN
****
2)50 E$$I'%AREA::PUSH P,[CHAN] ;[1174] SAVE ERR
OR CHAN
**************
1)50 XALL
1) ;LOW SEGMENT
****
2)50 XALL
2)51 ;LOW SEGMENT
**************
1)53 SALL
1)54 ;TABLES OF XX.IN AND XX.OUT, INDEXED BY XX.IX
****
2)54 SALL
2)55 ;TABLES OF XX.IN AND XX.OUT, INDEXED BY XX.IX
**************
1)60 MOVEM T2,I.MOD(T1) ;
1) MOVEI T2,LN.RIB-1 ;SIZE OF EXTENDED ENTER BLOCK
****
2)61 MOVEM T2,I.MOD(T1)
2) MOVEI T2,LN.RIB-1 ;SIZE OF EXTENDED ENTER BLOCK
**************
1)61 ;**;[1104] Change @ LH.SET+1P8L JNG 20-Jun-78
1) CAIGE T2,.IPS ;[1104] IN CASE 1/2 IS .LT. 1 PA
GE,
****
Digital Equipment Corporation 28-AUG-79 Page 781
PCO Log Report
2)62 CAIGE T2,.IPS ;[1104] IN CASE 1/2 IS .LT. 1 PA
GE,
**************
1)67 XALL
1) SYMTAB: SFIXUPS
1) SALL
1) ;ENTER WITH :-
****
2)68 XALL
2) SYMTAB: SFIXUPS
2) SALL
2) ;ENTER WITH :-
**************
1)70 CORLIT:
1) END
****
2)72 SUBTTL THE END
2) CORLIT: END
**************
Digital Equipment Corporation 28-AUG-79 Page 782
PCO Log Report
[FILCOM]
File 1) LINK:LNKCST.MAC[30,4507] created: 1641 10-Jun-1979
File 2) LINK:LNKCST.MAC[10,645063] created: 1222 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKCST
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKSCN,LNKLOD,LNKCOR,LNKWLD,LNKLOG
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKCST
2) EXTERN LNKSCN,LNKLOD,LNKCOR,LNKWLD,LNKLOG
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2) ;LOCAL ACC DEFINITIONS
**************
1)1 SEGMENT
1) SALL
1)2 SUBTTL REVISION HISTORY
****
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL DISPATCH TABLES FOR CUSTOMER TYPES
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL DISPATCH TABLES FOR CUSTOMER TYPES
**************
1)4 CSTLIT:
1) END
****
2)5 SUBTTL THE END
2) CSTLIT: END
**************
Digital Equipment Corporation 28-AUG-79 Page 783
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 2334 08-Jul-1979
File 2) LINK:LNKERR.MAC[10,645063] created: 1330 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 5-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKERR
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKLOG,TTYCHK
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKERR
2) EXTERN LNKLOG,TTYCHK
**************
1)1 DECEVR==1213 ;DEC EDIT VERSION
1) VERSION
1) SALL
1) SEGMENT
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
**************
1)4 SUBTTL FIND MESSAGE
****
2)3 ;1217 Clean up the listings for release.
2)4 SUBTTL FIND MESSAGE
**************
1)10 CODE LVL SEV MESSAGE
1) ABT 31 31 Load aborted due to %LNKTMA errors, max. /ARSIZE
: needed was [decimal]
****
2)10 CODE LVL SEV FIRST LINE MESSAGE
2) ABT 31 31 Load aborted due to %LNKTMA errors, max. /ARSIZE
: needed was [decimal]
**************
1)11 ;**;[1212] Replace below in TOPS-20 EOV long message DZN
4-Jul-79
1) IFN TOPS20,<
****
2)11 IFN TOPS20,<
**************
1)14 ERRLIT:
Digital Equipment Corporation 28-AUG-79 Page 784
PCO Log Report
1) END LNKERR
****
2)14 SUBTTL THE END
2) ERRLIT: END LNKERR
**************
Digital Equipment Corporation 28-AUG-79 Page 785
PCO Log Report
[FILCOM]
File 1) LINK:LNKEXO.MAC[30,4507] created: 1643 10-Jun-1979
File 2) LINK:LNKEXO.MAC[10,645063] created: 1352 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) .JBHSA==0 ;STARTING ADDRESS IN HIGH SEGMENT
1) .JBHDA==10 ;LENGTH OF VESTIGIAL JOBDATA AREA
1) SEARCH MACTEN,UUOSYM,LNKPAR
1) CUSTVR==0 ;CUSTMER VERSION
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH MACTEN,UUOSYM,LNKPAR
2) SALL
2) CUSTVR==0 ;CUSTMER VERSION
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) SEGMENT
1) SALL
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2) .JBHSA==0 ;STARTING ADDRESS IN HIGH SEGMENT
2) .JBHDA==10 ;LENGTH OF VESTIGIAL JOBDATA AREA
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL HERE FOR EXECUTE ONLY ENTRY
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL HERE FOR EXECUTE ONLY ENTRY
**************
1)3 ;**;[1174] Replace @+4L DZN 7-Jun-79
1) E$$LNS::.OERR. [ASCIZ /%LNKLNS Low segment data base not same s
ize/] ;[1174]
****
2)3 E$$LNS::.OERR. [ASCIZ /%LNKLNS Low segment data base not same s
ize/] ;[1174]
**************
1)3 END
****
2)4 SUBTTL THE END
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 786
PCO Log Report
[FILCOM]
File 1) LINK:LNKF40.MAC[30,4507] created: 1646 10-Jun-1979
File 2) LINK:LNKF40.MAC[10,645063] created: 1354 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 10-Jun-79
1) ;***COPYRIGHT 1973, 1979 DIGITAL EQUIPMENT CORP., MAYNARD, MASS
.***
1) ENTRY LNKF40
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM
2) SALL
2) ENTRY LNKF40
**************
1)1 SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM
1) CUSTVR==0 ;CUSTOMER VERSION
****
2)1 CUSTVR==0 ;CUSTOMER VERSION
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) SEGMENT
1) SALL
1) LNKF40: ;ENTRY POINT TO FORCE LOADING
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2) LNKF40: ;ENTRY POINT TO FORCE LOADING
**************
1)3 SUBTTL INITIALIZE TABLES
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL INITIALIZE TABLES
**************
1)4 JRST ABSI;
1) CAIN W1,310000; MADE LABEL
****
2)4 JRST ABSI
2) CAIN W1,310000; MADE LABEL
**************
1)4 ;**;[1174] Replace @HEADER+16L DZN 29-May-79
1) E$$I4S::.ERR. (MS,.EC,V%L,L%F,S%F,I4S,<Illegal F40 sub-block >
) ;[1174]
1) .ETC. (OCT,.EC!.EP,,,,W1) ;
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
****
2)4 E$$I4S::.ERR. (MS,.EC,V%L,L%F,S%F,I4S,<Illegal F40 sub-block >
) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 787
PCO Log Report
2) .ETC. (OCT,.EC!.EP,,,,W1)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
**************
1)5 MOVX W1,PT.SGN!PT.SYM!PS.REL ;
1) MOVE W3,RC.HL(R) ;CURRENT LOCATION
****
2)5 MOVX W1,PT.SGN!PT.SYM!PS.REL
2) MOVE W3,RC.HL(R) ;CURRENT LOCATION
**************
1)9 BITWX: POPJ P,;
1) ;HERE TO GET ANOTHER BIT TABLE
****
2)9 BITWX: POPJ P,
2) ;HERE TO GET ANOTHER BIT TABLE
**************
1)10 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['CONST.']
****
2)10 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['CONST.']
**************
1)10 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['%TEMP.']
****
2)10 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['%TEMP.']
**************
1)12 ;**;[1174] Replace @COMTOP+4L DZN 29-May-79
1) PUSHJ P,E$$B4R ;[1174] REPORT ERROR
****
2)12 PUSHJ P,E$$B4R ;[1174] REPORT ERROR
**************
1)13 ;**;[1174] Replace @GSWDPR+1L DZN 29-May-79
1) PUSHJ P,E$$B4R ;[1174] REPORT ERROR
1) TRNE W1,1 ;DEFENSIVE CHECK FOR PAIRS
1) ;**;[1174] Replace @GSWDPR+3L DZN 29-May-79
1) JRST [PUSHJ P,E$$B4R ;[1174] REPORT ERROR
****
2)13 PUSHJ P,E$$B4R ;[1174] REPORT ERROR
2) TRNE W1,1 ;DEFENSIVE CHECK FOR PAIRS
2) JRST [PUSHJ P,E$$B4R ;[1174] REPORT ERROR
**************
1)14 ;**;[1174] Replace @FSWD+2L DZN 29-May-79
1) PUSHJ P,E$$B4R ;[1174] REPORT ERROR
****
2)14 PUSHJ P,E$$B4R ;[1174] REPORT ERROR
**************
1)14 ;**;[1174] Replace @DYSWDP+1L DZN 29-May-79
1) PUSHJ P,E$$B4R ;[1174] REPORT ERROR
Digital Equipment Corporation 28-AUG-79 Page 788
PCO Log Report
****
2)14 PUSHJ P,E$$B4R ;[1174] REPORT ERROR
**************
1)15 JRST ENDTP;
1) PASS2C: PUSHJ P,PASS2A
****
2)15 JRST ENDTP
2) PASS2C: PUSHJ P,PASS2A
**************
1)16 ;**;[1174] Replace @STOP DZN 29-May-79
1) E$$I4T::.ERR. (MS,.EC,V%L,L%F,S%F,I4T,<Illegal F40 table entry
>) ;[1174]
1) .ETC. (OCT,.EC!.EP,,,,W1) ;
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
****
2)16 E$$I4T::.ERR. (MS,.EC,V%L,L%F,S%F,I4T,<Illegal F40 table entry
>) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,W1)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
**************
1)19 MOVX W1,PT.SGN!PT.SYM ;
1) PUSHJ P,@T.2TAB##(P1) ;CALL RIGHT ROUTINE
****
2)19 MOVX W1,PT.SGN!PT.SYM
2) PUSHJ P,@T.2TAB##(P1) ;CALL RIGHT ROUTINE
**************
1)20 ;**;[1174] Replace @LOOP+16L DZN 29-May-79
1) E$$I4D::.ERR. (MS,.EC,V%L,L%F,S%F,I4D,<Illegal F40 data code >
) ;[1174]
1) .ETC. (OCT,.EC!.EP,,,,T1) ;
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
****
2)20 E$$I4D::.ERR. (MS,.EC,V%L,L%F,S%F,I4D,<Illegal F40 data code >
) ;[1174]
2) .ETC. (OCT,.EC!.EP,,,,T1)
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
**************
1)21 ;**;[1174] Replace @INNER+3L DZN 29-May-79
1) JUMPE T1,E$$FCD; [1174]
****
2)21 JUMPE T1,E$$FCD; [1174]
**************
1)23 ;**;[1174] Replace @DATAOV DZN 29-May-79
1) E$$DSO::.ERR. (MS,.EC,V%L,L%F,S%F,DSO,<Data statement overflow
>) ;[1174]
****
2)23 E$$DSO::.ERR. (MS,.EC,V%L,L%F,S%F,DSO,<Data statement overflow
>) ;[1174]
**************
Digital Equipment Corporation 28-AUG-79 Page 789
PCO Log Report
1)25 ;**;[1174] Replace @DREAD+8L DZN 29-May-79
1) JRST E$$DSO ;[1174] AND GIVE ERROR ELSE PDLO
V WILL OCCUR
****
2)25 JRST E$$DSO ;[1174] AND GIVE ERROR ELSE PDLO
V WILL OCCUR
**************
1)25 POPJ P,;
1) SOSN RCNT
****
2)25 POPJ P,
2) SOSN RCNT
**************
1)25 POPJ P,;
1) DODONE: POP P,-1(P); BACK UP ADDRESS
****
2)25 POPJ P,
2) DODONE: POP P,-1(P); BACK UP ADDRESS
**************
1)30 F40LIT:
1) END
****
2)31 SUBTTL THE END
2) F40LIT: END
**************
Digital Equipment Corporation 28-AUG-79 Page 790
PCO Log Report
[FILCOM]
File 1) LINK:LNKFIO.MAC[30,4507] created: 1856 14-Jun-1979
File 2) LINK:LNKFIO.MAC[10,645063] created: 1418 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 14-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKFIO
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN .TYOCH,LNKCOR,LNKLOG
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKFIO
2) EXTERN .TYOCH,LNKCOR,LNKLOG
**************
1)1 DECEVR==1202 ;DEC EDIT VERSION
1) SEGMENT
1) SALL
1) LNKFIO:
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2) LNKFIO:
**************
1)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
**************
1)3 ;**;[1174] Replace @DVCHN.+3L DZN 29-May-79
1) E$$INS::.ERR. (MS,0,V%L,L%F,S%F,INS,<I/O data block not set up
>) ;[1174]
****
2)3 E$$INS::.ERR. (MS,0,V%L,L%F,S%F,INS,<I/O data block not set up
>) ;[1174]
**************
1)3 ;**;[1174] Replace @DVCHK.+4L DZN 29-May-79
1) JUMPE T2,E01NED ;[1174] NO SUCH DEVICE
****
2)3 JUMPE T2,E01NED ;[1174] NO SUCH DEVICE
**************
1)3 ;**;[1174] Replace @DVCHK.+11L DZN 29-May-79
1) E$$IDM::PUSH P,IO.CHN ;[1174] SAVE CHAN
****
Digital Equipment Corporation 28-AUG-79 Page 791
PCO Log Report
2)3 E$$IDM::PUSH P,IO.CHN ;[1174] SAVE CHAN
**************
1)4 IFN TOPS20,<MOVE T2,[2,,203] ;FAKE IT FOR TENEX>
1) JUMPE T2,DVRET1 ;DUMP MODE HAS NO BUFFERS
****
2)4 IFN TOPS20,<MOVE T2,[2,,203] ;FAKE IT FOR TOPS20>
2) JUMPE T2,DVRET1 ;DUMP MODE HAS NO BUFFERS
**************
1)7 ;**;[1122] Delete @DVINP.+9L DZN 6-Oct-78
1) MOVE T2,F.DIR(P1) ;DIRECTORY
****
2)7 MOVE T2,F.DIR(P1) ;DIRECTORY
**************
1)9 ;**;[1122] Delete @DVOUT.+25L DZN 6-Oct-78
1) SKIPN T1,F.PROT(P1) ;PROTECTION CODE
****
2)9 SKIPN T1,F.PROT(P1) ;PROTECTION CODE
**************
1)16 ;**;[1174] Replace @DVUPD.+7L DZN 29-May-79
1) JRST E01OFD ;[1174] SHOULD NEVER HAPPEN FOR
DSK
****
2)16 JRST E01OFD ;[1174] SHOULD NEVER HAPPEN FOR
DSK
**************
1)19 TLO T3,(LOOKUP) ;
1) IOR T3,I.CHN(T1) ;PLUS CHAN#
****
2)19 TLO T3,(LOOKUP)
2) IOR T3,I.CHN(T1) ;PLUS CHAN#
**************
1)20 MOVE T2,IO.CHR ;
1) TLC T2,-1-<(DV.TTA)> ;[604] NUL: ISN'T A DISK
****
2)20 MOVE T2,IO.CHR
2) TLC T2,-1-<(DV.TTA)> ;[604] NUL: ISN'T A DISK
**************
1)21 SUBTTL TENEX JSYS ROUTINES
1) IFN TOPS20,<
****
2)21 SUBTTL TOPS-20 JSYS ROUTINES
2) IFN TOPS20,<
**************
1)23 ;**;[1202] Replace @E$$NSD DZN 14-Jun-79
1) E01NED::PUSH P,IO.CHN ;[1174] PUT CHANNEL ON STACK FOR
LNKLOG
****
2)23 E01NED::PUSH P,IO.CHN ;[1174] PUT CHANNEL ON STACK FOR
LNKLOG
Digital Equipment Corporation 28-AUG-79 Page 792
PCO Log Report
**************
1)23 ;**;[1123] Replace @ENTERR+1L DZN 10-Oct-78
1) HRLI T1,(%ENT) ;[1123] SIGNAL ENTER
****
2)23 HRLI T1,(%ENT) ;[1123] SIGNAL ENTER
**************
1)23 FIOLIT:
1) END
****
2)24 SUBTTL THE END
2) FIOLIT: END
**************
Digital Equipment Corporation 28-AUG-79 Page 793
PCO Log Report
[FILCOM]
File 1) LINK:LNKHSH.MAC[30,4507] created: 1648 10-Jun-1979
File 2) LINK:LNKHSH.MAC[10,645063] created: 1416 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY TRYSYM
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) CUSTVR==0 ;CUSTOMER VERSION
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY TRYSYM
2) CUSTVR==0 ;CUSTOMER VERSION
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) SALL
1) SEGMENT
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL SYMBOL TABLE HASH SEARCH
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL SYMBOL TABLE HASH SEARCH
**************
1)4 ;**;[1174] Replace @TRYSYM+2L DZN 3-Jun-79
1) JUMPE W2,E$$ISN ;[1174] 0 IS ILLEGAL SYMBOL
****
2)4 JUMPE W2,E$$ISN ;[1174] 0 IS ILLEGAL SYMBOL
**************
1)5 ;**;[1174] Replace @COMPAR+16L DZN 3-Jun-79
1) E$$ESN::.ERR. (MS,,V%L,L%F,S%F,ESN,<Extended symbol not expect
ed>) ;[1174]
****
2)5 E$$ESN::.ERR. (MS,,V%L,L%F,S%F,ESN,<Extended symbol not expect
ed>) ;[1174]
**************
1)5 TXNN T4,S.LNM ;
1) JRST MATCH ;BOTH FINISHED
1) JRST NOMACH] ;NOT BOTH DONE
1) TXNE T4,S.SYM ;
1) TXNN T4,S.LNM ;
Digital Equipment Corporation 28-AUG-79 Page 794
PCO Log Report
1) JRST NOMACH ;2ND NOT SAME LENGTH
****
2)5 TXNN T4,S.LNM
2) JRST MATCH ;BOTH FINISHED
2) JRST NOMACH] ;NOT BOTH DONE
2) TXNE T4,S.SYM
2) TXNN T4,S.LNM
2) JRST NOMACH ;2ND NOT SAME LENGTH
**************
1)6 ;**;[1174] Replace @HASH+4L DZN 3-Jun-79
1) E02ESN::.ERR. (MS,,V%L,L%F,S%F,ESN) ;[1174]
****
2)6 E02ESN::.ERR. (MS,,V%L,L%F,S%F,ESN) ;[1174]
**************
1)7 ;**;[1174] Replace @REHASH+21L DZN 3-Jun-79
1) E$$RGS::.ERR. (MS,.EC,V%L,L%I,S%I,RGS,<Rehashing global symbol
table from >) ;[1174]
****
2)7 E$$RGS::.ERR. (MS,.EC,V%L,L%I,S%I,RGS,<Rehashing global symbol
table from >) ;[1174]
**************
1)8 TXNE T2,S.SYM ;
1) TXNN T2,S.LNM ;SO IGNORE COMMON, ETC
****
2)8 TXNE T2,S.SYM
2) TXNN T2,S.LNM ;SO IGNORE COMMON, ETC
**************
1)8 ;**;[1174] Replace @REHSH1+13L DZN 3-Jun-79
1) E03ESN::.ERR. (MS,,V%L,L%F,S%F,ESN) ;[1174]
****
2)8 E03ESN::.ERR. (MS,,V%L,L%F,S%F,ESN) ;[1174]
**************
1)9 ;**;[1174] Replace @ILLSYM DZN 3-Jun-79
1) E$$ISN::.ERR. (MS,.EC,V%L,L%F,S%F,ISN,<Illegal symbol name >)
;[1174]
****
2)9 E$$ISN::.ERR. (MS,.EC,V%L,L%F,S%F,ISN,<Illegal symbol name >)
;[1174]
**************
1)9 END
****
2)10 SUBTTL THE END
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 795
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1743 10-Jun-1979
File 2) LINK:LNKINI.MAC[10,645063] created: 1349 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
1) .JBHSA==:0 ;STARTING ADDRESS STORED IN HIGH
SEGMENT
1) .JB41==:41
1) ENTRY LINK
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKSCN,LNKCOR,LNKLOG,.TYOCH
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LINK
2) EXTERN LNKSCN,LNKCOR,LNKLOG,.TYOCH
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) VERSION
1) SALL
1) SEGMENT
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
**************
1)1 ;ACCUMULATORS
****
2)1 .JBHSA==:0 ;STARTING ADDRESS STORED IN HIGH
SEGMENT
2) .JB41==:41
2) ;ACCUMULATORS
**************
1)3 SUBTTL INITIALIZE
****
2)3 ;1217 Clean up the listings for release.
2)4 SUBTTL INITIALIZE
**************
1)3 ;**;[1174] Replace @F1+4L DZN 5-Jun-79
1) JRST E$$IMI ;[1174] YOU LOSE
****
2)4 JRST E$$IMI ;[1174] YOU LOSE
**************
Digital Equipment Corporation 28-AUG-79 Page 796
PCO Log Report
1)4 ;**;[1126] Revamp @ F1+1P8L JNG 1-Nov-78
1) ;NOW SET UP THE GETSEG BLOCKS FROM THE ARGUMENTS THE USER TYPED
TO THE
****
2)5 ;NOW SET UP THE GETSEG BLOCKS FROM THE ARGUMENTS THE USER TYPED
TO THE
**************
1)4 ;**;[1126] Replace @ SEGLUP JNG 1-Nov-78
1) SFDLUP: MOVE T3,T2 ;[1126] SET UP FOR NEXT SFD
****
2)5 SFDLUP: MOVE T3,T2 ;[1126] SET UP FOR NEXT SFD
**************
1)5 ;**;[1126] Insert @ GETUFD+14L JNG 1-Nov-78
1) HRROI T1,.GTRFN ;[1126] THE FILE NAME WE CAME FR
OM
****
2)6 HRROI T1,.GTRFN ;[1126] THE FILE NAME WE CAME FR
OM
**************
1)6 GETTAB T1, ;
1) SETZ T1, ;NOT 5.06 FOR SURE
****
2)7 GETTAB T1,
2) SETZ T1, ;NOT 5.06 FOR SURE
**************
1)7 ;**;[1174] Replace @PJLOOP+16L DZN 5-Jun-79
1) JRST E$$IMI ;[1174] SHOULD NEVER HAPPEN
****
2)8 JRST E$$IMI ;[1174] SHOULD NEVER HAPPEN
**************
1)7 ;**;[1172] Change @ PJLOOP+25L JNG 5-Jun-79
1) MOVX T1,.INFIN ;[1172] INITIALIZE LOWEST LOCATI
ON
****
2)8 MOVX T1,.INFIN ;[1172] INITIALIZE LOWEST LOCATI
ON
**************
1)8 ;**;[1132] Change @ CORINI+25L JNG 30-Jan-79
1) MOVEI T2,1 ;[1132] SET TO LC AREA
****
2)9 MOVEI T2,1 ;[1132] SET TO LC AREA
**************
1)9 ;**;[1132] Change @ CORINI+1P13L JNG 30-Jan-79
1) MOVEM T2,RC.HL(P1) ;[1132] ALSO HIGHEST LOADED SO F
AR
****
2)10 MOVEM T2,RC.HL(P1) ;[1132] ALSO HIGHEST LOADED SO F
AR
**************
Digital Equipment Corporation 28-AUG-79 Page 797
PCO Log Report
1)10 ;**;[1174] Replace @**somewhere** DZN 5-Jun-79
1) JRST E$$IMI ;[1174] YOU LOSE
****
2)11 JRST E$$IMI ;[1174] YOU LOSE
**************
1)11 ;**;[1172] Delete @ CORINI+3P29L JNG 5-Jun-79
1)12 ;HERE TO INIT LOG FILE IF POSSIBLE
****
2)13 ;HERE TO INIT LOG FILE IF POSSIBLE
**************
1)12 ;**;[1174] Revamp @LOGINI+11L DZN 5-Jun-79
1) MOVE T1,[LOGIT,,TTYIT] ;[1174] IN CASE /LOG LATER
****
2)13 MOVE T1,[LOGIT,,TTYIT] ;[1174] IN CASE /LOG LATER
**************
1)12 ;**;[1150] Delete @LOGINI+26L DZN 14-Mar-79
1) MOVEI T2,LN.IO ;SPACE WE NEED
****
2)13 MOVEI T2,LN.IO ;SPACE WE NEED
**************
1)12 ;**;[1150] Insert before LOGINI+30L DZN 14-Mar-79
1) MOVEI T2,RC ;[1150] SET UP LOG FILE CHANNEL
****
2)13 MOVEI T2,RC ;[1150] SET UP LOG FILE CHANNEL
**************
1)12 ;**;[1150] Replace @LOGINI+38L DZN 14-Mar-79
1) MOVSI T2,'LOG' ;EXTENSION
****
2)13 MOVSI T2,'LOG' ;EXTENSION
**************
1)14 ;**;[1120] Insert after NOLOG+14L DZN 22-Sep-78
1) MOVEI T1,CP.MSK ;[1120] START PROG RUNNABLE ON A
LL CPU TYPES
****
2)15 MOVEI T1,CP.MSK ;[1120] START PROG RUNNABLE ON A
LL CPU TYPES
**************
1)16 <SIXBIT /SFD/> ;
1) EXP -1 ;
1) > ;
1) REPEAT F.BFR+.ZZZ-.,< ;FILL IN BLANK SFDS
1) EXP 0 ;
1) > ;
1) REPEAT F.LEN+.ZZZ-.,< ;NOW FILL IN SWITCHES (-1)
1) EXP -1 ;
1) > ;
1) >
****
2)17 <SIXBIT /SFD/>
Digital Equipment Corporation 28-AUG-79 Page 798
PCO Log Report
2) EXP -1
2) >
2) REPEAT F.BFR+.ZZZ-.,< ;FILL IN BLANK SFDS
2) EXP 0
2) >
2) REPEAT F.LEN+.ZZZ-.,< ;NOW FILL IN SWITCHES (-1)
2) EXP -1
2) >
2) >
**************
1)18 ;**;[1174] Replace @.ERLIM DZN 30-May-79
1) E$$IMI::.OERR. [ASCIZ \?LNKIMI Insufficient memory to initializ
e LINK
****
2)19 E$$IMI::.OERR. [ASCIZ \?LNKIMI Insufficient memory to initializ
e LINK
**************
1)18 ;**;[1174] Delete @OPNERR DZN 30-May-79
1) CPOPJ: POPJ P, ;SOMEWHERE TO PUT IT
****
2)19 CPOPJ: POPJ P, ;SOMEWHERE TO PUT IT
**************
1)19 PT.SGN!PT.SYM!PS.GLB ;
1) >
1) IFNB <F>,<
1) PT.SGN!PT.SYM!PS.GLB!'F ;
1) >
****
2)20 PT.SGN!PT.SYM!PS.GLB
2) >
2) IFNB <F>,<
2) PT.SGN!PT.SYM!PS.GLB!'F
2) >
**************
1)21 PT.SGN!PT.EXT!PT.TTL!PT.FAK ;
1) 'JOBDAT'
1) ENDSYM-LSTBL+1
1) S.TTL ;
1) '-INITI'
1) 'AL-SYM'
1) S.TTL ;
1) 'BOLS '
1) 0
1) S.TTL!S.LST!S.SEG ;
1) .JBDA,,.JBDA
****
2)22 PT.SGN!PT.EXT!PT.TTL!PT.FAK
2) 'JOBDAT'
2) ENDSYM-LSTBL+1
Digital Equipment Corporation 28-AUG-79 Page 799
PCO Log Report
2) S.TTL
2) '-INITI'
2) 'AL-SYM'
2) S.TTL
2) 'BOLS '
2) 0
2) S.TTL!S.LST!S.SEG
2) .JBDA,,.JBDA
**************
1)23 ;**;[1151] Insert @ %%%BDT+16L JNG 29-Mar-79
1) .JB ,EDV,112 ;[1151] VALUE HERE FOR ASSEMBLY
WITH 6.03A
****
2)24 .JB ,EDV,112 ;[1151] VALUE HERE FOR ASSEMBLY
WITH 6.03A
**************
1)28 ;**;[1174] Replace @UUOHANDLER+10L DZN 7-Jun-79
1) E$$IUU::.OERR. [ASCIZ /?LNKIUU Illegal user UUO at PC /] ;[1174
]
****
2)29 E$$IUU::.OERR. [ASCIZ /?LNKIUU Illegal user UUO at PC /] ;[1174
]
**************
1)30 ;**;[1124] Replace @TTYDMP DZN 11-Oct-78
1) TTYDMP: PUSHJ P,TTYOUT ;[1124] OUTPUT LINE
****
2)31 TTYDMP: PUSHJ P,TTYOUT ;[1124] OUTPUT LINE
**************
1)30 ;**;[1124] Replace @TTYIT+5L DZN 11-Oct-78
1) SKIPA ;[1124] NO--JUST RETURN
****
2)31 SKIPA ;[1124] NO--JUST RETURN
**************
1)30 ;**;[1124] Replace @TTYOUT+9L DZN 11-Oct-78
1) POP P,T1 ;[1124] RESTORE PENDING CHAR
****
2)31 POP P,T1 ;[1124] RESTORE PENDING CHAR
**************
1)31 ;**;[1174] Replace @LOGDMP+6L DZN 7-Jun-79
1) E01OEL::.OERR. .EROEL ;[1174] LNKOEL
****
2)32 E01OEL::.OERR. .EROEL ;[1174] LNKOEL
**************
1)32 SUBTTL HIGH SEGMENT PART OF RESTART CODE
1) ;HERE TO RESTART SINGLE SEGMENT VERSION OR WHEN RESTARTING
****
2)33 SUBTTL HIGH SEGMENT PART OF RESTART CODE
2) ;HERE TO RESTART SINGLE SEGMENT VERSION OR WHEN RESTARTING
**************
Digital Equipment Corporation 28-AUG-79 Page 800
PCO Log Report
1)32 INILIT:
1) END LINK
****
2)34 SUBTTL THE END
2) INILIT: END LINK
**************
Digital Equipment Corporation 28-AUG-79 Page 801
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 0123 23-Jul-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1110 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 23-Jul-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 25-Jul-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
1) ENTRY LNKLOD
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKSCN,LNKCOR,LNKWLD,LNKLOG,LNKF40,LNKMAP,LNKXIT
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKLOD
2) EXTERN LNKSCN,LNKCOR,LNKWLD,LNKLOG,LNKF40,LNKMAP,LNKXIT
**************
1)1 DECEVR==1215 ;DEC EDIT VERSION
1) VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
2) ;LOCAL ACC DEFINITIONS
**************
1)1 SALL
1) SEGMENT
1)2 SUBTTL REVISION HISTORY
****
2)2 SUBTTL REVISION HISTORY
**************
1)5 SUBTTL LOAD CONTROL
****
2)6 ;1217 Clean up the listings for release.
2)7 SUBTTL LOAD CONTROL
**************
1)5 ;**;[1114] Delete @LODTST+2 DZN 1-Sep-78
1) TRNN FL,R.LIB!R.INC ;IN LIBRARY SEARCH MODE OR /INC
MODE?
****
2)7 TRNN FL,R.LIB!R.INC ;IN LIBRARY SEARCH MODE OR /INC
MODE?
**************
Digital Equipment Corporation 28-AUG-79 Page 802
PCO Log Report
1)6 CAIGE T1,1000 ;
1) JRST T.ERR1 ;NO
****
2)8 CAIGE T1,1000
2) JRST T.ERR1 ;NO
**************
1)8
1)9 SUBTTL PAGING CORE CONTROL
****
2)11 SUBTTL PAGING CORE CONTROL
**************
1)10 ;**;[1102] Insert before PG.SD+13L DZN 18-Jun-78
1) TLNE T2,-1 ;[1102] BUT IS WINDOW NOW PAST 5
12P?
****
2)12 TLNE T2,-1 ;[1102] BUT IS WINDOW NOW PAST 5
12P?
**************
1)12 ;**;[1116] Remove edit 716 @ PG.SX+12L JNG 7-Sep-78
1) CAML T1,HB.S0(R) ;[1116] HOWEVER IF EVEN BIGGER H
AS BEEN SEEN?
****
2)15 CAML T1,HB.S0(R) ;[1116] HOWEVER IF EVEN BIGGER H
AS BEEN SEEN?
**************
1)21 ;**;[1174] Replace @PFF.AR+2L DZN 30-May-79
1) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
****
2)24 PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
**************
1)21 ;**;[1174] Replace @PFF.AL+2L DZN 30-May-79
1) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
****
2)24 PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
**************
1)21 ;**;[1174] Replace @PFF.AF+2L DZN 30-May-79
1) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
****
2)24 PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
**************
1)22 PFF.CL==SY.CHL ;
1) PFF.CF==SY.CHF ;
1) > ;END IFN FTOVERLAY
Digital Equipment Corporation 28-AUG-79 Page 803
PCO Log Report
1) ;**;[1174] Replace @ANCERR DZN 30-May-79
1) E$$ANM::.ERR. (MS,,V%L,L%F,S%F,ANM,<Address not in memory>)
****
2)25 PFF.CL==SY.CHL
2) PFF.CF==SY.CHF
2) > ;END IFN FTOVERLAY
2) E$$ANM::.ERR. (MS,,V%L,L%F,S%F,ANM,<Address not in memory>)
**************
1)23 ;**;[1174] Replace @PFF.RR+2L DZN 30-May-79
1) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
****
2)26 PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
**************
1)23 ;**;[1174] Replace @PFF.RL+2L DZN 30-May-79
1) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
****
2)26 PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
**************
1)23 ;**;[1174] Replace @PFF.RF+2L DZN 30-May-79
1) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
****
2)26 PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
**************
1)24 ;**;[1143] Insert @ LS.ADD JNG 16-Feb-79
1) LS.ADD::SKIPN @GS.LB ;[1143] USER TYPE /NOINITIAL?
****
2)27 LS.ADD::SKIPN @GS.LB ;[1143] USER TYPE /NOINITIAL?
**************
1)25 ;**;[1143] Insert @ LS.ADE JNG 16-Feb-79
1) LS.ADE::SKIPN @GS.LB ;[1143] USER TYPE /NOINITIAL?
****
2)28 LS.ADE::SKIPN @GS.LB ;[1143] USER TYPE /NOINITIAL?
**************
1)25 ;**;[1143] Insert @ LS.ADE+14L JNG 16-Feb-79
1) LS.CHK: MOVE T1,LSYM ;[1143] GET SIZE OF LS AREA SO F
AR
****
2)28 LS.CHK: MOVE T1,LSYM ;[1143] GET SIZE OF LS AREA SO F
AR
**************
1)26 ;**;[1174] Replace @INSRT+1L DZN 30-May-79
1) JRST E$$SIF ;[1174] NO, ERROR, SHOULD NEVER
HAPPEN
Digital Equipment Corporation 28-AUG-79 Page 804
PCO Log Report
****
2)29 JRST E$$SIF ;[1174] NO, ERROR, SHOULD NEVER
HAPPEN
**************
1)26 ;**;[1174] Replace @INSRTF DZN 30-May-79
1) E$$SIF::.ERR. (MS,0,V%L,L%F,S%F,SIF,<Symbol insert failure, no
n-zero hole found>) ;[1174]
****
2)29 E$$SIF::.ERR. (MS,0,V%L,L%F,S%F,SIF,<Symbol insert failure, no
n-zero hole found>) ;[1174]
**************
1)27 ;**;[1174] Replace @SY.RF+1L DZN 30-May-79
1) PUSHJ P,E$$DUZ ;[1174] BUT NOT TOO FAR
****
2)30 PUSHJ P,E$$DUZ ;[1174] BUT NOT TOO FAR
**************
1)27 ;**;[1174] Replace @DUZERR DZN 30-May-79
1) E$$DUZ::.ERR. (MS,,V%L,L%F,S%F,DUZ,<Decreasing undefined symbo
l count below zero>) ;[1174]
****
2)30 E$$DUZ::.ERR. (MS,,V%L,L%F,S%F,DUZ,<Decreasing undefined symbo
l count below zero>) ;[1174]
**************
1)28 TXNE W1,FP.SYM ;
1) JRST SY.RF3 ;DO THIS ONE
1) ;**;[1174] Replace @ISPERR DZN 30-May-79
1) E$$ISP::.ERR. (MS,,V%L,L%F,S%F,ISP,<Incorrect symbol pointer>)
;[1174]
****
2)31 TXNE W1,FP.SYM
2) JRST SY.RF3 ;DO THIS ONE
2) E$$ISP::.ERR. (MS,,V%L,L%F,S%F,ISP,<Incorrect symbol pointer>)
;[1174]
**************
1)33 ;**;[1213] Insert @ SYSTF1+2L JNG 5-Jul-79
1) TXNE W1,FS.MDC ;[1213] ONLY WANT TO COMPARE VAL
UES?
****
2)36 TXNE W1,FS.MDC ;[1213] ONLY WANT TO COMPARE VAL
UES?
**************
1)33 ;**;[1174] Replace @SYSTF1+7L DZN 30-May-79
1) PUSHJ P,E$$ISP ;[1174] NO???
****
2)36 PUSHJ P,E$$ISP ;[1174] NO???
**************
1)33 ;**;[1174] Replace @SYSTF2+1L DZN 30-May-79
1) PUSHJ P,E$$ISP ;[1174] NO, NO PVS TRIPLET???
****
2)36 PUSHJ P,E$$ISP ;[1174] NO, NO PVS TRIPLET???
**************
Digital Equipment Corporation 28-AUG-79 Page 805
PCO Log Report
1)33 ;**;[1174] Replace @SYSTF3+2L DZN 30-May-79
1) PUSHJ P,E$$ISP ;[1174] MUSN'T BE PRIMARY
****
2)36 PUSHJ P,E$$ISP ;[1174] MUSN'T BE PRIMARY
**************
1)34 ;**;[1213] Insert @ SYSTF3+1P5L JNG 5-Jul-79
1) SYSTFC: MOVX T3,PS.UDR ;[1213] ASSUME RH FIXUP
****
2)37 SYSTFC: MOVX T3,PS.UDR ;[1213] ASSUME RH FIXUP
**************
1)34 ;**;[1174] Replace SYSTF3+1P21L DZN 30-May-79
1) PUSHJ P,E$$DUZ ;[1174] BUT NOT TOO FAR
****
2)37 PUSHJ P,E$$DUZ ;[1174] BUT NOT TOO FAR
**************
1)34 ;**;[1213] Insert @ SYSTF3+1P24L JNG 5-Jul-79
1) TXNN W1,FS.MDC ;[1213] DON'T ZAP S.PVS IF WE DI
DN'T USE IT
****
2)37 TXNN W1,FS.MDC ;[1213] DON'T ZAP S.PVS IF WE DI
DN'T USE IT
**************
1)40 ;**;[1174] Replace @RP.CHF+2L DZN 30-May-79
1) PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
****
2)43 PUSHJ P,E$$ANM ;[1174] WE ONLY GET HERE WHEN PA
GE IS IN CORE
**************
1)41 ;**;[1212] Replace @E$$IVC DZN 4-Jul-79
1) E$$IVC::.ERR. (MS,.EC,V%L,L%F,S%F,IVC,<Index validation check
failed at address >) ;[1212]
****
2)44 E$$IVC::.ERR. (MS,.EC,V%L,L%F,S%F,IVC,<Index validation check
failed at address >) ;[1212]
**************
1)43 ;**;[1174] Replace @SY.MDF+5L DZN 30-May-79
1) E$$MDS::.ERR. (MS,.EC,V%L,L%W,S%W,MDS,<Multiply-defined global
symbol >) ;[1174]
****
2)46 E$$MDS::.ERR. (MS,.EC,V%L,L%W,S%W,MDS,<Multiply-defined global
symbol >) ;[1174]
**************
1)43 POPJ P, ;
1)44 ;HERE TO FILL IN PARTIAL VALUE SYMBOL (SYM1=SYM2)
****
2)46 POPJ P,
2)47 ;HERE TO FILL IN PARTIAL VALUE SYMBOL (SYM1=SYM2)
**************
Digital Equipment Corporation 28-AUG-79 Page 806
PCO Log Report
1)45 ;**;[1174] Replace @SY.ZS1+5L DZN 30-May-79
1) PUSHJ P,E$$ISP ;[1174]
****
2)48 PUSHJ P,E$$ISP ;[1174]
**************
1)49 ;**;[1174] Replace @SYCHK2+1L DZN 30-May-79
1) PUSHJ P,E$$ISP ;[1174] SHOULD NEVER HAPPEN
****
2)52 PUSHJ P,E$$ISP ;[1174] SHOULD NEVER HAPPEN
**************
1)50 ;**;[1132] Replace @ SEGCHK JNG 30-Jan-79
1) SEGCHK::
****
2)53 SEGCHK::
**************
1)54 ;**;[1165] Replace @SY.RLS+7L DZN 15-May-79
1) JUMPE T1,[JUMPE T2,SYRLSZ ;[1165] NO LOCALS, TRY G
LOBAL
****
2)57 JUMPE T1,[JUMPE T2,SYRLSZ ;[1165] NO LOCALS, TRY G
LOBAL
**************
1)54 ;**;[1165] Insert after CPOPJ DZN 15-May-79
1) SYRLSZ: SETZM LSTSYM ;[1165] DON'T CONFUSE SYMBOLS DO
WN THE PIKE
****
2)57 SYRLSZ: SETZM LSTSYM ;[1165] DON'T CONFUSE SYMBOLS DO
WN THE PIKE
**************
1)55 ;**;[1203] Changes near CT.NAM JNG 14-Jun-79
1) DEFINE X(A,B,C)<
****
2)58 DEFINE X(A,B,C)<
**************
1)56 ;**;[1120] Replace @ALGNAM+1L DZN 22-Sep-78
1) POPJ P, ;[1120] USES COMMON SIZE AS MAIN
PROG MARKER.
****
2)60 POPJ P, ;[1120] USES COMMON SIZE AS MAIN
PROG MARKER.
**************
1)56 ;**;[1120] Replace @ALGNAM+5L DZN 22-Sep-78
1) POPJ P, ;[1120] DONE
****
2)60 POPJ P, ;[1120] DONE
**************
1)56 ;**;[1174] Replace @F40NAM+3L DZN 30-May-79
1) JRST E$$FOV ;[1174] YES
1) > ;
Digital Equipment Corporation 28-AUG-79 Page 807
PCO Log Report
1) IFN FMXFOR,< ;
1) SKIPE MIXFOR ;WANT TO MIX F40 & F-10?
1) JRST [HRRZS MIXFOR ;YES
1) ;**;[1120] Replace @F40NAM+8L DZN 22-Sep-78
1) TXNE T2,F40BIT ;[1120] 1ST TIME SEEN F4
0?
****
2)60 JRST E$$FOV ;[1174] YES
2) >
2) IFN FMXFOR,<
2) SKIPE MIXFOR ;WANT TO MIX F40 & F-10?
2) JRST [HRRZS MIXFOR ;YES
2) TXNE T2,F40BIT ;[1120] 1ST TIME SEEN F4
0?
**************
1)56 > ;
1) ;**;[1203] Insert @ F40NAM+19L JNG 14-Jun-79
1) TXNN T2,XFRBIT ;[1203] EXTENDED FORTRAN?
1) TXNE T2,FORBIT ;[1120] CAN NOT HAVE BOTH
1) ;**;[1174] Replace @F40NAM+20L DZN 30-May-79
1) JRST E$$MSR ;[1174] ERROR
****
2)60 >
2) TXNN T2,XFRBIT ;[1203] EXTENDED FORTRAN?
2) TXNE T2,FORBIT ;[1120] CAN NOT HAVE BOTH
2) JRST E$$MSR ;[1174] ERROR
**************
1)56 ;**;[1174] Replace @F40OVE DZN 30-May-79
1) E$$FOV::.ERR. (MS,.EC,V%L,L%F,S%F,FOV,<Cannot overlay F40 comp
iled code>) ;[1174]
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]>
1)57 ;**;[1120] Replace @CBLNAM DZN 22-Sep-78
1) CBLNAM: JUMPE T2,CPOPJ ;[1120] OK FIRST TIME
1) TXNE T2,C74BIT ;[1120] TEST FOR OTHER COBOL
1) ;**;[1174] Replace @CBLNAM+2L DZN 30-May-79
1) JRST E$$CMC ;[1174] NOT ALLOWED
****
2)60 E$$FOV::.ERR. (MS,.EC,V%L,L%F,S%F,FOV,<Cannot overlay F40 comp
iled code>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]>
2)61 CBLNAM: JUMPE T2,CPOPJ ;[1120] OK FIRST TIME
2) TXNE T2,C74BIT ;[1120] TEST FOR OTHER COBOL
2) JRST E$$CMC ;[1174] NOT ALLOWED
**************
1)57 ;**;[1174] Replace @C74NAM+2L DZN 30-May-79
1) JRST E$$CMC ;[1174] NOT ALLOWED
****
2)61 JRST E$$CMC ;[1174] NOT ALLOWED
**************
Digital Equipment Corporation 28-AUG-79 Page 808
PCO Log Report
1)57 ;**;[1174] Replace @C74ERR DZN 30-May-79
1) E$$CMC::.ERR. (MS,.EC,V%L,L%F,S%F,CMC,<Cannot mix COBOL-68 and
COBOL-74 compiled code>) ;[1174]
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
1)58 ;**;[1120] Replace @C74ERR+6L DZN 22-Sep-78
1) ;FORTRAN
1) ;**;[1203] Insert @ FORNAM JNG 12-Jun-79
1) XFRNAM: TXNE T2,FORBIT ;[1203] SEEN OTHER FORTRAN?
****
2)61 E$$CMC::.ERR. (MS,.EC,V%L,L%F,S%F,CMC,<Cannot mix COBOL-68 and
COBOL-74 compiled code>) ;[1174]
2) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
2)62 ;FORTRAN
2) XFRNAM: TXNE T2,FORBIT ;[1203] SEEN OTHER FORTRAN?
**************
1)58 ;**;[1174] Replace @F40ERR DZN 30-May-79
1) E$$MSR::.ERR. (MS,0,V%L,L%F,S%F,MSR,</MIXFOR switch required t
o mix F40 and FORTRAN code>) ;[1174]
****
2)62 E$$MSR::.ERR. (MS,0,V%L,L%F,S%F,MSR,</MIXFOR switch required t
o mix F40 and FORTRAN code>) ;[1174]
**************
1)58 ;**;[1203] Insert @ FORSEG+11L JNG 14-Jun-79
1) ;**;[1207] Change @ E$$CMX JNG 29-Jun-79
1) E$$CMX::.ERR. (MS,.EC,V%L,L%F,S%C,CMX,<Cannot mix Extended FOR
TRAN compiled code with FORTRAN compiled code>)
****
2)62 E$$CMX::.ERR. (MS,.EC,V%L,L%F,S%C,CMX,<Cannot mix Extended FOR
TRAN compiled code with FORTRAN compiled code>)
**************
1)58 ;**;[1120] Delete @FORCPU+1P DZN 22-Sep-78
1)59 ;SITGO
****
2)63 ;SITGO
**************
1)60 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['.MXFOR'] ;NOW FOR REQUEST
****
2)64 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['.MXFOR'] ;NOW FOR REQUEST
**************
1)60 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['.SAV15']
****
2)64 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['.SAV15']
**************
1)62 ;**;[1174] Replace @MXFR2A+6L DZN 30-May-79
1) JRST E$$FSF ;[1174] NO, SO GIVE UP
Digital Equipment Corporation 28-AUG-79 Page 809
PCO Log Report
****
2)66 JRST E$$FSF ;[1174] NO, SO GIVE UP
**************
1)62 TLNE T1,-1 ;
1) AOJA P4,MXFOR3 ;NOT YET, INCR AND TRY AGAIN
****
2)66 TLNE T1,-1
2) AOJA P4,MXFOR3 ;NOT YET, INCR AND TRY AGAIN
**************
1)62 ;**;[1174] Replace @MXFOR3+14L DZN 30-May-79
1) JRST E$$FSF ;[1174] ERROR
****
2)66 JRST E$$FSF ;[1174] ERROR
**************
1)62 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['.JRA16']
****
2)66 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['.JRA16']
**************
1)63 ;**;[1174] Replace @MXFOR9+7L DZN 30-May-79
1) ; JRST E$$FSF ;[1174] SHOULD HAVE FOUND IT BY
NOW
1)64 ;HERE IF SUBROUTINE IS NOT STANDARD FORM
1) ;**;[1174] Replace @MXFERR DZN 30-May-79
1) E$$FSF::.ERR. (MS,.EC,V%L,L%W,S%W,FSF,<FORTRAN subroutine not
in expected format, /MIXFOR fixup not done>) ;[1174]
****
2)67 ; JRST E$$FSF ;[1174] SHOULD HAVE FOUND IT BY
NOW
2)68 ;HERE IF SUBROUTINE IS NOT STANDARD FORM
2) E$$FSF::.ERR. (MS,.EC,V%L,L%W,S%W,FSF,<FORTRAN subroutine not
in expected format, /MIXFOR fixup not done>) ;[1174]
**************
1)64 MOVEM P2,HL.S1 ;
1) CAMLE P2,HC.S1 ;AND HIGHEST DATA LOADED COUNTER
****
2)68 MOVEM P2,HL.S1
2) CAMLE P2,HC.S1 ;AND HIGHEST DATA LOADED COUNTER
**************
1)67
1)68 SUBTTL HERE TO TERMINATE LOAD
****
2)72 SUBTTL HERE TO TERMINATE LOAD
**************
1)68 ;**;[1201] Replace @ GO+3L JNG 13-Jun-79
1) CAIN T1,$SSGNONE ;[1201] USER GIVE /SYMSEG:NONE?
****
2)72 CAIN T1,$SSGNONE ;[1201] USER GIVE /SYMSEG:NONE?
**************
1)68 ;**;[1201] Replace @ GO+8L JNG 13-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 810
PCO Log Report
1) MOVEI T1,$SSGLOW ;[1201] OTHERWISE, DEFAULT TO LO
W
****
2)72 MOVEI T1,$SSGLOW ;[1201] OTHERWISE, DEFAULT TO LO
W
**************
1)68 ;**;[1175] Change @ GOSTRT+1L JNG 12-Jun-79
1) JRST GOUPTO ;[1175] NO
1) MOVX W1,PT.SGN!PT.SYM ;
1) PUSHJ P,TRYSYM## ;SEE IF DEFINED BY NOW
****
2)72 JRST GOUPTO ;[1175] NO
2) MOVX W1,PT.SGN!PT.SYM
2) PUSHJ P,TRYSYM## ;SEE IF DEFINED BY NOW
**************
1)68 ;**;[1175] Replace @ GOSTRT+9L JNG 12-Jun-79
1) JRST GOUPTO ;[1175] GO CHECK /UPTO
****
2)72 JRST GOUPTO ;[1175] GO CHECK /UPTO
**************
1)69 ;**;[1175] Delete @ GOSTER JNG 12-Jun-79
1) ;HERE TO EXIT
****
2)74 ;HERE TO EXIT
**************
1)69 MOVEI T1,[ASCIZ \?LNKIMM \] ;
1) PUSHJ P,MISNG1## ;
1) JRST .+1] ;AND REENTER MAIN STREAM
****
2)74 MOVEI T1,[ASCIZ \?LNKIMM \]
2) PUSHJ P,MISNG1##
2) JRST .+1] ;AND REENTER MAIN STREAM
**************
1)70 ;**;[1215] Change @ CHKLLC+4L JNG 23-Jul-79
1) MOVE W1,RC.HL(T1) ;[1215] USE HIGHEST LOC EVER SEE
N
****
2)75 MOVE W1,RC.HL(T1) ;[1215] USE HIGHEST LOC EVER SEE
N
**************
1)70 ;**;[1132] Replace @ CHKLLC+13L JNG 30-Jan-79
1) CAMLE R,RC.NO ;[1132] NEXT PSECT ORG MUST BE L
OWEST
****
2)75 CAMLE R,RC.NO ;[1132] NEXT PSECT ORG MUST BE L
OWEST
**************
1)71 ;**;[1106] Insert @ CHKLL1 JNG 27-Jun-78
1) CHKLL1: MOVE R,RC.NO ;[1106] POINT TO HIGHEST PSECT
Digital Equipment Corporation 28-AUG-79 Page 811
PCO Log Report
****
2)76 CHKLL1: MOVE R,RC.NO ;[1106] POINT TO HIGHEST PSECT
**************
1)72 ;**;[1204] Insert @ CHKBND+2L JNG 14-Jun-79
1) MOVE T2,RC.HL(T1) ;[1204] HIGHEST EVER LOADED
****
2)77 MOVE T2,RC.HL(T1) ;[1204] HIGHEST EVER LOADED
**************
1)72 ;**;[1212] Replace @E$$POV+4L DZN 4-Jul-79
1) .ETC. (STR,.EC,,,,,< overlap from address >) ;[1212]
****
2)77 .ETC. (STR,.EC,,,,,< overlap from address >) ;[1212]
**************
1)73 ;**;[1103] Insert before B16NOT DZN 19-Jun-78
1) SETZM PRGPTR ;[1103] REMEMBER THAT WE'RE DONE
****
2)78 SETZM PRGPTR ;[1103] REMEMBER THAT WE'RE DONE
**************
1)80 MOVEM T3,F.DIR(T1) ;
1) SETOM F.DIRM(T1) ;MUST MATCH EXACTLY
1) HRLI T2,-5 ;SET UP TO COPY ANY SFD'S
1) MOVE T4,T1 ;
1) PRGSFD: SKIPN T3,R.SFD(T2) ;ANY MORE THERE?
****
2)85 MOVEM T3,F.DIR(T1)
2) SETOM F.DIRM(T1) ;MUST MATCH EXACTLY
2) HRLI T2,-5 ;SET UP TO COPY ANY SFD'S
2) MOVE T4,T1
2) PRGSFD: SKIPN T3,R.SFD(T2) ;ANY MORE THERE?
**************
1)81 ANDCAM T1,LIBPRC ;
1) SKIPE @GS.LB ;LOAD JOBDAT UNLESS LOADED ORIGI
NALLY BY DEFAULT
****
2)86 ANDCAM T1,LIBPRC
2) SKIPE @GS.LB ;LOAD JOBDAT UNLESS LOADED ORIGI
NALLY BY DEFAULT
**************
1)83 ;**;[1203] Change @ REMLIB+1P JNG 14-Jun-79
1) DEFINE X(A,B,C)<
****
2)88 DEFINE X(A,B,C)<
**************
1)83 ;**;[1203] Change @ MNTBL+3L JNG 14-Jun-79
1) DEFINE X(A,B,C)<
****
2)89 DEFINE X(A,B,C)<
**************
1)84 ;**;[1203] Insert @ F40.L0+4L JNG 14-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 812
PCO Log Report
1) TXNN T1,XFRBIT ;[1203] EXTENDED FORTRAN CODE?
****
2)90 TXNN T1,XFRBIT ;[1203] EXTENDED FORTRAN CODE?
**************
1)85 ;**;[1174] Replace @FOR.L2+5L DZN 30-May-79
1) E$$FSI::.ERR. (MS,0,V%L,L%W,S%W,FSI,<FORTRAN requires FOROTS,
/FORSE switch ignored>) ;[1174]
****
2)91 E$$FSI::.ERR. (MS,0,V%L,L%W,S%W,FSI,<FORTRAN requires FOROTS,
/FORSE switch ignored>) ;[1174]
**************
1)85 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['FORSE.'] ;GET IT BY REQUESTING FORSE
****
2)91 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['FORSE.'] ;GET IT BY REQUESTING FORSE
**************
1)85 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['FOROT%'] ;SPECIAL SYMBOL
****
2)91 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['FOROT%'] ;SPECIAL SYMBOL
**************
1)85 ;**;[1200] Insert @ FOR.L1 JNG 13-Jun-79
1) PUSHJ P,FOR.L1 ;[1200] PUT FORLIB IN LIST OF LI
BRARIES
****
2)91 PUSHJ P,FOR.L1 ;[1200] PUT FORLIB IN LIST OF LI
BRARIES
**************
1)86 ;**;[1201] Change @ FOR.L0+1P11L JNG 13-Jun-79
1) DMOVE T2,[EXP %SEG%,$SSGLOW] ;[1201] SWITCH AND ARGUM
ENT
****
2)92 DMOVE T2,[EXP %SEG%,$SSGLOW] ;[1201] SWITCH AND ARGUM
ENT
**************
1)86 ;**;[1174] Replace @FOR.L1+2L DZN 30-May-79
1) E01FSI::.ERR. (MS,0,V%L,L%W,S%W,FSI) ;[1174]
****
2)92 E01FSI::.ERR. (MS,0,V%L,L%W,S%W,FSI) ;[1174]
**************
1)86 ;**;[1203] Insert @ FORL10+2L JNG 14-Jun-79
1) ;HERE WHEN EXTENDED FORTRAN IS SEEN. SAME AS FORTRAN.
****
2)92 ;HERE WHEN EXTENDED FORTRAN IS SEEN. SAME AS FORTRAN.
**************
1)88 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['%SHARE']
Digital Equipment Corporation 28-AUG-79 Page 813
PCO Log Report
****
2)94 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['%SHARE']
**************
1)88 ;**;[1174] Replace @ALG.L1+2L DZN 30-May-79
1) E$$AMP::.ERR. (MS,,V%L,L%W,S%W,AMP,<ALGOL main program not loa
ded>) ;[1174]
****
2)94 E$$AMP::.ERR. (MS,,V%L,L%W,S%W,AMP,<ALGOL main program not loa
ded>) ;[1174]
**************
1)88 NLI.L1: MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['%NELGO'] ;DEFINE SYMBOL
****
2)94 NLI.L1: MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['%NELGO'] ;DEFINE SYMBOL
**************
1)88 ;**;[1174] Replace @SIM.L1+2L DZN 30-May-79
1) E$$SMP::.ERR. (MS,,V%L,L%W,S%W,SMP,<SIMULA main program not lo
aded>) ;[1174]
****
2)94 E$$SMP::.ERR. (MS,,V%L,L%W,S%W,SMP,<SIMULA main program not lo
aded>) ;[1174]
**************
1)88 ;**;[1131] Replace @QREENT DZN 26-Jan-79
1) QREENT: MOVE T1,HL.S1 ;[1131] GET CURRENT END OF LOW S
EGMENT
****
2)94 QREENT: MOVE T1,HL.S1 ;[1131] GET CURRENT END OF LOW S
EGMENT
**************
1)89 ;**;[1101] Replace @ D.INP+2L JNG 29-May-78
1) PUSHJ P,D.CNT ;[1101] DO IN UUO AND COUNT BLOC
K
****
2)95 PUSHJ P,D.CNT ;[1101] DO IN UUO AND COUNT BLOC
K
**************
1)89 ;**;[1174] Replace @D.ERR+2L DZN 30-May-79
1) E01EIF::PUSH P,[DC] ;[1174] SAVE CHANNEL FOR LNKLOG
****
2)95 E01EIF::PUSH P,[DC] ;[1174] SAVE CHANNEL FOR LNKLOG
**************
1)89 ;**;[1101] Replace @ D.READ+2L JNG 29-May-78
1) PUSHJ P,D.CNT ;[1101] DO IN UUO AND COUNT BLOC
K #
****
2)95 PUSHJ P,D.CNT ;[1101] DO IN UUO AND COUNT BLOC
K #
**************
1)90 ;**;[1101] Insert @ D.READ+7L JNG 29-May-78
Digital Equipment Corporation 28-AUG-79 Page 814
PCO Log Report
1) ;THIS ROUTINE DOES AN IN UUO AND KEEPS TRACK OF THE CURRENT BLOC
K
****
2)96 ;THIS ROUTINE DOES AN IN UUO AND KEEPS TRACK OF THE CURRENT BLOC
K
**************
1)91 ;**;[1174] Replace @EOF+1L DZN 30-May-79
1) PUSHJ P,E$$NEB ;[1174] NO GIVE WARNING
****
2)97 PUSHJ P,E$$NEB ;[1174] NO GIVE WARNING
**************
1)91 ;**;[1132] Delete @ EOFTS+7L JNG 30-Jan-79
1) MOVEI R,2 ;NO FOR HIGH SEGMENT
****
2)97 MOVEI R,2 ;NO FOR HIGH SEGMENT
**************
1)91 ;**;[1132] Delete @ EOFTS+14L JNG 30-Jan-79
1) ;**;[1114] Insert after EOFTS+14L DZN 1-Sep-78
1) SETZM LOD37 ;[1114] DONE WITH COBOL SYMBOLS
****
2)97 SETZM LOD37 ;[1114] DONE WITH COBOL SYMBOLS
**************
1)91 LITLOD:
1) END LNKLOD
****
2)98 SUBTTL THE END
2) LITLOD: END LNKLOD
**************
Digital Equipment Corporation 28-AUG-79 Page 815
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOG.MAC[30,4507] created: 1742 04-Jul-1979
File 2) LINK:LNKLOG.MAC[10,645063] created: 1643 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 4-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKLOG
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN .TYOCH,LNKSCN,LNKERR
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKLOG
2) EXTERN .TYOCH,LNKSCN,LNKERR
**************
1)1 DECEVR==1212 ;DEC EDIT VERSION
1) SEGMENT
1) SALL
1) ;USES T1-T4 ONLY (PLUS PUSHDOWN STACK)
1) ;CALLING SEQUENCE GENERATED BY .ERR. MACRO
1) ;SEE LNKPAR FOR DETAILS
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL DISPATCH TABLES FOR MESSAGE CLASSES
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL DISPATCH TABLES FOR MESSAGE CLASSES
**************
1)3 ..CTRL==<<IFIDN <TYPE><JMP>,<1>>!<IFIDN <TYPE><RTN>,<1>>>
1) IFN ..CTRL,<
****
2)3 ..CTRL==1 ;;[1217] ASSUME CONTROL
ONLY
2) IFDIF <TYPE><JMP>,<IFDIF <TYPE><RTN>,<..CTRL==0>> ;;[1217] COM
PILE WITH MACRO 53(1020)
2) IFN ..CTRL,<
**************
1)6 ;**;[1174] Replace @ERRLOG+3L DZN 4-Jun-79
1) MOVEI T1,E$$OEL-1 ;[1174] FAKE RETURN
****
Digital Equipment Corporation 28-AUG-79 Page 816
PCO Log Report
2)6 MOVEI T1,E$$OEL-1 ;[1174] FAKE RETURN
**************
1)6 ;**;[1174] Replace @LOGERR DZN 4-Jun-79
1) E$$OEL::PUSH P,[RC] ;CHANNNEL #
****
2)6 E$$OEL::PUSH P,[RC] ;CHANNNEL #
**************
1)8 ;**;[1202] Replace @ER.MS DZN 14-Jun-79
1) ER.MS: SETOM ERCHAN ;[1202] SIGNAL NO CHANNEL INVOLV
ED
****
2)8 ER.MS: SETOM ERCHAN ;[1202] SIGNAL NO CHANNEL INVOLV
ED
**************
1)8 ;**;[1202] Replace @ER.LRE+1L DZN 14-Jun-19
1) MOVE T4,ERCHAN ;[1174] GET CHANNEL
1) ;**;[1144] Replace @ER.LRE+1L DZN 16-Feb-79
1) TXNE P1,F%SEV ;[1144] DO WE HAVE SEVERITY?
****
2)8 MOVE T4,ERCHAN ;[1174] GET CHANNEL
2) TXNE P1,F%SEV ;[1144] DO WE HAVE SEVERITY?
**************
1)8 ;**;[1144] Replace @ER.LRE+12L DZN 16-Feb-79
1) DPB T3,SLPTR ;[1144] STORE SEVERITY AND LEVEL
****
2)8 DPB T3,SLPTR ;[1144] STORE SEVERITY AND LEVEL
**************
1)8 ;**;[1144] Replace @ER.LRE+17L DZN 16-Feb-79
1) TXO P1,F%SEV ;[1144] MARK AS FATAL
****
2)8 TXO P1,F%SEV ;[1144] MARK AS FATAL
**************
1)9 ;**;[1202] Replace @ERLRE2 DZN 14-Jun-79
1) ERLRE2: PUSHJ P,CHKLVL ;[1202] OUTPUT TIME ETC
1) JRST ERRNXT ;[1174] NOTHING TO DO
1) ;**;[1144] Insert before ERLRE2+3L DZN 16-Feb-79
1) HRRZ T1,P1 ;ADDRESS OF MESSAGE
1) OUTVIA .TSTRG## ;OUTPUT ON TTY AND/OR LOG
1) ;**;[1212] Insert after ERLRE2+4L DZN 4-Jul-79
1) OUTVIA .TSPAC## ;[1212] PRINT SPACE BETWEEN FAIL
URE AND REASON
****
2)9 ERLRE2: PUSHJ P,CHKLVL ;[1202] OUTPUT TIME ETC
2) JRST ERRNXT ;[1174] NOTHING TO DO
2) HRRZ T1,P1 ;ADDRESS OF MESSAGE
2) OUTVIA .TSTRG## ;OUTPUT ON TTY AND/OR LOG
2) OUTVIA .TSPAC## ;[1212] PRINT SPACE BETWEEN FAIL
URE AND REASON
**************
Digital Equipment Corporation 28-AUG-79 Page 817
PCO Log Report
1)9 ;**;[1144] Replace @ERLRE3 DZN 16-Feb-79
1) HRRZ T1,P1 ;[1144] POINT TO SCAN BLOCK
****
2)9 HRRZ T1,P1 ;[1144] POINT TO SCAN BLOCK
**************
1)11 ;**;[1144] Insert before ER.I+2L DZN 16-Feb-79
1) HRRZ T1,P1 ;GET MESSAGE
1) OUTVIA .TSTRG##
1) ;**;[1202] Replace @ERI1 DZN 14-Jun-79
1) MOVE T4,ERCHAN ;[1202] GET CHANNEL
****
2)11 HRRZ T1,P1 ;GET MESSAGE
2) OUTVIA .TSTRG##
2) MOVE T4,ERCHAN ;[1202] GET CHANNEL
**************
1)12 ;**;[1144] Replace @ER.ST+2L DZN 16-Feb-79
1) HRRZ T1,P1 ;GET MESSAGE
****
2)12 HRRZ T1,P1 ;GET MESSAGE
**************
1)12 ;**;[1202] Replace @ERST1 DZN 14-Jun-79
1) MOVEI T1,[ASCIZ \Status \] ;[1144]
****
2)12 MOVEI T1,[ASCIZ \Status \] ;[1144]
**************
1)12 ;**;[1144] Replace @ER.ST+12L DZN 16-Feb-79
1) MOVEI T1,[ASCIZ \ for file \] ;[1144]
1) OUTVIA .TSTRG##
1) ;**;[1202] Replace @ERST1+11L DZN 14-Jun-79
1) MOVE T4,ERCHAN ;[1202] GET CHANNEL NUMBER
****
2)12 MOVEI T1,[ASCIZ \ for file \] ;[1144]
2) OUTVIA .TSTRG##
2) MOVE T4,ERCHAN ;[1202] GET CHANNEL NUMBER
**************
1)12 ;**;[1202] Delete CHKCHN routine DZN 14-Jun-79
1)13 SUBTTL CONTINUATION OF FIRST LINE DISPATCH
****
2)13 SUBTTL CONTINUATION OF FIRST LINE DISPATCH
**************
1)13 ;**;[1144] Replace @ERRNXT+2L DZN 16-Feb-79
1) LDB T1,VSPTR ;[1144] GET VERBOSITY AND SEVERI
TY
****
2)13 LDB T1,VSPTR ;[1144] GET VERBOSITY AND SEVERI
TY
**************
1)17 ;**;[1202] Replace @CHKLVL DZN 14-Jun-79
1) CHKLVL: SKIPGE T1,ERCHAN ;[1202] I/O ERROR?
Digital Equipment Corporation 28-AUG-79 Page 818
PCO Log Report
****
2)17 CHKLVL: SKIPGE T1,ERCHAN ;[1202] I/O ERROR?
**************
1)20 PUSHJ P,.TDEC2## ;
1) MOVEI T1,[ASCIZ / /];[1174] FINISH WITH 3 SPACES
1) PJRST .TSTRG## ;[1174] ..
1)21 ;**;[1144] Replace @VERPTR DZN 16-Feb-79
1) VERPTR: POINTR P1,F%VER ;[1144] VERBOSITY LEVEL
****
2)20 PUSHJ P,.TDEC2##
2) MOVEI T1,[ASCIZ / /];[1174] FINISH WITH 3 SPACES
2) PJRST .TSTRG## ;[1174] ..
2)21 VERPTR: POINTR P1,F%VER ;[1144] VERBOSITY LEVEL
**************
1)24 ;**;[1174] Replace @.ERFEE DZN 30-May-79
1) .ERFEE::ASCIZ \FEE\
1) ;**;[1212] Replace @.ERFEE+1L DZN 4-Jul-79
1) .ASCIZ <ENTER error> ;[1212]
****
2)24 .ERFEE::ASCIZ \FEE\
2) .ASCIZ <ENTER error> ;[1212]
**************
1)25 ;**;[1212] Replace @LRETAB+7L DZN 4-Jul-79
1) .ERR. (,0,V%L,L%F,S%F,,<(7) not a saved file >)
****
2)25 .ERR. (,0,V%L,L%F,S%F,,<(7) not a saved file >)
**************
1)25 ;**;[1174] Insert before LRELEN DZN 30-May-79
1) .ERR. (,0,V%L,L%F,S%F,,<(32) RUN not allowed when not
logged in >) ;[1174]
****
2)25 .ERR. (,0,V%L,L%F,S%F,,<(32) RUN not allowed when not
logged in >) ;[1174]
**************
1)28 LOGLIT:
1) END
****
2)28 LOGLIT: END
**************
Digital Equipment Corporation 28-AUG-79 Page 819
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOW.MAC[30,4507] created: 1233 14-Jun-1979
File 2) LINK:LNKLOW.MAC[10,645063] created: 1341 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 14-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) SEARCH LNKPAR,MACTEN,UUOSYM,SCNMAC
1) CUSTVR==0 ;CUSTOMER VERSION
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,MACTEN,UUOSYM,SCNMAC
2) SALL
2) CUSTVR==0 ;CUSTOMER VERSION
**************
1)1 DECEVR==1204 ;DEC EDIT VERSION
1) LOC 137
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) LOC 137
**************
1)1 SALL
1)2 SUBTTL REVISION HISTORY
****
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL STORAGE
****
2)3 ;1217 Clean up the listings for release.
2)4 SUBTTL STORAGE
**************
1)3 ;**;[1172] Insert @ POPOFS+1L JNG 5-Jun-79
1) PATLOC::BLOCK 1 ;[1172] LOCATION OF PAT.. AREA
1) ;**;[1204] Insert @ PATLOC+1L JNG 14-Jun-79
1) LSTRRV::BLOCK 1 ;[1204] LAST RIGHT RELOCATABLE V
ALUE FROM RB.1
****
2)4 PATLOC::BLOCK 1 ;[1172] LOCATION OF PAT.. AREA
2) LSTRRV::BLOCK 1 ;[1204] LAST RIGHT RELOCATABLE V
ALUE FROM RB.1
**************
1)6 ;**;[1174] Insert after ENTPTR DZN 5-Jun-79
1) NXTGLB::BLOCK 1 ;[1174] PUSHJ P,LOCN FOR /ENTRY,
/U, ETC.
****
2)7 NXTGLB::BLOCK 1 ;[1174] PUSHJ P,LOCN FOR /ENTRY,
Digital Equipment Corporation 28-AUG-79 Page 820
PCO Log Report
/U, ETC.
**************
1)9 SUBTTL I/O DATA AREAS
1) H.ZER::! ;START OF AREA FOR INPUT PARAMET
ERS
****
2)10 SUBTTL I/O DATA AREAS
2) H.ZER::! ;START OF AREA FOR INPUT PARAMET
ERS
**************
1)9 SFDSCN==:SFDARG+.PTSWT ;
1) SFDDIR==:SFDARG+.PTPPN ;
1) SFDEND==:SFDARG+.PTMAX-1 ;
1) H.EZER==:.-1
****
2)10 SFDSCN==:SFDARG+.PTSWT
2) SFDDIR==:SFDARG+.PTPPN
2) SFDEND==:SFDARG+.PTMAX-1
2) H.EZER==:.-1
**************
1)12 ;**;[1144] Replace @EXECSW DZN 16-Feb-79
1) EXECSW::BLOCK 1 ;[1144] -1,,x IF /EXECUTE, x = A
DDR TO START
****
2)13 EXECSW::BLOCK 1 ;[1144] -1,,x IF /EXECUTE, x = A
DDR TO START
**************
1)13 ;**;[1101] Replace @ LSTLOD JNG 29-May-78
1) DTAFLG::BLOCK 1 ;[1101] INPUT DEVICE IS DECtape
****
2)14 DTAFLG::BLOCK 1 ;[1101] INPUT DEVICE IS DECtape
**************
1)18 END
****
2)20 SUBTTL THE END
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 821
PCO Log Report
[FILCOM]
File 1) LINK:LNKMAP.MAC[30,4507] created: 1029 14-Jun-1979
File 2) LINK:LNKMAP.MAC[10,645063] created: 1547 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 14-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKMAP
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKFIO,LNKXIT,LNKLOD,LNKLOG,LNKCOR,.TYOCH
****
2)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKMAP
2) EXTERN LNKFIO,LNKXIT,LNKLOD,LNKLOG,LNKCOR,.TYOCH
**************
1)1 DECEVR==1203 ;DEC EDIT VERSION
1) VERSION
1) SALL
1) SEGMENT
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
**************
1)4 SUBTTL HEADER LINES
1) LNKMAP: JFCL .+1 ;INCASE CCL
1) ;**;[1174] Replace @LNKMAP+1L DZN 31-May-79
1) E$$MPS::.ERR. (MS,0,V%L,L%I,S%I,MPS,<MAP segment>) ;[1174]
****
2)3 ;1217 Clean up the listings for release.
2)4 SUBTTL HEADER LINES
2) LNKMAP: JFCL .+1 ;INCASE CCL
2) E$$MPS::.ERR. (MS,0,V%L,L%I,S%I,MPS,<MAP segment>) ;[1174]
**************
1)5 PUSHJ P,.TSTRG## ;
1) PUSHJ P,.TTIMN## ;TIME
****
2)5 PUSHJ P,.TSTRG##
2) PUSHJ P,.TTIMN## ;TIME
**************
1)6 ;**;[1100] Delete @ OVMAP0+6L DZN 23-May-78
1) OVMAP1: MOVE P1,LNKNO.
****
2)6 OVMAP1: MOVE P1,LNKNO.
Digital Equipment Corporation 28-AUG-79 Page 822
PCO Log Report
**************
1)7 ;**;[1112] Replace @ SGSTF0+24L JNG 15-Aug-78
1) ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT PAGE BO
UND
****
2)7 ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT PAGE BO
UND
**************
1)9 ;**;[1174] Replace @**somewhere**+1P9L DZN 1-Jun-79
1) PJRST E$$IOV##] ;[1174] GO REPORT INPUT
ERROR
****
2)9 PJRST E$$IOV##] ;[1174] GO REPORT INPUT
ERROR
**************
1)9 ;**;[1174] Replace @OVMAP6+9L DZN 1-Jun-79
1) PJRST E$$IOV##] ;[1174] INPUT ERROR
****
2)9 PJRST E$$IOV##] ;[1174] INPUT ERROR
**************
1)10 ;**;[1112] Replace @ SEGSTF+21L JNG 15-Aug-78
1) ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT PAGE BO
UND
****
2)10 ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT PAGE BO
UND
**************
1)11 ;**;[1174] Replace @RDVER+15L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
****
2)11 PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
**************
1)11 ;**;[1174] Replace @RDVER1+23L DZN 31-May-79
1) E01ILC::PUSH P,[LC] ;[1174] CHAN #
****
2)11 E01ILC::PUSH P,[LC] ;[1174] CHAN #
**************
1)12 ;**;[1112] Replace @ SEGDN+2L JNG 15-Aug-78
1) ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT P OR K
****
2)12 ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT P OR K
**************
1)12 ;**;[1112] Replace @ SEGDN+13L JNG 15-Aug-78
1) ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT P OR K
****
2)12 ADD. T1,.PGSIZ ;[1112] ROUND UP TO NEXT P OR K
**************
1)15 TXNE W1,PS.GLB ;
1) JRST GLBSYM ;NORMAL GLOBAL
Digital Equipment Corporation 28-AUG-79 Page 823
PCO Log Report
****
2)15 TXNE W1,PS.GLB
2) JRST GLBSYM ;NORMAL GLOBAL
**************
1)18 ANDX T2,PS.GLB!PS.ENT!PS.UDF!PS.LCL!PS.COM!PS.REL
;
1) TXZN T2,PS.REL ;MUST BE ABS IF NOT REL
****
2)18 ANDX T2,PS.GLB!PS.ENT!PS.UDF!PS.LCL!PS.COM!PS.REL
2) TXZN T2,PS.REL ;MUST BE ABS IF NOT REL
**************
1)19 %%==^L<PS.'A>;; ;
1) IFG %%F-%%,<%%F==%%>
****
2)19 %%==^L<PS.'A>
2) IFG %%F-%%,<%%F==%%>
**************
1)21 %%.LCL: TXZ T2,PS.LCL ;
1) TXNN T1,C%LOCAL
****
2)20 %%.LCL: TXZ T2,PS.LCL
2) TXNN T1,C%LOCAL
**************
1)21 %%.ENT: TXZ T2,PS.ENT!PS.GLB ;
1) TXNN T1,C%ENTRY
****
2)20 %%.ENT: TXZ T2,PS.ENT!PS.GLB
2) TXNN T1,C%ENTRY
**************
1)21 %%.COM: TXZ T2,PS.COM!PS.GLB ;
1) TXNN T1,C%COMMON
****
2)20 %%.COM: TXZ T2,PS.COM!PS.GLB
2) TXNN T1,C%COMMON
**************
1)21 %%.UDF: TXZ T2,PS.UDF ;
1) TXNN T1,C%UNDEFINED
****
2)20 %%.UDF: TXZ T2,PS.UDF
2) TXNN T1,C%UNDEFINED
**************
1)23 ;**;[1174] Replace @TTLBLK+33L DZN 31-May-79
1) JRST E$$TTF ;[1174] NO, MUST BE ERROR
****
2)22 JRST E$$TTF ;[1174] NO, MUST BE ERROR
**************
1)24 MOVX T1,S.TTL ;
1) MOVX T4,S.CMT!S.RLD!S.RLN!S.RLS!S.PRC!S.CRE!S.DEV!S.N
AM!S.SFD!S.VER!S.SEG ;STOPPERS
Digital Equipment Corporation 28-AUG-79 Page 824
PCO Log Report
****
2)23 MOVX T1,S.TTL
2) MOVX T4,S.CMT!S.RLD!S.RLN!S.RLS!S.PRC!S.CRE!S.DEV!S.N
AM!S.SFD!S.VER!S.SEG ;STOPPERS
**************
1)24 IFN .NWBLK,< ;
1) MOVX T1,S.TTL!S.CMT ;LOOK FOR THE ASCII COMMENT
****
2)23 IFN .NWBLK,<
2) MOVX T1,S.TTL!S.CMT ;LOOK FOR THE ASCII COMMENT
**************
1)25 PUSHJ P,FNDNAS ;
1) JRST TTLRLU ;
1) MOVE T1,W2 ;FILE NAME
****
2)24 PUSHJ P,FNDNAS
2) JRST TTLRLU
2) MOVE T1,W2 ;FILE NAME
**************
1)25 PUSHJ P,FNDNAS ;
1) JRST TTLRLR ;CLOSE [DIRECTORY]
1) TTLRLS: PUSHJ P,.TCOMA## ;
1) MOVE T1,W2
1) PUSHJ P,.TSIXN##
1) JUMPE W3,TTLRLR ;
1) PUSHJ P,.TCOMA##
****
2)24 PUSHJ P,FNDNAS
2) JRST TTLRLR ;CLOSE [DIRECTORY]
2) TTLRLS: PUSHJ P,.TCOMA##
2) MOVE T1,W2
2) PUSHJ P,.TSIXN##
2) JUMPE W3,TTLRLR
2) PUSHJ P,.TCOMA##
**************
1)25 JRST TTLRLS ;
1) TTLRLR: MOVEI T1,"]" ;
1) PUSHJ P,.TCHAR##
****
2)24 JRST TTLRLS
2) TTLRLR: MOVEI T1,"]"
2) PUSHJ P,.TCHAR##
**************
1)26 PUSHJ P,FNDNAS ;
1) JRST TTLCRU ;NO LUCK, GO PRINT CREATION STUF
F
****
2)25 PUSHJ P,FNDNAS
2) JRST TTLCRU ;NO LUCK, GO PRINT CREATION STUF
Digital Equipment Corporation 28-AUG-79 Page 825
PCO Log Report
F
**************
1)26 ;**;[1120] Replace @TTLCPU DZN 22-Sep-78
1) TTLCPU: POP P,T1 ;[1120] RESTORE CPU BITS
****
2)25 TTLCPU: POP P,T1 ;[1120] RESTORE CPU BITS
**************
1)26 ;**;[1120] Insert after TTLCRL+1 DZN 22-Sep-78
1) HRRZI T1,(W3) ;[1120] GET CPU BITS
****
2)25 HRRZI T1,(W3) ;[1120] GET CPU BITS
**************
1)28 IFN .NWBLK,< ;
1) MOVX T1,S.TTL!S.DEV ;LOOK FOR SOURCE FILE INFO
****
2)27 IFN .NWBLK,<
2) MOVX T1,S.TTL!S.DEV ;LOOK FOR SOURCE FILE INFO
**************
1)30 IFN .NWBLK,< ;
1) SKIPN T1,SAVAST ;IS THERE AN ASTPTR SAVED?
****
2)29 IFN .NWBLK,<
2) SKIPN T1,SAVAST ;IS THERE AN ASTPTR SAVED?
**************
1)30 MOVX T1,S.TTL!S.SEG ;
1) SETZ T4, ;NO STOPPERS
****
2)29 MOVX T1,S.TTL!S.SEG
2) SETZ T4, ;NO STOPPERS
**************
1)30 ;FALL INTO PSECT CODE
1)31 ;HERE TO HANDLE PSECTS
****
2)30 ;HERE TO HANDLE PSECTS
**************
1)31 ;**;[1161] Change @ TTLPSC+5L JNG 4-May-79
1) MOVEI T1,[ASCIZ / Psect /] ;[1161]
****
2)30 MOVEI T1,[ASCIZ / Psect /] ;[1161]
**************
1)31 ;**;[1161] Change @ TTLPSC+26L JNG 4-May-79
1) MOVEI T1,[ASCIZ / (octal),/] ;[1161]
****
2)30 MOVEI T1,[ASCIZ / (octal),/] ;[1161]
**************
1)32 ;**;[1174] Replace @TTLTTF DZN 31-May-79
1) E$$TTF::.ERR. (MS,,V%L,L%W,S%W,TTF,<Too many titles found>) ;[
1174]
****
Digital Equipment Corporation 28-AUG-79 Page 826
PCO Log Report
2)31 E$$TTF::.ERR. (MS,,V%L,L%W,S%W,TTF,<Too many titles found>) ;[
1174]
**************
1)34 JRST .+1] ;
1) PUSHJ P,LOGBCK ;INCASE LOG FILE OPEN
****
2)33 JRST .+1]
2) PUSHJ P,LOGBCK ;INCASE LOG FILE OPEN
**************
1)36 ;**;[1164] Insert @ SHFSYM+16L JNG 8-May-79
1) ANDCMI T3,.IPM ;[1164] FORM FIRST FREE IN ALL B
UT LAST PAGE
****
2)35 ANDCMI T3,.IPM ;[1164] FORM FIRST FREE IN ALL B
UT LAST PAGE
**************
1)36 ;**;[1164] Insert @ SHFSYM+31L JNG 8-May-79
1) SUBI T2,.IPS ;[1164] LAST PAGE HAS ALREADY BE
EN COUNTED
****
2)35 SUBI T2,.IPS ;[1164] LAST PAGE HAS ALREADY BE
EN COUNTED
**************
1)38 FNDNIC: SKIPN PAG.LS ;
1) JRST TPOPJ ;REMOVE RETURN AND EXIT
****
2)37 FNDNIC: SKIPN PAG.LS
2) JRST TPOPJ ;REMOVE RETURN AND EXIT
**************
1)39 ;**;[1174] Replace @MAPDMP+3L DZN 31-May-79
1) E$$OEM::PUSH P,[MC] ;ERROR, SAVE CHAN
****
2)38 E$$OEM::PUSH P,[MC] ;ERROR, SAVE CHAN
**************
1)40 ;**;[1120] Insert after .TYHDR+3L DZN 22-Sep-78
1) MOVE T1,OKCPUS ;[1120] PRINT CPUS FOR PROGRAM
****
2)39 MOVE T1,OKCPUS ;[1120] PRINT CPUS FOR PROGRAM
**************
1)40 PUSHJ P,.TVERW## ;
1) TYPAGE:
****
2)39 PUSHJ P,.TVERW##
2) TYPAGE:
**************
1)44 ;**;[1203] Replace @ END1+1P0L JNG 14-Jun-79
1) DEFINE X (A,B,C)<
****
2)43 DEFINE X (A,B,C)<
**************
1)45 ;**;[1120] Revamp @PRCTAB+2L DZN 22-Sep-78
Digital Equipment Corporation 28-AUG-79 Page 827
PCO Log Report
1) ;ROUTINE TO PRINT CPUS ON WHICH A MODULE OR PROGRAM WILL RUN. IF
ALL CPUS
****
2)44 ;ROUTINE TO PRINT CPUS ON WHICH A MODULE OR PROGRAM WILL RUN. IF
ALL CPUS
**************
1)51 ;**;[1100] Insert before MAPEND DZN 23-May-78
1) MAPEND: SKIPN T2,PRGNO ;[1100] NOW DELETE INDEX BLOCK
****
2)50 MAPEND: SKIPN T2,PRGNO ;[1100] NOW DELETE INDEX BLOCK
**************
1)52 PJRST .TVERW##] ;
1) PUSHJ P,.TYLPP ;END LINE
****
2)51 PJRST .TVERW##]
2) PUSHJ P,.TYLPP ;END LINE
**************
1)53 ;**;[1100] Insert before OVXHDR+20L DZN 23-May-78
1) HRRZ T1,MDLIDX ;[1100] FREE INDEX BLOCK FOR LIN
K NAMES
****
2)52 HRRZ T1,MDLIDX ;[1100] FREE INDEX BLOCK FOR LIN
K NAMES
**************
1)54 ;**;[1174] Replace @MAPRET+1L DZN 31-May-79
1) E$$EMS::.ERR. (MS,0,V%L,L%I,S%I,EMS,<End of MAP segment>) ;[11
74]
1) ;**;[1100] Delete @MAPRET+2L DZN 23-May-78
1) MOVE T1,LS.LB ;NOW TO MAKE SURE LS.PT IS CORRE
CT
****
2)53 E$$EMS::.ERR. (MS,0,V%L,L%I,S%I,EMS,<End of MAP segment>) ;[11
74]
2) MOVE T1,LS.LB ;NOW TO MAKE SURE LS.PT IS CORRE
CT
**************
1)56 MAPLIT:
1) END LNKMAP
****
2)56 SUBTTL THE END
2) MAPLIT: END LNKMAP
**************
Digital Equipment Corporation 28-AUG-79 Page 828
PCO Log Report
[FILCOM]
File 1) LINK:LNKNEW.MAC[30,4507] created: 1743 04-Jul-1979
File 2) LINK:LNKNEW.MAC[10,645063] created: 1345 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/TXR/JNG/DZN 4-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/TXR/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKNEW
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKSCN,LNKLOD,LNKCOR,LNKWLD,LNKLOG,LNKCST
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKNEW
2) EXTERN LNKSCN,LNKLOD,LNKCOR,LNKWLD,LNKLOG,LNKCST
**************
1)1 DECEVR==1212 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2) ;LOCAL ACC DEFINITIONS
**************
1)1 SEGMENT
1) SALL
1)2 SUBTTL REVISION HISTORY
****
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL BLOCK DISPATCH TABLES
1) NDSPTB: LITYPE (1000,1060)
1) NDISPL==.-NDSPTB
1) SALL
1)4 SUBTTL DISPATCH TO NEW BLOCK TYPE
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL BLOCK DISPATCH TABLES
2) XALL
2) NDSPTB: LITYPE (1000,1060)
2) NDISPL==.-NDSPTB
2) SALL
2)4 SUBTTL DISPATCH TO NEW BLOCK TYPE
**************
1)6 IFE .NWBLK,< ;
1) T.1001==E$$IRB## ;[1174] ILLEGAL IF NOT T
Digital Equipment Corporation 28-AUG-79 Page 829
PCO Log Report
HERE
****
2)6 IFE .NWBLK,<
2) T.1001==E$$IRB## ;[1174] ILLEGAL IF NOT T
HERE
**************
1)8 IFE .NWBLK,< ;
1) T.1002==E$$IRB## ;[1174] ERROR UNLESS FIXED
****
2)8 IFE .NWBLK,<
2) T.1002==E$$IRB## ;[1174] ERROR UNLESS FIXED
**************
1)13 ;**;[1212] Replace @T.1003+16L DZN 4-Jul-79
1) PUSHJ P,E$$NEB## ;[1212] WARN USER, BUT TRY TO CO
NTINUE
****
2)13 PUSHJ P,E$$NEB## ;[1212] WARN USER, BUT TRY TO CO
NTINUE
**************
1)20 ;**;[1174] Replace @NAMRED+1L DZN 31-May-79
1) JRST E01LMN ;[1174] YES, BROADCAST ITS NAME
AND RETURN
****
2)20 JRST E01LMN ;[1174] YES, BROADCAST ITS NAME
AND RETURN
**************
1)20 ;**;[1174] Replace @TELLOD DZN 31-May-79
1) E01LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN) ;[1174] TELL WHAT WE'R
E LOADING
****
2)20 E01LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN) ;[1174] TELL WHAT WE'R
E LOADING
**************
1)23 ;**;[1174] Replace @T.1043+3L DZN 1-Jun-79
1) JRST E$$IRR ;[1174] ERROR - NOT ENOUGH DATA
WORDS
****
2)23 JRST E$$IRR ;[1174] ERROR - NOT ENOUGH DATA
WORDS
**************
1)23 ;**;[1174] Replace @T.1042A+7L DZN 1-Jun-79
1) JRST E$$IRR ;[1174] ERROR
****
2)23 JRST E$$IRR ;[1174] ERROR
**************
1)23 ;**;[1174] Replace @T1042L+1L DZN 1-Jun-79
1) JRST E$$IRR ;[1174] NONE THERE, COUNT LIED
****
2)23 JRST E$$IRR ;[1174] NONE THERE, COUNT LIED
Digital Equipment Corporation 28-AUG-79 Page 830
PCO Log Report
**************
1)23 ;**;[1174] Replace @T1042E DZN 1-Jun-79
1) E$$IRR::.ERR. (MS,.EC,V%L,L%W,S%W,IRR,<Illegal request/require
block>) ;[1174]
****
2)23 E$$IRR::.ERR. (MS,.EC,V%L,L%W,S%W,IRR,<Illegal request/require
block>) ;[1174]
**************
1)24 > ;END IFN .NWBLK ON PAGE 4
1)26 SUBTTL BLOCK TYPE 1044 - BLOCK STRUCTURED ALGOL LOCAL SYMBOLS
****
2)23 > ;END IFN .NWBLK ON PAGE 13
2)24 SUBTTL BLOCK TYPE 1044 - BLOCK STRUCTURED ALGOL LOCAL SYMBOLS
**************
1)27 T.1060==T.1000 ;
1) > ;END IFE .NWBLK
1) IFN .NWBLK,< ;
1) T.1060: JRST E$$IRB## ;[1174] SHOULD PUT INFO IN LS FO
R MAP
****
2)25 T.1060==T.1000
2) > ;END IFE .NWBLK
2) IFN .NWBLK,<
2) T.1060: JRST E$$IRB## ;[1174] SHOULD PUT INFO IN LS FO
R MAP
**************
1)29 SETZM F.ASCK ;
1) JRST LOAD ;CONTINUE WITH CURRENT .REL FILE
****
2)27 SETZM F.ASCK
2) JRST LOAD ;CONTINUE WITH CURRENT .REL FILE
**************
1)30 POPJ P, ;
1) ;NOW CALCULATE THE VALUE OF %CRLF% FROM THE SWMAC MACRO.
****
2)28 POPJ P,
2) ;NOW CALCULATE THE VALUE OF %CRLF% FROM THE SWMAC MACRO.
**************
1)30 SWTCHS;; ;
1) >;END IFN .ASBLK
****
2)28 SWTCHS
2) >;END IFN .ASBLK
**************
1)32 ;**;[1174] Replace @D.REL1+3L DZN 1-Jun-79
1) JRST E$$PEF ;[1174] WORD COUNT WAS WRONG
****
2)30 JRST E$$PEF ;[1174] WORD COUNT WAS WRONG
**************
Digital Equipment Corporation 28-AUG-79 Page 831
PCO Log Report
1)32 ;**;[1174] Replace @DRELN+4L DZN 1-Jun-79
1) ; JRST E$$IRC ;[1174] RELOCATED TO SEGMENT NOT
SET UP
****
2)30 ; JRST E$$IRC ;[1174] RELOCATED TO SEGMENT NOT
SET UP
**************
1)33 ;**;[1174] Replace @D.GET1+3L DZN 1-Jun-79
1) JRST E$$PEF ;[1174] PREMATURE END OF FILE
****
2)31 JRST E$$PEF ;[1174] PREMATURE END OF FILE
**************
1)33 ;**;[1174] Replace @TOSHRT DZN 1-Jun-79
1) E$$PEF::.ERR. (MS,.EC,V%L,L%F,S%W,PEF,<Premature end of file f
rom file >) ;[1174]
****
2)31 E$$PEF::.ERR. (MS,.EC,V%L,L%F,S%W,PEF,<Premature end of file f
rom file >) ;[1174]
**************
1)34 SUBTTL DATA STORAGE
1) NEWLIT:
1) END
****
2)32 SUBTTL THE END
2) NEWLIT: END
**************
Digital Equipment Corporation 28-AUG-79 Page 832
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 2308 08-Jul-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1336 27-Jul-1979
1)1 TITLE LNKOLD - LOAD OLD BLOCKS MODULE FOR LINK
1) SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 5-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 TITLE LNKOLD - LOAD OLD BLOCKS MODULE FOR LINK
2) SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 25-Jul-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
1) ENTRY LNKOLD
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKSCN,LNKLOD,LNKCOR,LNKWLD,LNKLOG,LNKCST
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKOLD
2) EXTERN LNKSCN,LNKLOD,LNKCOR,LNKWLD,LNKLOG,LNKCST
**************
1)1 DECEVR==1213 ;DEC EDIT VERSION
1) ;LOCAL ACC DEFINITIONS
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2) ;LOCAL ACC DEFINITIONS
**************
1)1 SEGMENT
1) SALL
1)2 SUBTTL REVISION HISTORY
****
2)2 SUBTTL REVISION HISTORY
**************
1)5 COMMENT \
****
2)6 ;1217 Clean up the listings for release.
2)7 COMMENT \
**************
1)6 SUBTTL BLOCK DISPATCH TABLES
1) ODSPTB: LITYPE (0,37)
1) ODISPL==.-ODSPTB
1)7 FDSPTB: LITYPE (700,777)
1) FDISPL==.-FDSPTB
1) SALL
1)8 SUBTTL DISPATCH TO OLD BLOCK TYPE
****
Digital Equipment Corporation 28-AUG-79 Page 833
PCO Log Report
2)8 SUBTTL BLOCK DISPATCH TABLES
2) ODSPTB: LITYPE (0,37)
2) ODISPL==.-ODSPTB
2)9 XALL
2) FDSPTB: LITYPE (700,777)
2) FDISPL==.-FDSPTB
2) SALL
2)10 SUBTTL DISPATCH TO OLD BLOCK TYPE
**************
1)11 ;**;[1204] Insert @ T.1AD JNG 14-Jun-79
1) T.1AD: MOVE T1,LSTRRV ;[1204] GET LAST RH WORD
****
2)13 T.1AD: MOVE T1,LSTRRV ;[1204] GET LAST RH WORD
**************
1)11 .JDDT LNKOLD,T.1AD,<<CAML P2,$LOCATION##>,<CAMLE P3,$L
OCATION>,<JRST .+3>,<SKIPE $LOCATION>>;; ;
1) JUMPE R,T.1A ;SPECIAL CHECK IF ABSOLUTE ADDRE
SS
****
2)13 .JDDT LNKOLD,T.1AD,<<CAML P2,$LOCATION##>,<CAMLE P3,$L
OCATION>,<JRST .+3>,<SKIPE $LOCATION>>
2) JUMPE R,T.1A ;SPECIAL CHECK IF ABSOLUTE ADDRE
SS
**************
1)11 MOVEM P2,HL.S1 ;
1) CAMLE P2,HC.S1 ;AND HIGHEST DATA LOADED COUNTER
****
2)13 MOVEM P2,HL.S1
2) CAMLE P2,HC.S1 ;AND HIGHEST DATA LOADED COUNTER
**************
1)12 T.1AL: ;
1) IFN FTOVERLAY,< ;
1) CAMGE P3,PH.ADD ;MAKE SURE ADDRESSIS LEGAL
****
2)14 T.1AL:
2) IFN FTOVERLAY,<
2) CAMGE P3,PH.ADD ;MAKE SURE ADDRESSIS LEGAL
**************
1)12 > ;
1) SKIPE PAG.S1 ;PAGING?
****
2)14 >
2) SKIPE PAG.S1 ;PAGING?
**************
1)12 ;**;[767] Change @ T.1LOW+11L MCHC 17-Mar-78
1) SETZ P2, ;[767][732] NO EXPANSION, PREVEN
T LOOPING
****
2)15 SETZ P2, ;[767][732] NO EXPANSION, PREVEN
Digital Equipment Corporation 28-AUG-79 Page 834
PCO Log Report
T LOOPING
**************
1)13 POP P,W3 ;
1) JRST T.1L1 ;NOW IN CORE
****
2)16 POP P,W3
2) JRST T.1L1 ;NOW IN CORE
**************
1)14 MOVEM P2,HL.S0 ;
1) CAMLE P2,HC.S0 ;AND HIGHEST DATA LOADED COUNTER
1) MOVEM P2,HC.S0 ;
1) MOVEI R,1 ;TREAT AS LOW SEG
****
2)17 MOVEM P2,HL.S0
2) CAMLE P2,HC.S0 ;AND HIGHEST DATA LOADED COUNTER
2) MOVEM P2,HC.S0
2) MOVEI R,1 ;TREAT AS LOW SEG
**************
1)15 ;**;[1204] Delete @ T.1H+4L JNG 14-Jun-79
1) CAMLE P2,HL.S2 ;RESET HIGHEST LOCATION COUNTER
1) MOVEM P2,HL.S2 ;
1) CAMLE P2,HC.S2 ;AND HIGHEST DATA LOADED COUNTER
****
2)18 CAMLE P2,HL.S2 ;RESET HIGHEST LOCATION COUNTER
2) MOVEM P2,HL.S2
2) CAMLE P2,HC.S2 ;AND HIGHEST DATA LOADED COUNTER
**************
1)15 ;**;[1204] Replace @ E$$STL JNG 14-Jun-79
1) E$$PTL::.ERR. (MS,.EC,V%L,L%F,S%F,PTL,<Program too long>)
****
2)18 E$$PTL::.ERR. (MS,.EC,V%L,L%F,S%F,PTL,<Program too long>)
**************
1)17 ;**;[1174] Replace @T.1SE+2L DZN 1-Jun-79
1) E$$DSC::.ERR. (MS,.EC,V%L,L%F,S%F,DSC,<Data store to common >)
;[1174]
****
2)20 E$$DSC::.ERR. (MS,.EC,V%L,L%F,S%F,DSC,<Data store to common >)
;[1174]
**************
1)17 ;**;[1174] Replace @T.1OVE+3L DZN 1-Jun-79
1) E$$DSL::.ERR. (MS,.EC,V%L,L%F,S%F,DSL,<Data store to location
>) ;[1174]
****
2)20 E$$DSL::.ERR. (MS,.EC,V%L,L%F,S%F,DSL,<Data store to location
>) ;[1174]
**************
1)17 ;**;[1174] Replace @T.1OVG+2L DZN 1-Jun-79
1) .ETC. (JMP,,,,,.ETIMF##) ;[1174]
****
Digital Equipment Corporation 28-AUG-79 Page 835
PCO Log Report
2)20 .ETC. (JMP,,,,,.ETIMF##) ;[1174]
**************
1)17 ;**;[1174] Replace @T.1UN+1L DZN 1-Jun-79
1) E01CNW::.ERR. (MS,.EC,V%L,L%F,S%F,CNW) ;[1174]
****
2)20 E01CNW::.ERR. (MS,.EC,V%L,L%F,S%F,CNW) ;[1174]
**************
1)17 MOVX W1,PT.SGN!PT.EXT!PT.SYM!PS.REQ!PS.UDF!PS.FXP
;
1) SETZB W3,2(T1) ;ZERO VALUE
****
2)20 MOVX W1,PT.SGN!PT.EXT!PT.SYM!PS.REQ!PS.UDF!PS.FXP
2) SETZB W3,2(T1) ;ZERO VALUE
**************
1)19 ;**;[1213] Insert @ T.2+6L JNG 5-Jul-79
1) MOVE P4,T3 ;[1213] SAVE RADIX50 SYMBOL NAME
****
2)22 MOVE P4,T3 ;[1213] SAVE RADIX50 SYMBOL NAME
**************
1)20 ;**;[1174] Replace @T.2TAB DZN 1-Jun-79
1) T.2TAB::E$$URC ;[1174] 0 - 00 NAME (SHOULD NEV
ER HAPPEN)
****
2)23 T.2TAB::E$$URC ;[1174] 0 - 00 NAME (SHOULD NEV
ER HAPPEN)
**************
1)20 ;**;[1174] Replace @T.2R5U DZN 1-Jun-79
1) E$$URC::.ERR. (MS,.EC,V%L,L%F,S%I,URC,<Unknown radix-50 symbol
code >) ;[1174]
****
2)23 E$$URC::.ERR. (MS,.EC,V%L,L%F,S%I,URC,<Unknown radix-50 symbol
code >) ;[1174]
**************
1)21 ;*;CHANGE @T.2CHK+2 DMN 10-JULY-75
1) PUSH P,W1 ;SAVE FLAGS
****
2)24 PUSH P,W1 ;SAVE FLAGS
**************
1)21 ;*;CHANGE @T.2CHK+5 DMN 10-JULY-75
1) AOS -1(P) ;NO
****
2)24 AOS -1(P) ;NO
**************
1)22 ;**;[1213] Change @ R50T6X+2L JNG 5-Jul-79
1) EXCH W2,T3 ;[1213] PUT BACK IN W2, LEAVE R5
0 IN T3
****
2)25 EXCH W2,T3 ;[1213] PUT BACK IN W2, LEAVE R5
0 IN T3
Digital Equipment Corporation 28-AUG-79 Page 836
PCO Log Report
**************
1)25 ;**;[1140] Change @ SY.LS+1L JNG 6-Feb-79
1) SETZM LSTSYM ;[1140] IN CASE WE DON'T LOAD TH
IS SYMBOL
****
2)28 SETZM LSTSYM ;[1140] IN CASE WE DON'T LOAD TH
IS SYMBOL
**************
1)26 ;**;[1174] Replace @SY.BH+11L DZN 1-Jun-79
1) JRST E02SFU ;[1174] NO
****
2)29 JRST E02SFU ;[1174] NO
**************
1)27 SY.DGR: TXO W1,PS.GLB!PS.UDR ;
1) IFN FTOVERLAY,<
****
2)30 SY.DGR: TXO W1,PS.GLB!PS.UDR
2) IFN FTOVERLAY,<
**************
1)27 ;**;[1213] Insert @ SY.DGR+5L JNG 5-Jul-79
1) PUSH P,P4 ;[1213] SAVE ORIGINAL SYMBOL IN
RADIX50
****
2)30 PUSH P,P4 ;[1213] SAVE ORIGINAL SYMBOL IN
RADIX50
**************
1)27 ;**;[1213] Insert @ SY.DGR+8L JNG 5-Jul-79
1) POP P,P4 ;[1213] RESTORE SYMBOL NAME IN R
50 FORM
****
2)30 POP P,P4 ;[1213] RESTORE SYMBOL NAME IN R
50 FORM
**************
1)27 ;**;[1213] Replace @SY.DGR+11L JNG 5-Jul-79
1) JRST SY.DG2 ;[1213] 2ND PARTIAL DEF, SET UP
FOR CHECK
****
2)30 JRST SY.DG2 ;[1213] 2ND PARTIAL DEF, SET UP
FOR CHECK
**************
1)27 ;**;[1213] Insert @ SY.DG0 JNG 7-Jul-79
1) SY.DG0: POP P,P4 ;[1213] RESTORE RADIX 50 FORM
****
2)30 SY.DG0: POP P,P4 ;[1213] RESTORE RADIX 50 FORM
**************
1)28 ;**;[1213] Insert @ SY.DG1 JNG 5-Jul-79
1) SY.DG1: POP P,P4 ;[1213] RESTORE RADIX50 SYMBOL N
AME
****
2)31 SY.DG1: POP P,P4 ;[1213] RESTORE RADIX50 SYMBOL N
AME
Digital Equipment Corporation 28-AUG-79 Page 837
PCO Log Report
**************
1)28 ;**;[1213] Replace @SY.DG1+6L JNG 5-Jul-79
1) JRST SY.DG2 ;[1213] YES, SET UP FOR COMPARE
****
2)31 JRST SY.DG2 ;[1213] YES, SET UP FOR COMPARE
**************
1)28 ;**;[1213] Replace @ E$$ISD JNG 5-Jul-79
1)29 ;HERE WHEN A DEFINED OR PARTIALLY-DEFINED SYMBOL IS PARTIALLY-DE
FINED
****
2)32 ;HERE WHEN A DEFINED OR PARTIALLY-DEFINED SYMBOL IS PARTIALLY-DE
FINED
**************
1)31 TXZ W1,PS.REL ;
1) >
****
2)34 TXZ W1,PS.REL
2) >
**************
1)33 TXNE T1,S.SYM ;
1) TXNN T1,S.LNM ;SO IGNORE COMMON, ETC
****
2)36 TXNE T1,S.SYM
2) TXNN T1,S.LNM ;SO IGNORE COMMON, ETC
**************
1)33 JFCL ;
1) MOVE T1,P1 ;POINT TO SYMBOL TRIPLET
****
2)36 JFCL
2) MOVE T1,P1 ;POINT TO SYMBOL TRIPLET
**************
1)34 SY.RQF: MOVX W1,FP.SGN!FP.SYM!FP.PTR ;
1) TXZ W3,R5.FXA ;CLEAR ADDITIVE FIXUP BIT ALWAYS
****
2)38 SY.RQF: MOVX W1,FP.SGN!FP.SYM!FP.PTR
2) TXZ W3,R5.FXA ;CLEAR ADDITIVE FIXUP BIT ALWAYS
**************
1)37 ;**;[1174] Replace @SY.RUC+2L DZN 1-Jun-79
1) JRST E02CNW ;[1174] NOT THE RIGHT SORT OF EX
TENDED TRIPLET
****
2)42 JRST E02CNW ;[1174] NOT THE RIGHT SORT OF EX
TENDED TRIPLET
**************
1)37 ;**;[1174] Replace @SY.RUH DZN 1-Jun-79
1) E02CNW::.ERR. (MS,.EC,V%L,L%F,S%F,CNW) ;[1174]
****
2)42 E02CNW::.ERR. (MS,.EC,V%L,L%F,S%F,CNW) ;[1174]
**************
Digital Equipment Corporation 28-AUG-79 Page 838
PCO Log Report
1)38 ;**;[1115] Replace @T.3 DZN 2-Sep-78
1) T.3:
****
2)43 T.3:
**************
1)38 ;**;[1174] Replace @T.3+5L DZN 1-Jun-79
1) E$$HCL::.ERR. (MS,.EC,V%L,L%F,S%F,HCL,<High segment code not a
llowed in an overlay link>) ;[1174]
****
2)43 E$$HCL::.ERR. (MS,.EC,V%L,L%F,S%F,HCL,<High segment code not a
llowed in an overlay link>) ;[1174]
**************
1)39 SUB T2,LW.LS ;
1) ADD T2,LS.LB ;FIX IN CORE
****
2)44 SUB T2,LW.LS
2) ADD T2,LS.LB ;FIX IN CORE
**************
1)39 ;**;[1174] Replace @T.3SER+1L DZN 1-Jun-79
1) E01SFU::.ERR. (MS,0,V%L,L%I,S%I,SFU) ;[1174]
****
2)44 E01SFU::.ERR. (MS,0,V%L,L%I,S%I,SFU) ;[1174]
**************
1)42 ;BLOCK TYPE 5 SEEN
1)43 ;HERE IF LOW SEGMENT LENGTH GIVEN (FORTRAN-10)
****
2)48 ;HERE IF LOW SEGMENT LENGTH GIVEN (FORTRAN-10)
**************
1)43 ;**;[1174] Replace @T.3L+2L DZN 1-Jun-79
1) PUSHJ P,E$$HSL ;[1174] NO, GIVE FATAL ERROR
****
2)48 PUSHJ P,E$$HSL ;[1174] NO, GIVE FATAL ERROR
**************
1)44 ;**;[1170] Replace @ SETRC+9L JNG 23-May-79
1) CAMG W1,RC.CV(R) ;BUT MUST BE HIGHER THAN LOW SEG
1) ;**;[1174] Replace @SETRC+12L DZN 1-Jun-79
1) JRST E$$HSL ;[1174] TOO LOW
****
2)49 CAMG W1,RC.CV(R) ;BUT MUST BE HIGHER THAN LOW SEG
2) JRST E$$HSL ;[1174] TOO LOW
**************
1)44 ;**;[1132] Delete @ SETRC+13L JNG 30-Jan-79
1) MOVEM W1,LL.S2 ;FOR INPUT ROUTINE ONLY
****
2)49 MOVEM W1,LL.S2 ;FOR INPUT ROUTINE ONLY
**************
1)44 ;**;[1132] Insert @ SETRC+33L JNG 30-Jan-79
1) MOVEM W1,RC.HL(R) ;[1132] CONSIDER THESE TO BE LOA
DED
Digital Equipment Corporation 28-AUG-79 Page 839
PCO Log Report
****
2)49 MOVEM W1,RC.HL(R) ;[1132] CONSIDER THESE TO BE LOA
DED
**************
1)44 ;**;[1132] Delete @ SETRC+36L JNG 30-Jan-79
1) MOVEI T1,HC.LB
****
2)49 MOVEI T1,HC.LB
**************
1)46 ;**;[1174] Replace @T.3F DZN 1-Jun-79
1) E$$HSL::.ERR. (MS,.EC,V%L,L%F,S%F,HSL,<Attempt to set high seg
ment origin too low>) ;[1174]
****
2)51 E$$HSL::.ERR. (MS,.EC,V%L,L%F,S%F,HSL,<Attempt to set high seg
ment origin too low>) ;[1174]
**************
1)49 ;**;[1156] Insert @ T.5 JNG 13-Apr-79
1) T.5: MOVEI T1,1 ;[1156] BREAKS ARE RELOCATABLE I
N .LOW.
****
2)54 T.5: MOVEI T1,1 ;[1156] BREAKS ARE RELOCATABLE I
N .LOW.
**************
1)49 ;**;[1204] Replace @ T.5A+4L JNG 14-Jun-79
1) PUSHJ P,RB.1 ;[1204] GET FIRST WORD
****
2)54 PUSHJ P,RB.1 ;[1204] GET FIRST WORD
**************
1)49 ;**;[1210] Replace @ T.5A+8L JNG 29-Jun-79
1) TLNE W1,-1 ;[1210] BREAK OK IN REL FILE?
****
2)54 TLNE W1,-1 ;[1210] BREAK OK IN REL FILE?
**************
1)49 ;**;[1210] Replace @ T.5A+11L JNG 29-Jun-79
1) T.5PBI: PUSHJ P,RB.1 ;[1210] GET SECOND WORD
****
2)54 T.5PBI: PUSHJ P,RB.1 ;[1210] GET SECOND WORD
**************
1)49 ;**;[1210] Replace @ T.5A+17L JNG 29-Jun-79
1) T.5BR: SKIPE W3,LOD37 ;[1210] COBOL LOCAL SYMBOLS
****
2)54 T.5BR: SKIPE W3,LOD37 ;[1210] COBOL LOCAL SYMBOLS
**************
1)49 ;**;[1114] Insert after T.5A+15L DZN 1-Sep-78
1) SETZM LOD37 ;[1114] DONE WITH COBOL SYMBOLS
****
2)54 SETZM LOD37 ;[1114] DONE WITH COBOL SYMBOLS
**************
1)50 ;**;[1132] Replace @ T.5LS+6L JNG 22-Jan-79
Digital Equipment Corporation 28-AUG-79 Page 840
PCO Log Report
1) MOVEM W1,RC.HL(R) ;[1132] MAKE SURE HL IS UP TO DA
TE TOO
****
2)55 MOVEM W1,RC.HL(R) ;[1132] MAKE SURE HL IS UP TO DA
TE TOO
**************
1)50 ;**;[1132] Replace @ T.5HS+6L JNG 30-Jan-79
1) MOVEM W2,RC.HL(R) ;[1132] MAKE SURE HL IS HIGHEST
POSSIBLE
****
2)55 MOVEM W2,RC.HL(R) ;[1132] MAKE SURE HL IS HIGHEST
POSSIBLE
**************
1)51 ;**;[1174] Replace @T.5END+7L DZN 1-Jun-79
1) JRST E02SFU ;[1174] ERROR
****
2)56 JRST E02SFU ;[1174] ERROR
**************
1)51 ;**;[1174] Replace @T.5LP+7L DZN 1-Jun-79
1) JRST E02SFU ;[1174]
****
2)56 JRST E02SFU ;[1174]
**************
1)52 ;**;[1132] Change @ T.5PSA+1L JNG 30-Jan-79
1) MOVX T2,AT.PS ;[1132] FLAG FOR PSECT SEEN IN T
HIS MODULE
****
2)57 MOVX T2,AT.PS ;[1132] FLAG FOR PSECT SEEN IN T
HIS MODULE
**************
1)52 ;**;[1132] Change @ T.5PSA+6L JNG 30-Jan-79
1) MOVE T3,RC.HL(T1) ;[1132] GET HIGHEST SEEN
****
2)57 MOVE T3,RC.HL(T1) ;[1132] GET HIGHEST SEEN
**************
1)53 POPJ P, ;
1)54 ;HERE WHEN RELOCATION COUNTERS ARE NOT CORRECT
****
2)58 POPJ P,
2)59 ;HERE WHEN RELOCATION COUNTERS ARE NOT CORRECT
**************
1)54 ;**;[1132] Replace @ T.5FL+13L JNG 30-Jan-79
1) MOVEM W2,RC.HL(R) ;[1132] HIGHEST LOCATION
LOADED
****
2)59 MOVEM W2,RC.HL(R) ;[1132] HIGHEST LOCATION
LOADED
**************
1)54 ;**;[1132] Replace @ T.5FL+21L JNG 30-Jan-79
Digital Equipment Corporation 28-AUG-79 Page 841
PCO Log Report
1) MOVEM W1,RC.HL(R) ;[1132] FOR LNKXIT
****
2)59 MOVEM W1,RC.HL(R) ;[1132] FOR LNKXIT
**************
1)54 ;**;[1132] Replace @ T.5FH+13L JNG 30-Jan-79
1) MOVEM W1,RC.HL(R) ;[1132] FOR LNKXIT
****
2)60 MOVEM W1,RC.HL(R) ;[1132] FOR LNKXIT
**************
1)54 ;**;[1132] Delete @ T.5FH+23L JNG 30-Jan-79
1) MOVEM W2,RC.HL(R) ;[1132] FOR LNKXIT
****
2)60 MOVEM W2,RC.HL(R) ;[1132] FOR LNKXIT
**************
1)57 ;**;[1174] Replace @T.5SER DZN 1-Jun-79
1) E02SFU::.ERR. (MS,0,V%L,L%W,S%W,SFU) ;[1174]
****
2)63 E02SFU::.ERR. (MS,0,V%L,L%W,S%W,SFU) ;[1174]
**************
1)57 ;**;[1174] Replace @T.5W1 DZN 1-Jun-79
1) E$$PBI::.ERR. (MS,.EC,V%L,L%W,S%W,PBI,<Program break >) ;[1174
]
****
2)63 E$$PBI::.ERR. (MS,.EC,V%L,L%W,S%W,PBI,<Program break >) ;[1174
]
**************
1)57 ;**;[1210] Replace @ E$$PBI+4L JNG 29-Jun-79
1) SETZ W2, ;[1210] CLEAR AND CONTINUE
1) JRST T.5PBI ;[1210] GO READ SECOND WORD
1) ;**;[1210] Replace @ E01PBI JNG 29-Jun-79
1) E01PBI::.ERR. (MS,.EC,V%L,L%W,S%W,PBI) ;[1174]
****
2)63 SETZ W2, ;[1210] CLEAR AND CONTINUE
2) JRST T.5PBI ;[1210] GO READ SECOND WORD
2) E01PBI::.ERR. (MS,.EC,V%L,L%W,S%W,PBI) ;[1174]
**************
1)58 ;**;[1174] Replace @T.6+1L DZN 30-May-79
1) PUSHJ P,E$$NEB## ;[1174] NO, PREMATURE END OF MOD
ULE
****
2)64 PUSHJ P,E$$NEB## ;[1174] NO, PREMATURE END OF MOD
ULE
**************
1)58 ;**;[1174] Replace @T.6+6L DZN 1-Jun-79
1) JRST E$$RBS] ;[1174]
****
2)64 JRST E$$RBS] ;[1174]
**************
1)58 ;**;[1174] Replace @T.OK+6L DZN 1-Jun-79
1) E$$LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN,<Loading module >) ;[11
74]
Digital Equipment Corporation 28-AUG-79 Page 842
PCO Log Report
****
2)64 E$$LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN,<Loading module >) ;[11
74]
**************
1)59 ;**;[1120] Replace @T.6OK+1P2L DZN 22-Sep-78
1) LDB T1,[POINT 6,(P),5] ;[1120] GET RUNNABLE CPU BITS
****
2)65 LDB T1,[POINT 6,(P),5] ;[1120] GET RUNNABLE CPU BITS
**************
1)59 ;**;[1174] Replace @??????+1P11L DZN 1-Jun-79
1) JRST E$$CCD ;[1174] NO--CPU CONFLICT DETECTE
D
****
2)65 JRST E$$CCD ;[1174] NO--CPU CONFLICT DETECTE
D
**************
1)59 ;**;[1174] Replace @ERRCCD DZN 1-Jun-79
1) E$$CCD::.ERR. (MS,.EC,V%L,L%F,S%F,CCD,<CPU conflict>) ;[1174]
****
2)65 E$$CCD::.ERR. (MS,.EC,V%L,L%F,S%F,CCD,<CPU conflict>) ;[1174]
**************
1)60 MOVX W1,S.TTL ;
1) PUSHJ P,LS.ADD## ;REST OF NAME
1) MOVX W1,S.TTL!S.LST!S.SEG ;
1) HRRZ T1,BLCOMM ;GET LENGTH
****
2)66 MOVX W1,S.TTL
2) PUSHJ P,LS.ADD## ;REST OF NAME
2) MOVX W1,S.TTL!S.LST!S.SEG
2) HRRZ T1,BLCOMM ;GET LENGTH
**************
1)61 JRST CPOPJ1 ;
1)62 T.6EXC: PUSHJ P,EXCCHK ;SEE IF EXCLUDED
****
2)67 JRST CPOPJ1
2)68 T.6EXC: PUSHJ P,EXCCHK ;SEE IF EXCLUDED
**************
1)62 IFN .EXSYM,< ;
1) TLNN T2,770000 ;SYMBOL OR POINTER?
****
2)68 IFN .EXSYM,<
2) TLNN T2,770000 ;SYMBOL OR POINTER?
**************
1)63 ;**;[1174] Replace @T.6BC+3L DZN 1-Jun-79
1) E$$AIC::.ERR. (MS,.EC,V%L,L%F,S%F,AIC,<Attempt to increase siz
e of >) ;[1174]
****
2)69 E$$AIC::.ERR. (MS,.EC,V%L,L%F,S%F,AIC,<Attempt to increase siz
e of >) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 843
PCO Log Report
**************
1)66 ;**;[1174] Replace @T.7+4L DZN 1-Jun-79
1) JRST E$$RBS] ;[1174]
****
2)72 JRST E$$RBS] ;[1174]
**************
1)68 ;**;[1174] Replace @T.10L+1L DZN 1-Jun-79
1) JRST [MOVEI T1,10 ;[1174] BLOCK TYPE 10 TO
O SHORT
****
2)74 JRST [MOVEI T1,10 ;[1174] BLOCK TYPE 10 TO
O SHORT
**************
1)70 ;**;[1166] Replace @ T.11+19L JNG 15-May-79
1) PUSHJ P,RB.1 ;[1166] READ FIRST WORD
****
2)76 PUSHJ P,RB.1 ;[1166] READ FIRST WORD
**************
1)70 ;**;[1174] Replace @T.11+1P9L DZN 1-Jun-79
1) JRST E$$IPX ;[1174] NO, ERROR
****
2)76 JRST E$$IPX ;[1174] NO, ERROR
**************
1)70 ;**;[1166] Add label @ T.11RD+2L JNG 15-May-79
1) T11RD2: HLRZ T1,W1 ;[1166] GET LHS
****
2)76 T11RD2: HLRZ T1,W1 ;[1166] GET LHS
**************
1)70 ;**;[1166] Replace @ T.11RD+16L JNG 15-May-79
1) CAMLE T1,RC.NO ;[1166] MAKE SURE VALID
1) ;**;[1174] Replace @T11RD2+17L DZN 1-Jun-79
1) JRST E$$IPX ;[1174] INVALID
****
2)76 CAMLE T1,RC.NO ;[1166] MAKE SURE VALID
2) JRST E$$IPX ;[1174] INVALID
**************
1)71 ;**;[1166] Replace @ T11RHS+12L JNG 15-May-79
1) CAMLE T2,RC.NO ;[1166] MAKE SURE VALID
1) ;**;[1174] Replace @T11RHS+14L DZN 1-Jun-79
1) JRST E$$IPX ;[1174] INVALID
****
2)77 CAMLE T2,RC.NO ;[1166] MAKE SURE VALID
2) JRST E$$IPX ;[1174] INVALID
**************
1)71 ;**;[1174] Replace @T11IPX DZN 1-Jun-79
1) E$$IPX::.ERR. (MS,.EC,V%L,L%F,S%F,IPX,<Invalid psect index>) ;
[1174]
****
2)77 E$$IPX::.ERR. (MS,.EC,V%L,L%F,S%F,IPX,<Invalid psect index>) ;
Digital Equipment Corporation 28-AUG-79 Page 844
PCO Log Report
[1174]
**************
1)72 ;**;[1174] Replace @T.11SP+8L DZN 1-Jun-79
1) JRST E$$ISO ;[1174] NO
****
2)78 JRST E$$ISO ;[1174] NO
**************
1)74 ;**;[1174] Replace @T11SPE DZN 1-Jun-79
1) E$$ISO::.ERR. (MS,.EC,V%L,L%F,S%F,ISO,<Invalid polish store op
erator >) ;[1174]
****
2)80 E$$ISO::.ERR. (MS,.EC,V%L,L%F,S%F,ISO,<Invalid polish store op
erator >) ;[1174]
**************
1)76 MOVX W1,FP.SGN!FP.SYM!FP.PTR!FP.POL ;
1) HRRZ W3,T11FA ;ADDRESS (RELATIVE TO FX.LB) OF
POLISH
****
2)81 MOVX W1,FP.SGN!FP.SYM!FP.PTR!FP.POL
2) HRRZ W3,T11FA ;ADDRESS (RELATIVE TO FX.LB) OF
POLISH
**************
1)77 ;**;[1174] Replace @T.11DF+2L DZN 1-Jun-79
1) JRST E$$ISP## ;[1174] PRIMARY OR NO FLAGS SET
****
2)82 JRST E$$ISP## ;[1174] PRIMARY OR NO FLAGS SET
**************
1)77 ;**;[1174] Replace @T.11DF+6L DZN 1-Jun-79
1) JRST E$$ISP## ;[1174]
1) HRLI W1,(FP.SGN!FP.SYM!FP.PTR!FP.POL) ;
1) HRRZ W3,T11FA ;POINT TO POLISH
****
2)82 JRST E$$ISP## ;[1174]
2) HRLI W1,(FP.SGN!FP.SYM!FP.PTR!FP.POL)
2) HRRZ W3,T11FA ;POINT TO POLISH
**************
1)77 ;**;[1174] Delete @T11DFE DZN 1-Jun-79
1)78 ;HERE TO EVALUATE POLISH FIXUP
****
2)83 ;HERE TO EVALUATE POLISH FIXUP
**************
1)78 ;**;[1174] Replace @T.11RP+9L DZN 1-Jun-79
1) JRST E$$IPO ;[1174]
****
2)83 JRST E$$IPO ;[1174]
**************
1)78 ;**;[1174] Replace @T11RPE DZN 1-Jun-79
1) E$$IPO::.ERR. (MS,.EC,V%L,L%F,S%F,IPO,<Invalid polish operator
>) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 845
PCO Log Report
****
2)83 E$$IPO::.ERR. (MS,.EC,V%L,L%F,S%F,IPO,<Invalid polish operator
>) ;[1174]
**************
1)80 PUSHJ P,JFFOOP ;
1) PUSHJ P,REMOP ;
1) MOVM T1,T2 ;
1) PUSHJ P,MAXOP ;[736] 20
****
2)85 PUSHJ P,JFFOOP
2) PUSHJ P,REMOP
2) MOVM T1,T2
2) PUSHJ P,MAXOP ;[736] 20
**************
1)80 POPJ P, ;
1) ;REMAINDER OPERATOR
****
2)85 POPJ P,
2) ;REMAINDER OPERATOR
**************
1)80 POPJ P, ;
1) MAXOP: CAMGE T1,T2 ;[736]
****
2)85 POPJ P,
2) MAXOP: CAMGE T1,T2 ;[736]
**************
1)82 ;**;[1174] Replace @SKENEW+3L DZN 1-Jun-79
1) JRST E$$RBS ;[1174]
****
2)87 JRST E$$RBS ;[1174]
**************
1)83 ;**;[1174] Replace @T.11ST DZN 1-Jun-79
1) JRST E01IPO ;[1174] NO
****
2)88 JRST E01IPO ;[1174] NO
**************
1)83 ;**;[1174] Replace @T11STE DZN 1-Jun-79
1) E01IPO::.ERR. (MS,.EC,V%L,L%F,S%F,IPO) ;[1174]
****
2)88 E01IPO::.ERR. (MS,.EC,V%L,L%F,S%F,IPO) ;[1174]
**************
1)84 T11SYR: MOVX W1,FS.FXR ;
1) JRST SY.ASP ;AND DO FIXUP
1) T11SYL: MOVX W1,FS.FXL ;
1) JRST SY.ASP ;
1) T11SYF: MOVX W1,FS.FXF ;
1) ; JRST SY.ASP ;
****
2)89 T11SYR: MOVX W1,FS.FXR
Digital Equipment Corporation 28-AUG-79 Page 846
PCO Log Report
2) JRST SY.ASP ;AND DO FIXUP
2) T11SYL: MOVX W1,FS.FXL
2) JRST SY.ASP
2) T11SYF: MOVX W1,FS.FXF
2) ; JRST SY.ASP ;
**************
1)84 ;**;[1174] Replace @T11LNK+11L DZN 1-Jun-79
1) AOJA W2,E01IPO ;[1174] RANGE CHECK
****
2)90 AOJA W2,E01IPO ;[1174] RANGE CHECK
**************
1)85 ;**;[1174] Replace @T.12A+9L DZN 1-Jun-79
1) AOJA W2,E$$ICB ;[1174] ILLEGAL LINK #
****
2)91 AOJA W2,E$$ICB ;[1174] ILLEGAL LINK #
**************
1)86 ;**;[1174] Replace @T.12E+3L DZN 1-Jun-79
1) AOJA W2,E$$ICB ;[1174] ILLEGAL
****
2)92 AOJA W2,E$$ICB ;[1174] ILLEGAL
**************
1)86 ;**;[1174] Replace @T.12I DZN 1-Jun-79
1) E$$ICB::.ERR. (MS,.EC,V%L,L%W,S%W,ICB,<Invalid chain REL block
(type 12) link number >) ;[1174]
****
2)92 E$$ICB::.ERR. (MS,.EC,V%L,L%W,S%W,ICB,<Invalid chain REL block
(type 12) link number >) ;[1174]
**************
1)88 ;**;[1174] Replace @T.14ER+3L DZN 1-Jun-79
1) E$$LII::.ERR. (MS,,V%L,L%W,S%I,LII,<Library index inconsistent
, continuing>) ;[1174]
1) JRST LOAD## ;AND CONTINUE
1) ;**;[1101] Delete @ T.14I JNG 29-May-78
1) T.14I: PUSHJ P,D.IN1## ;READ FIRST WORD
****
2)94 E$$LII::.ERR. (MS,,V%L,L%W,S%I,LII,<Library index inconsistent
, continuing>) ;[1174]
2) JRST LOAD## ;AND CONTINUE
2) T.14I: PUSHJ P,D.IN1## ;READ FIRST WORD
**************
1)89 ;**;[1101] Insert @ T.14A JNG 29-May-78
1) T.14A: SKIPN XBUF ;[1101] GIVE ERROR IF ALREADY BE
EN HERE
****
2)95 T.14A: SKIPN XBUF ;[1101] GIVE ERROR IF ALREADY BE
EN HERE
**************
1)89 ;**;[1101] Delete @ T.14A+5L JNG 29-May-78
1) T.14J: HRRZ T1,XBUF ;AUX BUFFER
****
2)95 T.14J: HRRZ T1,XBUF ;AUX BUFFER
Digital Equipment Corporation 28-AUG-79 Page 847
PCO Log Report
**************
1)89 ;**;[1101] Delete @ T.14J+6L JNG 29-May-78
1) T.14B:: ILDB W3,XBUF+1
****
2)95 T.14B:: ILDB W3,XBUF+1
**************
1)89 ;**;[1101] Delete @ T.14K+5L JNG 29-May-78
1) JRST T.14B ;GET NEXT PROG
****
2)95 JRST T.14B ;GET NEXT PROG
**************
1)90 ;**;[1101] Delete @ T.14E+10L JNG 29-May-78
1) HRRZ W3,LSTBLK ;GET LAST BLOCK NUMBER
****
2)96 HRRZ W3,LSTBLK ;GET LAST BLOCK NUMBER
**************
1)90 ;**;[1101] Change @ NXTNDX JNG 29-May-78
1) NXTNDX: SKIPGE DTAFLG ;[1101] DIFFERENT TEST FOR DTA
****
2)96 NXTNDX: SKIPGE DTAFLG ;[1101] DIFFERENT TEST FOR DTA
**************
1)91 ;**;[1101] Revamp @ NXTBLK+1L JNG 29-May-78
1) JRST THSBLK ;[1101] IT IS NOW
****
2)97 JRST THSBLK ;[1101] IT IS NOW
**************
1)91 ;**;[1101] Replace @ T.14D+2L JNG 29-May-78
1) MOVE T1,W3 ;[1101] -1,,BLOCK # INTO T1 FOR
THSBLK
****
2)97 MOVE T1,W3 ;[1101] -1,,BLOCK # INTO T1 FOR
THSBLK
**************
1)92 ;**;[1174] Replace @T.15+2L DZN 1-Jun-79
1) JRST E$$RBS] ;[1174]
****
2)98 JRST E$$RBS] ;[1174]
**************
1)95 ;**;[1204] Insert @ T.20+3L JNG 14-Jun-79
1) TRNE W3,-1 ;[1204] SMALL ENOUGH?
****
2)101 TRNE W3,-1 ;[1204] SMALL ENOUGH?
**************
1)96 ;**;[1174] Replace @T.COMM+6L DZN 1-Jun-79
1) JRST E$$SNC ;[1174] NO, ERROR
****
2)102 JRST E$$SNC ;[1174] NO, ERROR
**************
1)96 ;**;[1174] Replace @T.20ER+1L DZN 1-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 848
PCO Log Report
1) EXCH T1,T2 ;[1174] SWAP FOR .ETAIC ROUTINE
****
2)102 EXCH T1,T2 ;[1174] SWAP FOR .ETAIC ROUTINE
**************
1)98 ;**;[1174] Replace @T.20UN+2L DZN 1-Jun-79
1) JRST E$$SNC ;[1174] SHOULD NOT HAPPEN
****
2)104 JRST E$$SNC ;[1174] SHOULD NOT HAPPEN
**************
1)98 MOVEM T3,2(T1) ;
1) MOVX T3,S.COM ;SECONDARY FLAG
****
2)104 MOVEM T3,2(T1)
2) MOVX T3,S.COM ;SECONDARY FLAG
**************
1)98 ;**;[777] Insert before T20UN1+6L DZN 18-May-78
1) PUSH P,P2 ;[777] SAVE COMMON SYMBOL OVER S
Y.RF
****
2)104 PUSH P,P2 ;[777] SAVE COMMON SYMBOL OVER S
Y.RF
**************
1)98 ;**;[777] Insert before T20UN1+9 DZN 18-May-78
1) POP P,P2 ;[777] RESTORE COMMAND SYMBOL
****
2)104 POP P,P2 ;[777] RESTORE COMMAND SYMBOL
**************
1)100 ;**;[1174] Replace @T.22+2L DZN 1-Jun-79
1) JRST E$$RBS] ;[1174] ERROR
****
2)106 JRST E$$RBS] ;[1174] ERROR
**************
1)100 ;**;[1174] Replace @T.22C+2L DZN 1-Jun-79
1) JRST E$$IPX ;[1174] MAKE SURE THIS PSECT EXI
ST
****
2)106 JRST E$$IPX ;[1174] MAKE SURE THIS PSECT EXI
ST
**************
1)101 ;**;[1154] Revamp @ T.23 JNG 12-Apr-79
1) T.23: PUSHJ P,RB.1 ;[1154] GET PSECT INDEX
1) ;**;[1174] Replace @T.23+1L DZN 1-Jun-79
1) JRST E$$RBS ;[1174] TOO SHORT
****
2)107 T.23: PUSHJ P,RB.1 ;[1154] GET PSECT INDEX
2) JRST E$$RBS ;[1174] TOO SHORT
**************
1)101 ;**;[1174] Replace @T.23A+4L DZN 1-Jun-79
1) JRST E$$RBS] ;[1174] USUAL MESSAGE
Digital Equipment Corporation 28-AUG-79 Page 849
PCO Log Report
****
2)107 JRST E$$RBS] ;[1174] USUAL MESSAGE
**************
1)101 ;**;[1174] Replace @T.23B+5L DZN 1-Jun-79
1) JRST E$$RBS] ;[1174] ..
1) ;**;[1204] Insert @ T.23B+6L JNG 14-Jun-79
1) MOVE W1,LSTRRV ;[1204] GET TRUE VALUE
****
2)107 JRST E$$RBS] ;[1174] ..
2) MOVE W1,LSTRRV ;[1204] GET TRUE VALUE
**************
1)102 ;**;[1137] Replace @ T.24+1L JNG 1-Feb-79
1) ;**;[1137] This edit replaces the T.24 portion of edit 1132 if i
nstalled.
1) ;**;[1174] Replace @T.24+3L DZN 1-Jun-79
1) JRST E$$RBS ;[1174] BLOCK TOO SHORT
1) ;**;[1137] Install the next line ONLY if edit 1132 has been inst
alled.
1) TXO W1,AT.PS ;[1137] REMEMBER THIS PSECT SEEN
IN THIS MODULE
****
2)108 JRST E$$RBS ;[1174] BLOCK TOO SHORT
2) TXO W1,AT.PS ;[1137] REMEMBER THIS PSECT SEEN
IN THIS MODULE
**************
1)102 ;**;[1174] Replace @T.24A+2L DZN 1-Jun-79
1) JRST E$$RBS ;[1174] NOT THERE?
****
2)108 JRST E$$RBS ;[1174] NOT THERE?
**************
1)103 ;**;[1153] Insert @ T.24E+2L JNG 12-Apr-79
1) CAILE P1,1 ;[1153] DISALLOW CHANGING .LOW.
OR BELOW
1) CAMLE P1,RC.NO ;[1153] CATCH GARBAGE PSECT INDI
CES
1) ;**;[1174] Replace @T.24E+5L DZN 4-Jun-79
1) JRST E01IPX ;[1174] INDEX IS JUNK, COMPLAIN
****
2)109 CAILE P1,1 ;[1153] DISALLOW CHANGING .LOW.
OR BELOW
2) CAMLE P1,RC.NO ;[1153] CATCH GARBAGE PSECT INDI
CES
2) JRST E01IPX ;[1174] INDEX IS JUNK, COMPLAIN
**************
1)103 ;**;[1174] Replace @T24IPX-2L DZN 4-Jun-79
1) ;HERE ON AN INVALID PSECT INDEX WHEN W2 CONTAINS SIXBIT PSECT NA
ME.
****
2)109 ;HERE ON AN INVALID PSECT INDEX WHEN W2 CONTAINS SIXBIT PSECT NA
Digital Equipment Corporation 28-AUG-79 Page 850
PCO Log Report
ME.
**************
1)105 ;**;[1174] Replace @T.100E+1L DZN 1-Jun-79
1) E$$UAR::.ERR. (MS,.EC,V%L,L%W,S%W,UAR,<Undefined assign for sy
mbol >) ;[1174]
****
2)111 E$$UAR::.ERR. (MS,.EC,V%L,L%W,S%W,UAR,<Undefined assign for sy
mbol >) ;[1174]
**************
1)106 ;**;[1174] Replace @T.776+23L DZN 30-May-79
1) JRST E01FLE## ;[1174] WILL DO FOR NOW
****
2)112 JRST E01FLE## ;[1174] WILL DO FOR NOW
**************
1)107 MOVX W1,PT.SGN!PT.SYM ;
1) .JDDT LNKOLD,T776A,<<CAMN W2,$SYMBOL>> ;
1) PUSH P,R ;[702] SAVE R
****
2)113 MOVX W1,PT.SGN!PT.SYM
2) .JDDT LNKOLD,T776A,<<CAMN W2,$SYMBOL>>
2) PUSH P,R ;[702] SAVE R
**************
1)107 JRST T776A ;
1)108 ;HERE TO READ NEXT WORD FROM 1P INTERNAL BUFFER
****
2)113 JRST T776A
2)114 ;HERE TO READ NEXT WORD FROM 1P INTERNAL BUFFER
**************
1)108 CAIA ;
1) ;**;[1174] Replace @T776R2+10L DZN 30-May-79
1) JRST E02EIF ;[1174] HANDLE ERROR
****
2)114 CAIA
2) JRST E02EIF ;[1174] HANDLE ERROR
**************
1)109 ;**;[1174] Replace @T776OK+1 DZN 1-Jun-79
1) E02LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN) ;[1174] GIVE INFO MESS
AGE
****
2)115 E02LMN::.ERR. (MS,.EC,V%L,L%I5,S%I,LMN) ;[1174] GIVE INFO MESS
AGE
**************
1)111 ;**;[1155] Replace @ RWORD5+1L JNG 13-Apr-79
1) SKIPGE RC.AT(R) ;[1155] DOES THIS PSECT HAVE AN
ORIGIN?
****
2)117 SKIPGE RC.AT(R) ;[1155] DOES THIS PSECT HAVE AN
ORIGIN?
**************
1)112 ;**;[1204] Insert @ RWORD3 JNG 14-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 851
PCO Log Report
1) RWORD3: SETZM LSTRRV ;[1204] ASSUME ABSOLUTE
****
2)118 RWORD3: SETZM LSTRRV ;[1204] ASSUME ABSOLUTE
**************
1)112 ;**;[1155] Replace @ RWORD6+2L JNG 13-Apr-79
1) SKIPGE RC.AT(R) ;[1155] DOES THIS PSECT HAVE AN
ORIGIN?
****
2)118 SKIPGE RC.AT(R) ;[1155] DOES THIS PSECT HAVE AN
ORIGIN?
**************
1)112 ;**;[1204] Change @ RWORD8-1L JNG 14-Jun-79
1) ADD T1,T2 ;[1204] COMPUTE FULL-WORD RESULT
****
2)118 ADD T1,T2 ;[1204] COMPUTE FULL-WORD RESULT
**************
1)112 ;**;[1174] Replace @R.ERR+1L DZN 1-Jun-79
1) E$$SRP::.ERR. (MS,.EC,V%L,L%F,S%F,SRP,</SET: switch required f
or psect >) ;[1174]
****
2)118 E$$SRP::.ERR. (MS,.EC,V%L,L%F,S%F,SRP,</SET: switch required f
or psect >) ;[1174]
**************
1)113 ;**;[1174] Replace @ILIERR DZN 1-Jun-79
1) E$$RBS::.ERR. (MS,.EC,V%L,L%F,S%F,RBS,<REL block type >) ;[117
4]
****
2)119 E$$RBS::.ERR. (MS,.EC,V%L,L%F,S%F,RBS,<REL block type >) ;[117
4]
**************
1)113 OLDLIT:
1) END
****
2)120 SUBTTL THE END
2) OLDLIT: END
**************
Digital Equipment Corporation 28-AUG-79 Page 852
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV1.MAC[30,4507] created: 1519 09-Jul-1979
File 2) LINK:LNKOV1.MAC[10,645063] created: 1353 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 9-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKOV1
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKLOD,LNKWLD,LNKOV2
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKOV1
2) EXTERN LNKLOD,LNKWLD,LNKOV2
**************
1)1 DECEVR==1214 ;DEC EDIT VERSION
1) VERSION
1) ;LOCAL ACC DEFINITIONS
1) R=:R1 ;CURRENT RELOCATION COUNTER
1) SALL
1) SEGMENT
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
2) ;LOCAL ACC DEFINITIONS
2) R=:R1 ;CURRENT RELOCATION COUNTER
2)2 SUBTTL REVISION HISTORY
**************
1)3 SUBTTL ENTRY POINT
1) LNKOV1: JFCL .+1 ;NORMAL ENTRY
1) JRST LNKLOD ;
1) ;IOWD FOR PREAMBLE SECTION
****
2)3 ;1217 Clean up the listings for release.
2)4 SUBTTL ENTRY POINT
2) LNKOV1: JFCL .+1 ;NORMAL ENTRY
2) JRST LNKLOD
2) ;IOWD FOR PREAMBLE SECTION
**************
1)4 SUBTTL OVERLAY SWITCHES
1) .OVERLAY::
****
Digital Equipment Corporation 28-AUG-79 Page 853
PCO Log Report
2)5 SUBTTL SWITCH ACTION -- /OVERLAY:key
2) .OVERLAY::
**************
1)5 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['.OVRLA'] ;ENTRY POINT
****
2)6 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['.OVRLA'] ;ENTRY POINT
**************
1)5 XALL
1) KEYWORDS
1) SALL
1)6 %LINK::
****
2)7 XALL
2) KEYWORDS
2) SALL
2)8 SUBTTL SWITCH ACTION -- /LINK:name
2) %LINK::
**************
1)6 ;**;[1174] Replace @LNKLNA+1L DZN 1-Jun-79
1) E$$LNA::.ERR. (MS,.EC,V%L,L%W,S%W,LNA,<Link name >) ;[1174]
****
2)8 E$$LNA::.ERR. (MS,.EC,V%L,L%W,S%W,LNA,<Link name >) ;[1174]
**************
1)6 %ARSIZE::
****
2)9 SUBTTL SWITCH ACTION -- /ARSIZE:n, /NOENTRY:sym, /NOREQUIRE:sym
2) %ARSIZE::
**************
1)7 ;**;[1174] Replace @.NOENTRY+4L DZN 3-Jun-79
1) JRST E$$ZSV## ;[1174] ZERO IS ILLEGAL
****
2)9 JRST E$$ZSV## ;[1174] ZERO IS ILLEGAL
**************
1)7 ;**;[1174] Replace @.NOREQUEST+4L DZN 3-Jun-79
1) JRST E$$ZSV## ;[1174] ZERO IS ILLEGAL
****
2)9 JRST E$$ZSV## ;[1174] ZERO IS ILLEGAL
**************
1)7 %PLOT::
****
2)10 SUBTTL SWITCH ACTION -- /PLOT:(INCHES:n,LEAVES:n,STEPS:n), /REG
ION, /SPACE:n
2) %PLOT::
**************
1)7 ;**;[1174] Replace @%REGION+2L DZN 1-Jun-79
1) E$$MRN::.ERR. (MS,0,V%L,L%I,S%I,MRN,<Multiple regions not yet
implemented>) ;[1174]
Digital Equipment Corporation 28-AUG-79 Page 854
PCO Log Report
****
2)10 E$$MRN::.ERR. (MS,0,V%L,L%I,S%I,MRN,<Multiple regions not yet
implemented>) ;[1174]
**************
1)8 %REQUEST::
****
2)11 SUBTTL LINK SWITCHES -- /REQUEST
2) %REQUEST::
**************
1)10 MOVX W1,PT.SGN!PT.SYM ;
1) SETZ W3,
****
2)13 MOVX W1,PT.SGN!PT.SYM
2) SETZ W3,
**************
1)10 SETZ W3, ;
1) PUSHJ P,TRYSYM ;IT MUST BE THERE OR OVRLAY
****
2)13 SETZ W3,
2) PUSHJ P,TRYSYM ;IT MUST BE THERE OR OVRLAY
**************
1)10 ;**;[1174] Replace @LNKT0+8L DZN 1-Jun-79
1) JRST E$$FSN ;[1174] OVRLAY NEEDS IT, MUST BE
THERE
1) MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['.OVRLA'] ;NEED TO KNOW WHERE IT IS
****
2)13 JRST E$$FSN ;[1174] OVRLAY NEEDS IT, MUST BE
THERE
2) MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['.OVRLA'] ;NEED TO KNOW WHERE IT IS
**************
1)10 ;**;[1174] Replace @LNKT0+13L DZN 1-Jun-79
1) JRST E$$OHN ;[1174] MUST BE THERE
****
2)13 JRST E$$OHN ;[1174] MUST BE THERE
**************
1)10 ;**;[1174] Replace @LNKT0+20L DZN 1-Jun-79
1) JRST E$$OHN ;[1174]
****
2)13 JRST E$$OHN ;[1174]
**************
1)11 ;**;[1201] Replace @ LNKT0A+2L JNG 13-Jun-79
1) CAIE T2,$SSGNONE ;[1201] USER SAYS NO?
****
2)14 CAIE T2,$SSGNONE ;[1201] USER SAYS NO?
**************
1)11 ;**;[1172] Replace @ LNKT0A+5L JNG 5-Jun-79
1) JRST LNKT0C] ;[1172] CONTINUE
Digital Equipment Corporation 28-AUG-79 Page 855
PCO Log Report
****
2)14 JRST LNKT0C] ;[1172] CONTINUE
**************
1)11 ;**;[1201] Insert @ LNKT0B+9L JNG 13-Jun-79
1) MOVEI T2,$SSGLOW ;[1201] SYMBOLS IN LOW SEG INDEX
****
2)14 MOVEI T2,$SSGLOW ;[1201] SYMBOLS IN LOW SEG INDEX
**************
1)12 MOVX W1,PT.SGN!PT.SYM ;
1) MOVE W2,['.OVRLO']
****
2)15 MOVX W1,PT.SGN!PT.SYM
2) MOVE W2,['.OVRLO']
**************
1)12 ;**;[1174] Replace @LNKT0B+21L DZN 1-Jun-79
1) JRST E$$OHN ;[1174]
****
2)15 JRST E$$OHN ;[1174]
**************
1)14 ;**;[1172] Delete @ LNKT1B JNG 5-Jun-79
1) LNKT1B: SKIPN T1,HL.S1 ;GET CURRENT HIGHEST LOC
****
2)17 LNKT1B: SKIPN T1,HL.S1 ;GET CURRENT HIGHEST LOC
**************
1)17 ;**;[1204] Insert @ LNKT4A+8L JNG 14-Jun-79
1) CAMLE T1,[1,,0] ;[1204] STILL IN BOUNDS?
****
2)20 CAMLE T1,[1,,0] ;[1204] STILL IN BOUNDS?
**************
1)18 ;**;[1174] Replace @LNKT4G+6L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
****
2)21 PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
**************
1)20 ;**;[1214] Replace @LNKT5+6L DZN 9-Jul-79
1) LSH T1,-.DBS2W ;[1214] WORDS TO BLOCKS
****
2)23 LSH T1,-.DBS2W ;[1214] WORDS TO BLOCKS
**************
1)21 ;**;[1174] Replace @LNKT5H+6L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
****
2)24 PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
**************
1)22 HRLI T3,1(T3) ;
1) HRRI T3,2(T3) ;FORM BLT PTR
1) SETZM -1(T3) ;
1) BLT T3,@LS.UB ;TO CLEAR ALL EXCESS CORE
****
Digital Equipment Corporation 28-AUG-79 Page 856
PCO Log Report
2)25 HRLI T3,1(T3)
2) HRRI T3,2(T3) ;FORM BLT PTR
2) SETZM -1(T3)
2) BLT T3,@LS.UB ;TO CLEAR ALL EXCESS CORE
**************
1)23 ;**;[1174] Replace @LNKT6+23L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174]
****
2)26 PUSHJ P,E$$OOV## ;[1174]
**************
1)26 ;**;[1174] Replace @LNKT6Z+17L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174]
****
2)29 PUSHJ P,E$$OOV## ;[1174]
**************
1)28 ;**;[1205] Replace @ LNKT7+8L JNG 14-Jun-79
1) ADDI T1,1 ;[1205] SIZE REQUIRED
****
2)31 ADDI T1,1 ;[1205] SIZE REQUIRED
**************
1)28 ;**;[1174] Replace @LNKT7+19L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
****
2)31 PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
**************
1)28 ;**;[1174] Replace @LNKT8+5L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
****
2)31 PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
**************
1)34 ;**;[1174] Replace @LNKZB1+1P1L DZN 1-Jun-79
1) E$$ELN::.ERR. (MS,.EC,V%L,L%I6,S%I,ELN,<End of>) ;[1174]
****
2)37 E$$ELN::.ERR. (MS,.EC,V%L,L%I6,S%I,ELN,<End of>) ;[1174]
**************
1)34 ;**;[1152] Replace @ LNKZA+5L JNG 3-Apr-79
1) MOVEM T1,RC.HL(R) ;[1152] AND AS NEW FIRST FREE
****
2)37 MOVEM T1,RC.HL(R) ;[1152] AND AS NEW FIRST FREE
**************
1)36 ;**;[1174] Replace @LKSTER DZN 3-Jun-79
1) LKSTER: PUSHJ P,E$$USA## ;[1174] UNDEFINED MESSAGE
****
2)39 LKSTER: PUSHJ P,E$$USA## ;[1174] UNDEFINED MESSAGE
**************
1)37 MOVEM T1,IO.CHN ;
1) PUSHJ P,DVNAM.## ;SET UP OUTPUT NAME
1) PUSHJ P,DVSUP.## ;DETERMINE STRUCTURE
1) ;**;[1174] Replace @OC.OPN+22L DZN 30-May-79
Digital Equipment Corporation 28-AUG-79 Page 857
PCO Log Report
1) PJRST E$$OFS ;[1174] DEV IS NOT A DSK, DIE
****
2)40 MOVEM T1,IO.CHN
2) PUSHJ P,DVNAM.## ;SET UP OUTPUT NAME
2) PUSHJ P,DVSUP.## ;DETERMINE STRUCTURE
2) PJRST E$$OFS ;[1174] DEV IS NOT A DSK, DIE
**************
1)37 ;**;[1174] Replace @OC.OPN+37L DZN 30-May-79
1) JRST E$$EOV ;[1174] FAILED
1) POPJ P,
1) ;**;[1174] Replace @ER.EOV DZN 30-May-79
1) E$$OFS::.ERR. (MS,0,V%M,L%F,S%F,OFS,<Overlay file must be crea
ted on a file structure>) ;[1174]
****
2)40 JRST E$$EOV ;[1174] FAILED
2) POPJ P,
2) E$$OFS::.ERR. (MS,0,V%M,L%F,S%F,OFS,<Overlay file must be crea
ted on a file structure>) ;[1174]
**************
1)38 SUBTTL RESET SWITCH
1) %NODE::
****
2)41 SUBTTL SWITCH ACTION -- /NODE:name
2) %NODE::
**************
1)38 ;**;[1174] Replace @%RESET+6L DZN 1-Jun-79
1) E$$LSM::.ERR. (MS,.EC,V%L,L%W,S%W,LSM,</LINK switch mi
ssing while loading link number >) ;[1174]
1) .ETC. (DEC,.EC!.EP,,,,P2) ;LINK NUM
1) .ETC. (STR,,,,,,< -- assumed>) ;
1) PUSHJ P,SYSLB1## ;SEARCH LIBRARIES
****
2)41 E$$LSM::.ERR. (MS,.EC,V%L,L%W,S%W,LSM,</LINK switch mi
ssing while loading link number >) ;[1174]
2) .ETC. (DEC,.EC!.EP,,,,P2) ;LINK NUM
2) .ETC. (STR,,,,,,< -- assumed>)
2) PUSHJ P,SYSLB1## ;SEARCH LIBRARIES
**************
1)38 ;**;[1174] Replace @RSTA+3L DZN 1-Jun-79
1) JRST E$$LNL ;[1174] NO
****
2)41 JRST E$$LNL ;[1174] NO
**************
1)41 ;**;[1174] Replace @RST2A+2L DZN 1-Jun-79
1) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
****
2)44 PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
**************
1)41 ;**;[1174] Replace @RST2B+15L DZN 1-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 858
PCO Log Report
1) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
****
2)44 PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
**************
1)43 ;**;[1174] Replace @RST3H+12L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
****
2)46 PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
**************
1)44 ;**;[1174] Replace @RST3J+6L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
****
2)47 PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
**************
1)45 ;**;[1174] Replace @RSTN+2L DZN 1-Jun-79
1) JRST E$$NBR ;[1174] YES - ERROR
****
2)48 JRST E$$NBR ;[1174] YES - ERROR
**************
1)45 ;**;[1174] Replace @RSTL+1L DZN 1-Jun-79
1) JUMPE T1,E$$LNN ;[1174] ERROR
****
2)48 JUMPE T1,E$$LNN ;[1174] ERROR
**************
1)45 ;**;[1174] Replace @RSTLE DZN 1-Jun-79
1) E$$LNN::.ERR. (MS,.EC,V%L,L%W,S%W,LNN,<Link name >) ;[1174]
****
2)48 E$$LNN::.ERR. (MS,.EC,V%L,L%W,S%W,LNN,<Link name >) ;[1174]
**************
1)45 ;**;[1174] Replace @RSTNE DZN 1-Jun-79
1) E$$LNL::.ERR. (MS,.EC,V%L,L%W,S%W,LNL,<Link number >) ;[1174]
****
2)48 E$$LNL::.ERR. (MS,.EC,V%L,L%W,S%W,LNL,<Link number >) ;[1174]
**************
1)45 ;**;[1174] Replace @RSTRPR DZN 1-Jun-79
1) E$$NBR::.ERR. (MS,,V%L,L%F,S%F,NBR,<Attempt to position to nod
e before the root>) ;[1174]
****
2)48 E$$NBR::.ERR. (MS,,V%L,L%F,S%F,NBR,<Attempt to position to nod
e before the root>) ;[1174]
**************
1)46 ;**;[1174] Replace @RST01+6L DZN 1-Jun-79
1) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
****
2)49 PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
**************
1)47 ;**;[1174] Replace @RST06+8L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
****
2)50 PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
**************
Digital Equipment Corporation 28-AUG-79 Page 859
PCO Log Report
1)50 ;**;[1174] Replace @BKPBRN+3L DZN 1-Jun-79
1) JRST E$$NBR ;[1174] ERROR
****
2)53 JRST E$$NBR ;[1174] ERROR
**************
1)50 AOBJN T1,.-2 ;
1) SUBI T1,1 ;NO SPACE, SO BACKUP
****
2)53 AOBJN T1,.-2
2) SUBI T1,1 ;NO SPACE, SO BACKUP
**************
1)50 ;**;[1174] Replace @DLTBRN+13L DZN 1-Jun-79
1) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
****
2)53 PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
**************
1)51 ;**;[1174] Replace @TRYBG1+8L DZN 1-Jun-79
1) PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
****
2)54 PUSHJ P,E$$LNM## ;[1174] MUST BE IN MEMORY
**************
1)53 MOVX T1,S.SYM!S.LST!S.RBG ;
1) MOVEM T1,1(T2) ;STORE NEW TRIPLET
****
2)56 MOVX T1,S.SYM!S.LST!S.RBG
2) MOVEM T1,1(T2) ;STORE NEW TRIPLET
**************
1)59 ;**;[1174] Replace @LNKOHN DZN 1-Jun-79
1) E$$OHN::.ERR. (MS,,V%L,L%F,S%F,OHN,<Overlay handler not loaded
>) ;[1174]
1) E$$FSN::.ERR. (MS,,V%L,L%F,S%F,FSN,<FUNCT. subroutine not load
ed>) ;[1174]
1) OV1LIT:
1) END LNKOV1
****
2)62 E$$OHN::.ERR. (MS,,V%L,L%F,S%F,OHN,<Overlay handler not loaded
>) ;[1174]
2) E$$FSN::.ERR. (MS,,V%L,L%F,S%F,FSN,<FUNCT. subroutine not load
ed>) ;[1174]
2)63 SUBTTL THE END
2) OV1LIT: END LNKOV1
**************
Digital Equipment Corporation 28-AUG-79 Page 860
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV2.MAC[30,4507] created: 1540 13-Jun-1979
File 2) LINK:LNKOV2.MAC[10,645063] created: 1625 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC/DZN 13-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKOV2
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKMAP,LNKXIT
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKOV2
2) EXTERN LNKMAP,LNKXIT
**************
1)1 DECEVR==1201 ;DEC EDIT VERSION
1) VERSION
1) SALL
1) SEGMENT
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
**************
1)3 SUBTTL DEFINITIONS
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL DEFINITIONS
**************
1)4 ;**;[1174] Replace @LNKOV2+1L DZN 1-Jun-79
1) E$$OS2::.ERR. (MS,,V%L,L%I,S%I,OS2,<Overlay segment phase 2>)
;[1174]
1) MOVE T1,SYMSEG ;GET /SYMSEG VALUE
1) ;**;[1201] Replace @ E$$OS2+2L JNG 13-Jun-79
1) CAIE T1,$SSGNONE ;[1201] USER SAY NO?
****
2)4 E$$OS2::.ERR. (MS,,V%L,L%I,S%I,OS2,<Overlay segment phase 2>)
;[1174]
2) MOVE T1,SYMSEG ;GET /SYMSEG VALUE
2) CAIE T1,$SSGNONE ;[1201] USER SAY NO?
**************
1)9 MOVX T3,PT.EXT ;
1) IORB T3,EI.FLG-EI.LEN(T4) ;SET LAST BLOCK EXTENDED
****
Digital Equipment Corporation 28-AUG-79 Page 861
PCO Log Report
2)9 MOVX T3,PT.EXT
2) IORB T3,EI.FLG-EI.LEN(T4) ;SET LAST BLOCK EXTENDED
**************
1)11 ;**;[1174] Replace @OVR6C+2L DZN 1-Jun-79
1) JRST E$$USC ;[1174]
****
2)11 JRST E$$USC ;[1174]
**************
1)11 ;**;[1174] Replace @OVR6C+13L DZN 1-Jun-79
1) PUSHJ P,E$$LNM##] ;[1174] BUT!!!
****
2)11 PUSHJ P,E$$LNM##] ;[1174] BUT!!!
**************
1)12 ;**;[1174] Replace @OVR6CU DZN 1-Jun-79
1) E$$USC::.ERR. (MS,.EC,V%L,L%F,S%W,USC,<Undefined subroutine >)
;[1174]
****
2)12 E$$USC::.ERR. (MS,.EC,V%L,L%F,S%W,USC,<Undefined subroutine >)
;[1174]
**************
1)12 ;**;[1174] Replace @OVR6CN+1L DZN 1-Jun-79
1) E$$SNP::.ERR. (MS,.EC,V%L,L%W,S%W,SNP,<Subroutine >) ;[1174]
****
2)12 E$$SNP::.ERR. (MS,.EC,V%L,L%W,S%W,SNP,<Subroutine >) ;[1174]
**************
1)13 ;**;[1174] Replace @OVR6M+8L DZN 1-Jun-79
1) PUSHJ P,E$$LNM##] ;[1174] BUT!
****
2)13 PUSHJ P,E$$LNM##] ;[1174] BUT!
**************
1)13 JRST OVR6MA ;
1) OVR6MZ: MOVE P1,P4 ;UNIQUE SYMBOL
****
2)13 JRST OVR6MA
2) OVR6MZ: MOVE P1,P4 ;UNIQUE SYMBOL
**************
1)14 JRST OVR6MD ;
1) OVR6MF: SUB R2,LC.LB ;CORE MIGHT MOVE
****
2)14 JRST OVR6MD
2) OVR6MF: SUB R2,LC.LB ;CORE MIGHT MOVE
**************
1)15 ;**;[1174] Replace @OVR6MG+27L DZN 1-Jun-79
1) E$$ARL::.ERR. (MS,.EC,V%L,L%W,S%W,ARL,<Ambiguous request in>)
;[1174]
****
2)15 E$$ARL::.ERR. (MS,.EC,V%L,L%W,S%W,ARL,<Ambiguous request in>)
;[1174]
**************
Digital Equipment Corporation 28-AUG-79 Page 862
PCO Log Report
1)18 ;**;[1174] Replace @OVR6FC+3L DZN 1-Jun-79
1) E$$TMA::.ERR. (MS,.EC,V%L,L%F,S%W,TMA,<Too many ambiguous requ
ests in>) ;[1174]
****
2)18 E$$TMA::.ERR. (MS,.EC,V%L,L%F,S%W,TMA,<Too many ambiguous requ
ests in>) ;[1174]
**************
1)20 ;**;[1174] Replace @OVR6GC+15L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
****
2)20 PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
**************
1)21 ;**;[1174] Replace @OVR6H+28L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] THIS IS AN OUTPUT ERROR
1)22 ;**;[1172] Add comment @OVR6H+1P JNg 5-Jun-79
1) ;HERE TO CHECK IF SYMBOLS NEEDED, AND READ THEM IN IF SO.
****
2)21 PUSHJ P,E$$OOV## ;[1174] THIS IS AN OUTPUT ERROR
2)22 ;HERE TO CHECK IF SYMBOLS NEEDED, AND READ THEM IN IF SO.
**************
1)22 ;**;[1172] Delete @OVR6S+6L JNG 5-Jun-79
1) USETI OC,(T1) ;SET ON SYMBOL BLOCK
****
2)22 USETI OC,(T1) ;SET ON SYMBOL BLOCK
**************
1)22 ;**;[1174] Replace @OVR6S1+17L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] ERROR
****
2)22 PUSHJ P,E$$IOV## ;[1174] ERROR
**************
1)22 ;**;[1172] Delete @ OVR6S1+21L JNG 5-Jun-79
1)23 ;NOW FOR LC AREA
****
2)23 ;NOW FOR LC AREA
**************
1)23 ;**;[1172] Delete @ OVR6S1+1P12L JNG 5-Jun-79
1) MOVE P3,PH.ADD ;SYMBOL TABLE STARTS AT REL 0
****
2)23 MOVE P3,PH.ADD ;SYMBOL TABLE STARTS AT REL 0
**************
1)23 ;**;[1172] Insert @ OVR6L JNG 5-Jun-79
1) OVR6L: PUSHJ P,LSOVX## ;[1172] INITIALIZE LNKXIT FOR LS
LOOP CALL
****
2)23 OVR6L: PUSHJ P,LSOVX## ;[1172] INITIALIZE LNKXIT FOR LS
LOOP CALL
**************
1)23 SUB T2,TAB.LB(R) ;
1) MOVN T1,T2 ;- LENGTH OF SYMBOLS
Digital Equipment Corporation 28-AUG-79 Page 863
PCO Log Report
****
2)23 SUB T2,TAB.LB(R)
2) MOVN T1,T2 ;- LENGTH OF SYMBOLS
**************
1)23 ;**;[1174] Replace @OVR6L+16L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] FAILED
****
2)23 PUSHJ P,E$$OOV## ;[1174] FAILED
**************
1)24 ;**;[1174] Replace @OVR6R+18L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] ERROR
****
2)24 PUSHJ P,E$$OOV## ;[1174] ERROR
**************
1)25 ;**;[1174] Replace @OVR6Z+2L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
****
2)25 PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
**************
1)25 ;**;[1174] Replace @OVR6X+18L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174]
****
2)25 PUSHJ P,E$$IOV## ;[1174]
**************
1)25 ;**;[1174] Replace @OVR6X+25L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174]
****
2)25 PUSHJ P,E$$OOV## ;[1174]
**************
1)26 ;**;[1174] Replace @OVR7+2L DZN 1-Jun-79
1) E$$ABT::.ERR. (MS,.EC,V%L,L%F,S%F,ABT,<Load aborted due to %LN
KTMA errors, max. /ARSIZE: needed was >) ;[1174]
****
2)26 E$$ABT::.ERR. (MS,.EC,V%L,L%F,S%F,ABT,<Load aborted due to %LN
KTMA errors, max. /ARSIZE: needed was >) ;[1174]
**************
1)26 ;**;[1174] Replace @OVR7C+10L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
****
2)26 PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
**************
1)26 ;**;[1174] Replace @OVR7C+18L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
****
2)26 PUSHJ P,E$$OOV## ;[1174] OUTPUT ERROR
**************
1)27 ;**;[1174] Replace @OVR7B+4L DZN 1-Jun-79
1) PUSHJ P,E$$OOV## ;[1174] ERROR
****
Digital Equipment Corporation 28-AUG-79 Page 864
PCO Log Report
2)27 PUSHJ P,E$$OOV## ;[1174] ERROR
**************
1)27 IFN FTEXE,< MOVSI T2,'EXE'> ;
1) IFE FTEXE,< MOVSI T2,'HGH'> ;ASSUME NOT SHAREABLE
****
2)27 IFN FTEXE,< MOVSI T2,'EXE'>
2) IFE FTEXE,< MOVSI T2,'HGH'> ;ASSUME NOT SHAREABLE
**************
1)29 ;**;[1174] Replace @OVR8A+23L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] ERROR
****
2)29 PUSHJ P,E$$IOV## ;[1174] ERROR
**************
1)30 ;**;[1174] Replace @RDCST+18L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
****
2)30 PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
**************
1)30 IMUL T2,[-2] ;
1) ADD T1,T2 ;TOTAL NO. WE NEED
****
2)30 IMUL T2,[-2]
2) ADD T1,T2 ;TOTAL NO. WE NEED
**************
1)31 ;**;[1174] Replace @CPOPJ1+1L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
****
2)31 PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
**************
1)31 ;**;[1174] Replace @INPH+10L DZN 1-Jun-79
1) PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
****
2)31 PUSHJ P,E$$IOV## ;[1174] INPUT ERROR
**************
1)32 ;**;[1174] Replace @RDREL1+5L DZN 1-Jun-79
1) PJRST E$$IOV## ;[1174] I/O ERROR
1)33 OV2LIT:
1) END LNKOV2
****
2)32 PJRST E$$IOV## ;[1174] I/O ERROR
2)33 SUBTTL THE END
2) OV2LIT: END LNKOV2
**************
Digital Equipment Corporation 28-AUG-79 Page 865
PCO Log Report
[FILCOM]
File 1) LINK:LNKOVS.MAC[30,4507] created: 1659 10-Jun-1979
File 2) LINK:LNKOVS.MAC[10,645063] created: 1626 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY TR.WLK
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) CUSTVR==0 ;CUSTOMER VERSION
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY TR.WLK
2) CUSTVR==0 ;CUSTOMER VERSION
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) VERSION
1) SALL
1) SEGMENT
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
**************
1)3 SUBTTL TREE WALK ROUTINE
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL TREE WALK ROUTINE
**************
1)7 ;**;[1174] Replace @ER.IOV DZN 1-Jun-79
1) E$$IOV::PUSH P,[OC] ;[1174]
****
2)7 E$$IOV::PUSH P,[OC] ;[1174]
**************
1)7 END
****
2)8 SUBTTL THE END
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 866
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 2215 08-Jul-1979
File 2) LINK:LNKPAR.MAC[10,645063] created: 1344 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 5-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 25-Jul-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
1) SEARCH MACTEN,UUOSYM,SCNMAC ;[731] SEARCH C.MAC SYMBOL TABLE
1) CUSTVR==0 ;CUSTOMER VERSION
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH MACTEN,UUOSYM,SCNMAC
2) SALL
2) CUSTVR==0 ;CUSTOMER VERSION
**************
1)1 DECEVR==1213 ;DEC EDIT VERSION
1) LOC 137 ;KEEPS MACRO HAPPY
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) LOC 137 ;KEEPS MACRO HAPPY
**************
1)1 SALL
1)2 SUBTTL CONDITIONAL ASSEMBLY SWITCHES
****
2)2 SUBTTL CONDITIONAL ASSEMBLY SWITCHES
**************
1)3 ;**;[1172] Delete @ .OVPSP JNG 5-Jun-79
1) ND LN.OVL,^D128*^D10*2 ;MAX. NO. OF OVERLAYS ALLOWED
****
2)3 ND LN.OVL,^D128*^D10*2 ;MAX. NO. OF OVERLAYS ALLOWED
**************
1)3 ;**;[1172] Delete @ .FRESP JNG 5-Jun-79
1)4 SUBTTL REVISION HISTORY
****
2)4 SUBTTL REVISION HISTORY
**************
1)6 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
****
2)6 ;1217 Clean up the listings for release.
2)7 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
**************
1)12 ;**;[1213] Insert @ FS.FXC+1L JNG 5-Jul-79
1) FS.MDC==:1B15 ;[1213] MULTIPLE PARTIAL DEFINITION FIXU
P
****
Digital Equipment Corporation 28-AUG-79 Page 867
PCO Log Report
2)13 FS.MDC==:1B15 ;[1213] MULTIPLE PARTIAL DEFINITION FIXU
P
**************
1)14 ;**;[1203] Replace @ PROCESSORS macro JNG 14-Jun-79
1) DEFINE PROCESSORS<
****
2)15 DEFINE PROCESSORS<
**************
1)14 ;**;[1203] Change @ X macro JNG 14-Jun-79
1) DEFINE X (A,B,C)<
****
2)15 DEFINE X (A,B,C)<
**************
1)15 ;**;[1120] Replace @ CPUS definitions DZN 22-Sep-78
1) ;CPU TYPES. FIRST ARGUMENT TO INTERNAL X MACRO IS THE NAME AS
****
2)16 ;CPU TYPES. FIRST ARGUMENT TO INTERNAL X MACRO IS THE NAME AS
**************
1)16 ;**;[1132] Insert @ AT.RP definition +1L JNG 30-Jan-7
9
1) AT.PS==:1B1 ;[1132] PSECT SEEN (IN THIS MODULE)
****
2)17 AT.PS==:1B1 ;[1132] PSECT SEEN (IN THIS MODULE)
**************
1)18 I.PTH==:I.ZER+LN.OPN+LN.RIB ;
1) I.ARG==:I.PTH+.PTFCN ;
1) I.SSW==:I.PTH+.PTSWT ;
1) I.UFD==:I.PTH+.PTPPN ;
1) I.SFD==:I.UFD+1 ;FIRST SFD
1) I.END==:I.UFD+LN.DRB ;
1) LN.SFD==:I.END-I.PTH+1 ;
1) LN.IO==:LN.OPN+LN.RIB+LN.SFD ;TOTAL LENGTH REQUIRED
1)19 SUBTTL DATA BLOCK FORMAT FOR REQUEST/REQUIRE BLOCKS
1) R.NXT==:0 ;POINTER TO THE NEXT BLOCK
****
2)19 I.PTH==:I.ZER+LN.OPN+LN.RIB
2) I.ARG==:I.PTH+.PTFCN
2) I.SSW==:I.PTH+.PTSWT
2) I.UFD==:I.PTH+.PTPPN
2) I.SFD==:I.UFD+1 ;FIRST SFD
2) I.END==:I.UFD+LN.DRB
2) LN.SFD==:I.END-I.PTH+1
2) LN.IO==:LN.OPN+LN.RIB+LN.SFD ;TOTAL LENGTH REQUIRED
2)20 SUBTTL DATA BLOCK FORMAT FOR REQUEST/REQUIRE BLOCKS
2) R.NXT==:0 ;POINTER TO THE NEXT BLOCK
**************
1)22 ;**;[1112] Insert @ IOR. definition under IFN TOPS20 JNG
15-Aug-78
1) OPDEF ADD. [ADDI] ;[1112] IMMEDIATE MODE
Digital Equipment Corporation 28-AUG-79 Page 868
PCO Log Report
****
2)23 OPDEF ADD. [ADDI] ;[1112] IMMEDIATE MODE
**************
1)22 ;**;[1112] Insert @ IOR. definition under IFE TOPS20 JNG
15-Aug-78
1) OPDEF ADD. [ADD] ;[1112] FROM MEMORY
****
2)23 OPDEF ADD. [ADD] ;[1112] FROM MEMORY
**************
1)26 ZZH.==<L-F+2>/2 ;
1) ZZT.==ZZH.+ZZ. ;
1) REPEAT ZZH.,<
1) PTYPE (\ZZT.,\ZZ.) ;
1) ZZ.==ZZ.+1
1) ZZT.==ZZT.+1 ;
1) >>
****
2)27 ZZH.==<L-F+2>/2
2) ZZT.==ZZH.+ZZ.
2) REPEAT ZZH.,<
2) PTYPE (\ZZT.,\ZZ.)
2) ZZ.==ZZ.+1
2) ZZT.==ZZT.+1
2) >>
**************
1)28 ;**;[1144] Replace .ERR. macro DZN 16-Feb-79
1) ;.ERR. MACRO GENERATES USUAL CALLS TO ERROR/LOG MODULE. GENERAL
FORM IS:
****
2)29 ;.ERR. MACRO GENERATES USUAL CALLS TO ERROR/LOG MODULE. GENERAL
FORM IS:
**************
1)29 ;**;[1202] Replace @ .OERR. JNG 14-Jun-79
1) IFE TOPS20,<
****
2)30 IFE TOPS20,<
**************
1)30 ;;**;[1174] Replace in .ETC. macro DZN 3-Jun-79
1) IFIDN <TYP><STR>,< ;;[1174]
****
2)31 IFIDN <TYP><STR>,< ;;[1174]
**************
1)32 ;**;[1144] Replace @B%VER-1L DZN 16-Feb-79
1) ; 0 5 67 8 12 13 17 18 35
****
2)33 ; 0 5 67 8 12 13 17 18 35
**************
1)32 ;**;[1174] Insert before S%I DZN 29-May-79
1) S%D==:0 ;[1174] DEFERRED (SEVERITY DEPENDS ON LO
Digital Equipment Corporation 28-AUG-79 Page 869
PCO Log Report
OKUP/ENTER CODE)
****
2)33 S%D==:0 ;[1174] DEFERRED (SEVERITY DEPENDS ON LO
OKUP/ENTER CODE)
**************
1)32 ;**;[1174] Insert before L%I DZN 29-May-79
1) L%D==:0 ;[1174] DEFERRED (LEVEL DEPENDS ON LOOKU
P/ENTER CODE)
****
2)33 L%D==:0 ;[1174] DEFERRED (LEVEL DEPENDS ON LOOKU
P/ENTER CODE)
**************
1)32 ;**;[1144] Delete @L%F+2L DZN 16-Feb-79
1) DEFINE LEVELS (ITEM,LEVEL)<
****
2)33 DEFINE LEVELS (ITEM,LEVEL)<
**************
1)32 ;**;[1144] Delete @.EP-1L DZN 16-Feb-79
1) %ENT==1B0 ;ENTER ERROR
****
2)33 %ENT==1B0 ;ENTER ERROR
**************
1)34 ;;**;[1117] Insert before /NOINITIAL switch in SWTCHS macro
DZN 14-Sep-78
1) SWMAC SS,NOINCLUDE,,0,,3,.;; ;[1117] TURN OFF STICKY
/INCLUDE
****
2)35 SWMAC SS,NOINCLUDE,,0,,3,.;; ;[1117] TURN OFF STICKY
/INCLUDE
**************
1)34 SWMAC SL,SYFILE,,SYMK,1,3;; ;
1) ;**;[1201] Change @ /SYMSEG in SWMAC JNG 13-Jun-79
1) SWMAC SL,SYMSEG,,SSGK,2,4,.,,.SWSYM ;[1201]
****
2)35 SWMAC SL,SYFILE,,SYMK,1,3
2) SWMAC SL,SYMSEG,,SSGK,2,4,.,,.SWSYM ;[1201]
**************
1)34 SWMAC SL,TEST,,DEBK,1,3,.,*; ;
1) SWMAC SS,UNDEFINED,,0,,3,.,*
****
2)35 SWMAC SL,TEST,,DEBK,1,3,.,*
2) SWMAC SS,UNDEFINED,,0,,3,.,*
**************
1)34 ;;**;[1177] Change @ /VERSION switch JNG 12-Jun-79
1) SWMAC SP,VERSION,,.SWVER,SYM,3,.,* ;;[1177]
****
2)35 SWMAC SP,VERSION,,.SWVER,SYM,3,.,* ;;[1177]
**************
1)37 ;;**;[1203] Replace in KEYWORDS macro JNG 14-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 870
PCO Log Report
1) KEYMAC DEB,<,MACRO,DDT,*FORTRAN,FORDDT,*COBOL,COBDDT,SAIL,SDDT^
_
****
2)38 KEYMAC DEB,<,MACRO,DDT,*FORTRAN,FORDDT,*COBOL,COBDDT,SAIL,SDDT^
_
**************
1)37 ;**;[1203] Replace in KEYWORDS macro JNG 14-Jun-79
1) KEYMAC LIB,<ANY,F40,COBOL,ALGOL,NELIAC,PL1,BLISS,SAIL,*FORTRAN,
MACRO^_
****
2)38 KEYMAC LIB,<ANY,F40,COBOL,ALGOL,NELIAC,PL1,BLISS,SAIL,*FORTRAN,
MACRO^_
**************
1)37 ;**;[1201] Replace @ SEG KEYMAC macro JNG 13-Jun-79
1) KEYMAC SEG,<LOW,HIGH,DEFAULT,NONE> ;[1201]
****
2)38 KEYMAC SEG,<LOW,HIGH,DEFAULT,NONE> ;[1201]
**************
1)38 ;;**;[1201] Replace in KEYMAC macro JNG 13-Jun-79
1) IFIDN <A><SSG>,<
****
2)39 IFIDN <A><SSG>,<
**************
1)39 ;**;[1203] Replace in X macro above $LIBDEFAULT JNG 14-Jun-7
9
1) DEFINE X (A,B,C)<
****
2)40 DEFINE X (A,B,C)<
**************
1)39 ;;**;[1203] Replace in X macro below $LIBDEFAULT JNG
14-Jun-79
1) $LIB'B==B'BIT
****
2)40 $LIB'B==B'BIT
**************
1)42 SUBTTL TEXEX JSYS
1) IFN TOPS20,<
****
2)43 SUBTTL TOPS-20 JSYS
2) IFN TOPS20,<
**************
1)42 END
****
2)44 SUBTTL THE END
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 100
PCO Log Report
[FILCOM]
File 1) LINK:LNKPLT.MAC[30,4507] created: 1700 10-Jun-1979
File 2) LINK:LNKPLT.MAC[10,645063] created: 1730 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKPLT,GETSON
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) CUSTVR==0 ;CUSTOMER VERSION
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKPLT,GETSON
2) CUSTVR==0 ;CUSTOMER VERSION
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) SALL
1) SEGMENT
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL BLISS CONVENTIONS
****
2)2 ;1217 Clean up the listings for release.
2)3 SUBTTL BLISS CONVENTIONS
**************
1)3 EXP INCHES,LEAVES,STEPS ;
1) RELOC .-3 ;
1)4 SUBTTL DEFAULTS
****
2)3 EXP INCHES,LEAVES,STEPS
2) RELOC .-3
2)4 SUBTTL DEFAULTS
**************
1)5 ;**;[1174] Replace @LNKPLT+1L DZN 1-Jun-79
1) E$$POT::.ERR. (MS,0,V%L,L%I,S%I,POT,<Plotting overlay tree>) ;
[1174]
****
2)5 E$$POT::.ERR. (MS,0,V%L,L%I,S%I,POT,<Plotting overlay tree>) ;
[1174]
**************
1)5 ;**;[1113] Insert after LNKPLT+4L DZN 25-Aug-78
1) IFN TOPS20,< ;[1113] SHRINK THEN EXPAND TO SA
Digital Equipment Corporation 28-AUG-79 Page 101
PCO Log Report
ME SIZE ON TOPS-20
****
2)5 IFN TOPS20,< ;[1113] SHRINK THEN EXPAND TO SA
ME SIZE ON TOPS-20
**************
1)10 PLTLIT:
1) END
****
2)11 SUBTTL THE END
2) PLTLIT: END
**************
Digital Equipment Corporation 28-AUG-79 Page 102
PCO Log Report
[FILCOM]
File 1) LINK:LNKSCN.MAC[30,4507] created: 1743 11-Jun-1979
File 2) LINK:LNKSCN.MAC[10,645063] created: 1731 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKSCN
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) EXTERN LNKLOD,LNKCOR,LNKLOG,.TYOCH
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) SALL
2) ENTRY LNKSCN
2) EXTERN LNKLOD,LNKCOR,LNKLOG,.TYOCH
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) VERSION
1) SEGMENT
1) SALL
1)2 SUBTTL COMMUNICATION WITH SCAN
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
2)2 SUBTTL COMMUNICATION WITH SCAN
**************
1)4 SUBTTL INITIALIZE SCANNER
****
2)3 ;1217 Clean up the listings for release.
2)4 SUBTTL INITIALIZE SCANNER
**************
1)4 JRST (T1)] ;
1) ;**;[1174] Replace @LNKSCN+15L DZN 1-Jun-79
1) E$$SNL::.ERR. (MS,,V%L,L%I,S%I,SNL,<Scanning new command line>
) ;[1174]
****
2)4 JRST (T1)]
2) E$$SNL::.ERR. (MS,,V%L,L%I,S%I,SNL,<Scanning new command line>
) ;[1174]
**************
1)6 .ISBLK: 5,,.+1 ;
1) 0
1) OFFSET,,'LNK' ;
1) USRIN,,0
Digital Equipment Corporation 28-AUG-79 Page 103
PCO Log Report
1) 0
1) UPRMPT,,0 ;
1) .TSBLK: 9,,.+1
****
2)6 .ISBLK: 5,,.+1
2) 0
2) OFFSET,,'LNK'
2) USRIN,,0
2) 0
2) UPRMPT,,0
2) .TSBLK: 9,,.+1
**************
1)10 ;**;[1174] Replace @**somewhere**+1P6L DZN 1-Jun-79
1) PUSHJ P,E$$IST ;[1174] NO, ERROR IN SWITCH MACR
O
****
2)10 PUSHJ P,E$$IST ;[1174] NO, ERROR IN SWITCH MACR
O
**************
1)11 ;**;[1174] Replace @SWTERR DZN 1-Jun-79
1) E$$IST::.ERR. (MS,,V%L,L%F,S%F,IST,<Inconsistency in switch ta
ble>) ;[1174]
****
2)11 E$$IST::.ERR. (MS,,V%L,L%F,S%F,IST,<Inconsistency in switch ta
ble>) ;[1174]
**************
1)15 ;**;[1174] Replace @TXTERR DZN 1-Jun-79
1) E$$ITB::.ERR. (MS,.EC,V%L,L%F,S%F,ITB,<Invalid text in ASCII b
lock from file >) ;[1174]
****
2)15 E$$ITB::.ERR. (MS,.EC,V%L,L%F,S%F,ITB,<Invalid text in ASCII b
lock from file >) ;[1174]
**************
1)16 ;**;[1174] Replace @TXTKOM+6L DZN 1-Jun-79
1) JUMPE C,E$$ITB ;[1174] IF SCAN STILL WANTS MORE
, GIVE UP
****
2)16 JUMPE C,E$$ITB ;[1174] IF SCAN STILL WANTS MORE
, GIVE UP
**************
1)17 SUBTTL .INSUB - SPECIAL INPUT SUBROUTINES NOT YET IN SCAN
1) ;***COPYRIGHT (C) 1973 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.**
*
1) ENTRY .SYMSW,.SWSYM,.SYOSW,.SWSYO,.SXDSW,.SWSXD
****
2)17 SUBTTL .INSUB - SPECIAL INPUT SUBROUTINES NOT YET IN SCAN
2) ENTRY .SYMSW,.SWSYM,.SYOSW,.SWSYO,.SXDSW,.SWSXD
**************
1)18 ;**;[1167] Insert @ SYMS3 JNG 17-May-79
Digital Equipment Corporation 28-AUG-79 Page 104
PCO Log Report
1) SYMS3: JUMPE N,[CAIL C,"0" ;[1167] IF FIRST CHAR, IS IT A D
IGIT?
****
2)18 SYMS3: JUMPE N,[CAIL C,"0" ;[1167] IF FIRST CHAR, IS IT A D
IGIT?
**************
1)19 ;**;[1167] Remove label @ SYOS1 JNG 17-May-79
1) PUSHJ P,.TICAN## ;[1167] SEE IF CHARACTER IS ALPH
A-NUMERIC
****
2)19 PUSHJ P,.TICAN## ;[1167] SEE IF CHARACTER IS ALPH
A-NUMERIC
**************
1)19 ;**;[1167] Revamp @ SYOS1+8L JNG 17-May-79
1) POPJ P,] ;[1167] TERMINATOR
****
2)19 POPJ P,] ;[1167] TERMINATOR
**************
1)22 ;**;[1122] Replace @.SWVER DZN 5-Oct-78
1) ENTRY .SWVER ;[1122]
****
2)22 ENTRY .SWVER ;[1122]
**************
1)23 SUBTTL STORAGE DATA
1) SCNLIT:
1) END LNKSCN
****
2)23 SUBTTL THE END
2) SCNLIT: END LNKSCN
**************
Digital Equipment Corporation 28-AUG-79 Page 105
PCO Log Report
[FILCOM]
File 1) LINK:LNKSUB.MAC[30,4507] created: 1702 10-Jun-1979
File 2) LINK:LNKSUB.MAC[10,645063] created: 1736 25-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 10-Jun-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) SEARCH LNKLOW,LNKPAR
1) ENTRY NPRIME
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKLOW,LNKPAR
2) SALL
2) ENTRY NPRIME
**************
1)1 DECEVR==1174 ;DEC EDIT VERSION
1) SEGMENT
1) SALL
1)2 ;REVISION HISTORY
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2)2 ;REVISION HISTORY
**************
1)3 ;HERE TO GET THE REQUIRED PRIME NUMBER INTO HT.PRM
****
2)2 ;1217 Clean up the listings for release.
2)3 ;HERE TO GET THE REQUIRED PRIME NUMBER INTO HT.PRM
**************
1)3 ;**;[1174] Replace @NPRIME+4L DZN 1-Jun-79
1) JUMPE T1,E$$HTL ;[1174] NONE THERE (0 IS END MAR
KER)
****
2)3 JUMPE T1,E$$HTL ;[1174] NONE THERE (0 IS END MAR
KER)
**************
1)3 ;**;[1174] Replace @PRMERR DZN 1-Jun-79
1) E$$HTL::.ERR. (MS,0,V%L,L%F,S%F,HTL,<Symbol hash table too lar
ge>) ;[1174]
****
2)3 E$$HTL::.ERR. (MS,0,V%L,L%F,S%F,HTL,<Symbol hash table too lar
ge>) ;[1174]
**************
1)6 TITLE .TSUBS - TYPE OUT ROUTINES
1) SUBTTL D.M.NIXON/DMN/JBC 2-JUL-75
1) ;***COPYRIGHT (C) 1973 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.**
Digital Equipment Corporation 28-AUG-79 Page 106
PCO Log Report
*
1) SEARCH LNKLOW,LNKPAR,MACTEN,UUOSYM
1) CUSTVR==0 ;CUSTMER VERSIN
1) DECVER==2 ;DEC VERSION
1) DECMVR==2 ;DEC MINOR VERSION
1) DECEVR==363 ;DEC EDIT VERSION
1) SEGMENT
1) ENTRY .T6OCT,.TFOCT,.T6ZOC,.TDEP,.TOEP,.TSIXB
1) ;HERE TO OUTPUT OCTAL FULL WORD WITH LEADING BLANKS
****
2)6 TITLE .TSUBS - TYPE OUT ROUTINES
2) SUBTTL D.M.NIXON/DMN/JBC/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKLOW,LNKPAR,MACTEN,UUOSYM
2) SALL
2) ENTRY .T6OCT,.TFOCT,.T6ZOC,.TDEP,.TOEP,.TSIXB
2) SEGMENT
2)7 ;HERE TO OUTPUT OCTAL FULL WORD WITH LEADING BLANKS
**************
1)8 ;**;[1161] Insert @ .TOEP+7L JNG 4-May-79
1) ;TYPE SIXBIT WORD, BLANK FILLED
****
2)9 ;TYPE SIXBIT WORD, BLANK FILLED
**************
1)9 SUBTTL D.M.NIXON/DMN 22-MAR-74
1) ENTRY CS.LHS,CS.RHS
1) SEARCH LNKPAR
1) CS.LHS==(MOVEM W1,(P3))
****
2)10 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR
2) SALL
2) ENTRY CS.LHS,CS.RHS
2) CS.LHS==(MOVEM W1,(P3))
**************
1)10 TITLE LNK000 - DUMMY LINK
1) SUBTTL D.M.NIXON/DMN/DZN 8-Jun-79
1) ENTRY LINK ;[1174]
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
****
2)11 TITLE LNK000 - DUMMY LINK
Digital Equipment Corporation 28-AUG-79 Page 107
PCO Log Report
2) SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LINK ;[1174]
2) SEGMENT
**************
1)11 SUBTTL D.M.NIXON/DMN 24-OCT-72
1) ENTRY LNKSCN
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
****
2)12 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LNKSCN
2) SEGMENT
**************
1)12 SUBTTL D.M.NIXON/DMN 24-OCT-72
1) ENTRY LNKLOD
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
****
2)13 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LNKLOD
2) SEGMENT
**************
1)13 SUBTTL D.M.NIXON/DMN 27-OCT-72
1) ENTRY LNKMAP
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
****
2)14 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
Digital Equipment Corporation 28-AUG-79 Page 108
PCO Log Report
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LNKMAP
2) SEGMENT
**************
1)14 SUBTTL D.M.NIXON/DMN 24-OCT-72
1) ENTRY LNKXIT
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
****
2)15 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LNKXIT
2) SEGMENT
**************
1)15 SUBTTL D.M.NIXON/DMN 26-JULY-73
1) ENTRY LNKERR
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM
1) SEGMENT
1) SALL
1) LNKERR:
****
2)16 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM
2) SALL
2) ENTRY LNKERR
2) SEGMENT
2) LNKERR:
**************
1)16 SUBTTL D.M.NIXON/DMN 28-NOV-73
1) ENTRY LNKOV1
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
****
2)17 SUBTTL D.M.NIXON/DMN/DZN 29-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
Digital Equipment Corporation 28-AUG-79 Page 109
PCO Log Report
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LNKOV1
2) SEGMENT
**************
1)17 SUBTTL D.M.NIXON/DMN 28-NOV-73
1) ENTRY LNKOV2
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
****
2)18 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LNKOV2
2) SEGMENT
**************
1)18 SUBTTL D.M.NIXON/DMN 1-MAR-74
1) ENTRY LNKPLT
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
****
2)19 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LNKPLT
2) SEGMENT
**************
1)19 SUBTTL D.M.NIXON/DMN/JNG/DZN 8-Jun-79
1) SEARCH LNKPAR,LNKLOW
1) SEGMENT
1) SALL
1) DEFINE $LABEL (A)<
****
2)20 SUBTTL D.M.NIXON/DMN/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) SEGMENT
Digital Equipment Corporation 28-AUG-79 Page 110
PCO Log Report
2) DEFINE $LABEL (A)<
**************
1)19 ;**;[1174] Replace @ER.IOV-1L DZN 1-Jun-79
1) ENTRY E$$IOV ;[1174]
****
2)20 ENTRY E$$IOV ;[1174]
**************
1)19 ;**;[1174] Replace @RT.T2F+1L DZN 1-Jun-79
1) E$$ONS::.ERR. (MS,,V%L,L%W,S%I,ONS,<Overlays not supported in
this version of LINK>) ;[1174]
****
2)20 E$$ONS::.ERR. (MS,,V%L,L%W,S%I,ONS,<Overlays not supported in
this version of LINK>) ;[1174]
**************
1)20 SUBTTL D.M.NIXON/DMN 28-NOV-73
1) ENTRY TRY.BG
1) SEARCH LNKPAR
1) SEGMENT
****
2)21 SUBTTL D.M.NIXON/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR
2) SALL
2) ENTRY TRY.BG
2) SEGMENT
**************
1)21 SUBTTL D.M.NIXON/DMN/JNG/DZN 8-Jun-79
1) ENTRY LNKF40
****
2)22 SUBTTL D.M.NIXON/DMN/JNG/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW
2) SALL
2) ENTRY LNKF40
**************
1)21 SEARCH LNKPAR,LNKLOW
1) SEGMENT
1) SALL
1) LNKF40:
****
2)22 SEGMENT
2) LNKF40:
**************
Digital Equipment Corporation 28-AUG-79 Page 111
PCO Log Report
1)21 ;**;[1174] Replace @T.401+4L DZN 1-Jun-79
1) JRST E$$FOV## ;[1174] YES, GIVE BETTER
MESSAGE
****
2)22 JRST E$$FOV## ;[1174] YES, GIVE BETTER
MESSAGE
**************
Digital Equipment Corporation 28-AUG-79 Page 112
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 2234 29-Jun-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1101 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 29-Jun-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 25-Jul-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) ENTRY LNKWLD
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
1) IFN TOPS20,<SEARCH MACSYM,MONSYM>
1) EXTERN LNKFIO,LNKCOR,LNKLOG,LNKMAP,TTYCHK
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
2) IFN TOPS20,<SEARCH MACSYM,MONSYM>
2) SALL
2) ENTRY LNKWLD
2) EXTERN LNKFIO,LNKCOR,LNKLOG,LNKMAP,TTYCHK
**************
1)1 DECEVR==1211 ;DEC EDIT VERSION
1) ;CALLING SEQUENCE
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) SEGMENT
2)2 ;CALLING SEQUENCE
**************
1)1 SEGMENT
1) SALL
1)2 SUBTTL REVISION HISTORY
****
2)3 SUBTTL REVISION HISTORY
**************
1)4 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
1) LNKWLD: SETZM NULSPC ;CLEAR NULL FILE SPEC FLAG
****
2)6 ;1217 Clean up the listings for release.
2)7 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
2) LNKWLD: SETZM NULSPC ;CLEAR NULL FILE SPEC FLAG
**************
1)7 ;**;[1174] Replace @LDFS1+2L DZN 30-May-79
1) PUSHJ P,E01FLE## ;[1174] GIVE ERROR MESSAGE
1) ;**;[1101] Insert @ LDFS1+3L JNG 29-May-78
1) SETZM LSTBLK ;[1101] ASSUME BLOCK 0
****
Digital Equipment Corporation 28-AUG-79 Page 113
PCO Log Report
2)10 PUSHJ P,E01FLE## ;[1174] GIVE ERROR MESSAGE
2) SETZM LSTBLK ;[1101] ASSUME BLOCK 0
**************
1)9 ;** SFDS ** MUST BE RESPECIFIED
1) MERGE1: MOVEM T4,F.MOD(P2) ;STORE MODIFIED MOD WORD
****
2)12 MERGE1: MOVEM T4,F.MOD(P2) ;STORE MODIFIED MOD WORD
**************
1)16 SUBTTL SWITCH ACTION
1) %COMNM: SIXBIT \DEFINED-BY-SWITCH\ ;AVOID FORWARD REFERENCE
AT DMOVE
****
2)19 SUBTTL SWITCH ACTION -- /COMMON:name:len
2) %COMNM: SIXBIT \DEFINED-BY-SWITCH\ ;AVOID FORWARD REFERENCE
AT DMOVE
**************
1)16 ;**;[1204] Insert @ .COMMON+5L JNG 14-Jun-79
1) TRNE W3,-1 ;[1204] MORE THAN 777777?
****
2)19 TRNE W3,-1 ;[1204] MORE THAN 777777?
**************
1)16 MOVX W1,PT.SGN!PT.EXT!PT.TTL!PT.FAK ;
1) MOVE W2,%COMNM ;FIRST 6 CHARS
****
2)19 MOVX W1,PT.SGN!PT.EXT!PT.TTL!PT.FAK
2) MOVE W2,%COMNM ;FIRST 6 CHARS
**************
1)16 ;**;[1173] Insert @ .COMMON+3L JNG 10-Jun-79
1) CAMLE T2,RC.HL(T1) ;[1173] NEVER DECREASE
****
2)19 CAMLE T2,RC.HL(T1) ;[1173] NEVER DECREASE
**************
1)17 IFE TOPS20,<
****
2)20 SUBTTL SWITCH ACTION -- /CORE:n
2) IFE TOPS20,<
**************
1)17 ;**;[1174] Replace @%CORE+12L DZN 3-Jun-79
1) JRST E02EXP ;[1174] OK, TELL USER
****
2)20 JRST E02EXP ;[1174] OK, TELL USER
**************
1)17 ;**;[1174] Replace @CORE3 DZN 3-Jun-79
1) E02EXP::.ERR. (MS,.EC,V%L,L%I,S%I,EXP) ;[1174]
****
2)20 E02EXP::.ERR. (MS,.EC,V%L,L%I,S%I,EXP) ;[1174]
**************
1)18 ;**;[1174] Revamp @.COUNTER+1L DZN 3-Jun-79
1) MOVEI R,1 ;[1174] START AT 1 (COUNTER .LOW
Digital Equipment Corporation 28-AUG-79 Page 114
PCO Log Report
.)
****
2)21 MOVEI R,1 ;[1174] START AT 1 (COUNTER .LOW
.)
**************
1)19 SUBTTL SWITCH ACTION -- /CPU:, /CRLF:
1) %CPU:
****
2)22 SUBTTL SWITCH ACTION -- /CPU:key, /CRLF:n
2) %CPU:
**************
1)19 POPJ P, ;
1)20 ;HERE FOR /DEBUG
1) .DEBUG:
****
2)22 POPJ P,
2)23 SUBTTL SWITCH ACTION -- /DEBUG:name, /TEST:name
2) .DEBUG:
**************
1)20 ;**;[775] Replace @ DEBUG1+23L DZN 1-May-78
1) CAMN T1,['FORDDT'] ;[775] SINCE IT NEED ITS SYMBOLS
****
2)23 CAMN T1,['FORDDT'] ;[775] SINCE IT NEED ITS SYMBOLS
**************
1)20 ;**;[1144] Replace @DEBUG1+34L DZN 16-Feb-79
1) JRST MAPDDT ;[1144] MAP IN UDDT RIGHT NOW
****
2)23 JRST MAPDDT ;[1144] MAP IN UDDT RIGHT NOW
**************
1)22 ;**;[1144] Revamp @DDT10X DZN 16-Feb-79
1) ;HERE FOR /DEBUG:DDT ON TOPS-20. SINCE THERE IS NO .REL FILE FOR
DDT ON TOPS-20,
****
2)25 ;HERE FOR /DEBUG:DDT ON TOPS-20. SINCE THERE IS NO .REL FILE FOR
DDT ON TOPS-20,
**************
1)22 ;**;[1174] Replace @MAPDD1+3L DZN 3-Jun-79
1) ERJMP E$$DNA ;[1174] FAILED
****
2)25 ERJMP E$$DNA ;[1174] FAILED
**************
1)22 ;**;[1145] Insert @MAPDD2 DZN 22-Feb-79
1) MAPDD2: TRO FL,L.SYM ;[1145] LOAD LOCALS (TURNED OFF
EARLIER)
****
2)25 MAPDD2: TRO FL,L.SYM ;[1145] LOAD LOCALS (TURNED OFF
EARLIER)
**************
1)22 ;**;[1174] Replace @TXDDTR DZN 3-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 115
PCO Log Report
1) E$$DNA::.ERR. (MS,,V%L,L%F,S%F,DNA,<DDT not available>) ;[1174
]
****
2)25 E$$DNA::.ERR. (MS,,V%L,L%F,S%F,DNA,<DDT not available>) ;[1174
]
**************
1)23 ;**;[1174] Replace @DEBTBL-1L DZN 5-Jun-79
1) XALL ;[1174]
****
2)26 XALL ;[1174]
**************
1)23 ;HERE FOR /DDEBUG
1) %DDEBUG::
****
2)27 SUBTTL SWITCH ACTION -- /DDEBUG:name, /DEFINE:sym:val
2) %DDEBUG::
**************
1)24 MOVX W1,PT.SGN!PT.SYM ;
1) SKIPN W2,T2 ;GET SYMBOL
1) ;**;[1174] Replace @%DEFINE+4L DZN 3-Jun-79
1) JRST E$$ZSV ;[1174] ZERO IS INVALID
****
2)27 MOVX W1,PT.SGN!PT.SYM
2) SKIPN W2,T2 ;GET SYMBOL
2) JRST E$$ZSV ;[1174] ZERO IS INVALID
**************
1)25 %ENTRY:
****
2)28 SUBTTL SWITCH ACTION -- /ENTRY
2) %ENTRY:
**************
1)25 ;**;[1174] Revamp @.ENTRY+1L DZN 5-Jun-79
1) MOVE T1,[PUSHJ P,ENTNXT] ;[1174] SET UP NEXT SYMBOL R
OUTINE
****
2)28 MOVE T1,[PUSHJ P,ENTNXT] ;[1174] SET UP NEXT SYMBOL R
OUTINE
**************
1)26 %ESTIMATE:
****
2)29 SUBTTL SWITCH ACTION -- /ESTIMATE:n, /ERRORLEVEL:n, /EXECUTE
2) SUBTTL SWITCH ACTION -- /FRECORE:n, /FOROTS, /FORSE
2) %ESTIMATE:
**************
1)26 %GO:
****
2)30 SUBTTL SWITCH ACTION -- /GO, /HASHSIZE:n
2) %GO:
**************
Digital Equipment Corporation 28-AUG-79 Page 116
PCO Log Report
1)27 ;INCLUDE/EXCLUDE SWITCHES
****
2)31 SUBTTL SWITCH ACTION -- /EXCLUDE:name, /INCLUDE:name, /NOINCLUD
E
2) ;INCLUDE/EXCLUDE SWITCHES
**************
1)27 ;**;[1174] Replace @%EXCLUDE+2L DZN 3-Jun-79
1) JRST E$$ZSV ;[1174] ZERO IS INVALID
****
2)31 JRST E$$ZSV ;[1174] ZERO IS INVALID
**************
1)27 ;**;[1117] Change @.INCLUDE+1L DZN 14-Sep-78
1) TDO FL,[L.INC,,R.INC] ;[1117] ALWAYS SET INCLUDE MOD
E
****
2)31 TDO FL,[L.INC,,R.INC] ;[1117] ALWAYS SET INCLUDE MOD
E
**************
1)27 ;**;[1117] Insert after %INCLUDE+10L DZN 14-Sep-78
1) .NOINCLUDE:
****
2)32 .NOINCLUDE:
**************
1)32 %K==CPOPJ ;/K IS JUST A KOMMAND, NO ACTION
****
2)37 SUBTTL SWITCH ACTION -- /K, /LOGLEVEL:n, /MAXCORE:n
2) %K==CPOPJ ;/K IS JUST A KOMMAND, NO ACTION
**************
1)32 ;**;[1174] Replace @MAXCORE+28L DZN 3-Jun-79
1) JRST E$$MTS ;[1174] AND IGNORE IF TOO SMALL
****
2)37 JRST E$$MTS ;[1174] AND IGNORE IF TOO SMALL
**************
1)32 ;**;[1174] Replace @MAXCORE+35L DZN 3-Jun-79
1) E$$MTB::.ERR. (MS,.EC,V%L,L%W,S%W,MTB,</MAXCOR: too big, >) ;[
1174]
****
2)37 E$$MTB::.ERR. (MS,.EC,V%L,L%W,S%W,MTB,</MAXCOR: too big, >) ;[
1174]
**************
1)32 ;**;[1174] Replace @MAXERR DZN 3-Jun-79
1) E$$MTS::.ERR. (MS,.EC,V%L,L%W,S%W,MTS,</MAXCOR: too small, at
least >) ;[1174]
****
2)37 E$$MTS::.ERR. (MS,.EC,V%L,L%W,S%W,MTS,</MAXCOR: too small, at
least >) ;[1174]
**************
1)33 %MISSING:
****
2)38 SUBTTL SWITCH ACTION -- /MISSING
2) %MISSING:
Digital Equipment Corporation 28-AUG-79 Page 117
PCO Log Report
**************
1)35 %MPSORT:
****
2)40 SUBTTL SWITCH ACTION -- /MPSORT:key, /NOINITIAL
2) %MPSORT:
**************
1)35 ;**;[1174] Replace @%NOINITIAL+9L DZN 3-Jun-79
1) JRST E$$TDS ;[1174] TOO LATE TO CHANGE NOW
****
2)40 JRST E$$TDS ;[1174] TOO LATE TO CHANGE NOW
**************
1)35 ;**;[1174] Replace @TDS DZN 3-Jun-79
1) E$$TDS::.ERR. (MS,,V%L,L%W,S%W,TDS,<Too late to delete initial
symbols>) ;[1174]
1) POPJ P,
1)36 .LOCALS:
****
2)40 E$$TDS::.ERR. (MS,,V%L,L%W,S%W,TDS,<Too late to delete initial
symbols>) ;[1174]
2) POPJ P,
2)41 SUBTTL SWITCH ACTION -- /LOCALS, /NOLOCAL, /NOSEARCH, /NOSTART
2) SUBTTL SWITCH ACTION -- /NOSYMBOL, /OTSEGMENT:key, /PATCHSIZE:n
2) .LOCALS:
**************
1)37 %REQUIRE:
****
2)42 SUBTTL SWITCH ACTION -- /REQUIRE:sym, /RUNCORE:n, /RUNAME:sym,
/SEARCH, /MIXFOR
2) %REQUIRE:
**************
1)37 ;**;[1174] Replace @%REQUIRE+4L DZN 3-Jun-79
1) JRST E$$ZSV ;[1174] ZERO IS INVALID
****
2)42 JRST E$$ZSV ;[1174] ZERO IS INVALID
**************
1)38 %NEWPAGE:
****
2)43 SUBTTL SWITCH ACTION -- /NEWPAGE, /ONLY:key
2) %NEWPAGE:
**************
1)39 .SEGMENT:
****
2)44 SUBTTL SWITCH ACTION -- /SEGMENT:key
2) .SEGMENT:
**************
1)39 ;**;[1201] Re-arrange @ SEGTAB JNG 12-Jun-79
1) SEGTAB: R.FNS!R.FHS,,R.FLS ;[1201] LOW
****
2)44 SEGTAB: R.FNS!R.FHS,,R.FLS ;[1201] LOW
Digital Equipment Corporation 28-AUG-79 Page 118
PCO Log Report
**************
1)40 %SET:
****
2)45 SUBTTL SWITCH ACTION -- /SET:name:val
2) %SET:
**************
1)40 ;**;[1174] Replace @.SET0+8L DZN 3-Jun-79
1) JRST SETUND ;[1174] NOT DEFINED
****
2)45 JRST SETUND ;[1174] NOT DEFINED
**************
1)40 ;**;[1174] Replace @SET1+12L DZN 3-Jun-79
1) JRST E$$SRB ;[1174] YES, DO NOT ALLOW IT
****
2)45 JRST E$$SRB ;[1174] YES, DO NOT ALLOW IT
**************
1)40 ;**;[1211] Change @ E$$DRC+5L JNG 29-Jun-79
1) .ETC. (OCT,.EC!.EP,,,,W3) ;[1211]
****
2)45 .ETC. (OCT,.EC!.EP,,,,W3) ;[1211]
**************
1)41 ;**;[1132] Change @ SET2 JNG 30-Jan-79
1) SET2: CAMGE R1,RC.NO ;[1132] CHECKED ALL WE'VE SET UP
?
1) AOJA R1,SET1 ;NO
1) ;**;[1142] Move label down @ SET3 JNG 16-Feb-79
1) ADDI R,1 ;[1142] NOT THERE - INSERT IN NE
XT FREE SLOT
1) SET3: PUSHJ P,.SAVE4## ;[1142] SAVE P1-P4
1) ;**;[1157] Change @ SET3+1L JNG 13-Apr-79
1) MOVX W1,PT.SGN!PT.SYM!PS.DDT ;[1157] SET FLAGS
****
2)46 SET2: CAMGE R1,RC.NO ;[1132] CHECKED ALL WE'VE SET UP
?
2) AOJA R1,SET1 ;NO
2) ADDI R,1 ;[1142] NOT THERE - INSERT IN NE
XT FREE SLOT
2) SET3: PUSHJ P,.SAVE4## ;[1142] SAVE P1-P4
2) MOVX W1,PT.SGN!PT.SYM!PS.DDT ;[1157] SET FLAGS
**************
1)41 ;**;[1172] Delete @SET3+6L JNG 5-Jun-79
1) ;**;[1155] Replace @ SET3+8L JNG 13-Apr-79
1) PUSHJ P,SETRC## ;[1155] SETUP HIGHSEG RC
BLOCK ETC.
****
2)46 PUSHJ P,SETRC## ;[1155] SETUP HIGHSEG RC
BLOCK ETC.
**************
1)41 ;**;[1163] Insert @ SET3+12L JNG 8-May-79
Digital Equipment Corporation 28-AUG-79 Page 119
PCO Log Report
1) TXZ T1,AT.RP ;[1163] .HIGH. ALWAYS HA
S AN ORIGIN
****
2)46 TXZ T1,AT.RP ;[1163] .HIGH. ALWAYS HA
S AN ORIGIN
**************
1)41 ;**;[1132] Replace @ SET4 JNG 30-Jan-79
1) ;**;[1142] Move label down @ SET4 JNG 16-Feb-79
1) MOVEI T1,1 ;[1142] ALL PSECTS ARE IN THE LC
AREA
****
2)46 MOVEI T1,1 ;[1142] ALL PSECTS ARE IN THE LC
AREA
**************
1)41 ;**;[1132] Insert @ SET4+17L JNG 30-Jan-79
1) CAMLE W3,RC.HL(T1) ;[1132] HIGHEST LOCATION SO FAR?
****
2)46 CAMLE W3,RC.HL(T1) ;[1132] HIGHEST LOCATION SO FAR?
**************
1)41 ;**;[1174] Replace @SETU DZN 3-Jun-79
1) SETUND: MOVEI T1,[ASCIZ /SET:/] ;[1174] SIGNAL UNDEFINED SYMBO
L ERROR
1) PJRST E$$USI ;[1174] ..
1) ;**;[1132] Delete @ SETE JNG 30-Jan-79
1) ;**;[1174] Replace @SETL DZN 3-Jun-79
1) E$$SRB::.ERR. (MS,.EC,V%L,L%W,S%W,SRB,<Attempt to set relocati
on counter >) ;[1174]
1) .ETC. (SBX,.EC!.EP,,,,W2) ;
1) .ETC. (STR,.EC,,,,,< below initial value of >)
****
2)47 SETUND: MOVEI T1,[ASCIZ /SET:/] ;[1174] SIGNAL UNDEFINED SYMBO
L ERROR
2) PJRST E$$USI ;[1174] ..
2) E$$SRB::.ERR. (MS,.EC,V%L,L%W,S%W,SRB,<Attempt to set relocati
on counter >) ;[1174]
2) .ETC. (SBX,.EC!.EP,,,,W2)
2) .ETC. (STR,.EC,,,,,< below initial value of >)
**************
1)41 ;**;[1107] Insert @ .SETEX+8L MCHC 3-Aug-78
1) SUBI T2,RC.INC(T1) ;[1107] GET OLD LENGTH
****
2)47 SUBI T2,RC.INC(T1) ;[1107] GET OLD LENGTH
**************
1)41 ;**;[1107] Delete @ .SETEX+20L MCHC 3-Aug-78
1) PJRST DY.RET## ;RETURN SPACE
1)42 %SEVERITY:
****
2)47 PJRST DY.RET## ;RETURN SPACE
2)48 SUBTTL SWITCH ACTION -- /SEVERITY:n, /START:n
Digital Equipment Corporation 28-AUG-79 Page 120
PCO Log Report
2) %SEVERITY:
**************
1)42 ;**;[1175] Delete @ .START+1L JNG 12-Jun-79
1) %START:
****
2)48 %START:
**************
1)42 ;**;[1175] Replace @ %START+5L JNG 12-Jun-79
1) SETZ T3, ;[1175] ASSUME SYMBOL NAME IS ZE
RO
****
2)48 SETZ T3, ;[1175] ASSUME SYMBOL NAME IS ZE
RO
**************
1)42 ;**;[1175] Move E$$USA to LNKLOD JNG 12-Jun-79
1)43 %SYMSEG:PUSHJ P,STRLSW ;[705] WAIT TIL FILE LOADED
1) .SYMSEG: ;[705]
1) ;**;[1201] Replace @ .SYMSEG+1L JNG 13-Jun-79
1) CAIN T2,$SSGDEFAULT ;[1201] /SYMSEG:DEFAULT?
****
2)49 SUBTTL SWITCH ACTION -- /SYMSEG:name[:name], /SYSORT:key, /UPTO
:n, /VERBOSITY:n
2) %SYMSEG:PUSHJ P,STRLSW ;[705] WAIT TIL FILE LOADED
2) .SYMSEG: ;[705]
2) CAIN T2,$SSGDEFAULT ;[1201] /SYMSEG:DEFAULT?
**************
1)43 ;**;[1176] Replace @ .SYMSEG+3L JNG 12-Jun-79
1) SKIPN OVERLW ;[1176] USER TYPE /OVERLAY?
1) JRST %SYMSG ;[1176] NO, PROCEED
1) ;**;[1201] Change @ .SYMSEG+4L JNG 13-Jun-79
1) CAIE T2,$SSGLOW ;[1201] USER WANT LOW SEGMENT?
****
2)49 SKIPN OVERLW ;[1176] USER TYPE /OVERLAY?
2) JRST %SYMSG ;[1176] NO, PROCEED
2) CAIE T2,$SSGLOW ;[1201] USER WANT LOW SEGMENT?
**************
1)43 ;**;[1174] Replace @.SYMSEG+6L DZN 3-Jun-79
1) E$$OSL::.ERR. (MS,,V%L,L%W,S%W,OSL,<Overlaid program symbols m
ust be in low segment>) ;[1174]
1) ;**;[1201] Change @ %SYMSG+1L JNG 13-Jun-79
1) MOVEI T2,$SSGLOW ;[1201] PUT THEM IN LOW SEG
****
2)49 E$$OSL::.ERR. (MS,,V%L,L%W,S%W,OSL,<Overlaid program symbols m
ust be in low segment>) ;[1174]
2) MOVEI T2,$SSGLOW ;[1201] PUT THEM IN LOW SEG
**************
1)44 ;**;[1174] Revamp @.UNDEFINED+1L DZN 6-Jun-79
1) MOVE T1,[PUSHJ P,UNDNXT] ;[1174] SET UP NEXT SYMBOL R
OUTINE
Digital Equipment Corporation 28-AUG-79 Page 121
PCO Log Report
****
2)50 MOVE T1,[PUSHJ P,UNDNXT] ;[1174] SET UP NEXT SYMBOL R
OUTINE
**************
1)46 %SYSLIBRARY:
****
2)52 SUBTTL SWITCH ACTION -- /SYSLIBRARY, /NOSYSLIBRARY
2) %SYSLIBRARY:
**************
1)47 %USERLIBRARY:
****
2)53 SUBTTL SWITCH ACTION -- /USERLIBRARY:key
2) %USERLIBRARY:
**************
1)48 %NOUSERLIBRARY:
****
2)54 SUBTTL SWITCH ACTION -- /NOUSERLIBRARY
2) %NOUSERLIBRARY:
**************
1)49 SUBTTL /VALUE:SYMBOL
1) ;/VALUE:SYMBOL PRINTS THE VALUE OF THE SYMBOL (IF IT HAS ONE
YET), ALONG WITH
****
2)55 SUBTTL SWITCH ACTION -- /VALUE:sym
2) ;/VALUE:SYMBOL PRINTS THE VALUE OF THE SYMBOL (IF IT HAS ONE
YET), ALONG WITH
**************
1)49 ;**;[1174] Revamp @.VALUE+1L DZN 3-Jun-79
1) MOVX W1,PT.SGN!PT.SYM ;SET FLAGS
****
2)55 MOVX W1,PT.SGN!PT.SYM ;SET FLAGS
**************
1)50 ;**;[1122] Replace @%VERSION DZN 5-Oct-78
1) %VERSION:
1) PUSHJ P,STRLSW ;[1122] WAIT TIL FILE INITED
1) ;**;[1177] Insert @ %VERSION+2L JNG 12-Jun-79
1) .VERSION:
****
2)57 SUBTTL SWITCH ACTION -- /VERSION:ver
2) %VERSION:
2) PUSHJ P,STRLSW ;[1122] WAIT TIL FILE INITED
2) .VERSION:
**************
1)51 SUBTTL OUTPUT DEVICE SWITCHES
1) IFN FTEXE,<
****
2)58 SUBTTL SWITCH ACTION -- /SSAVE, /SAVE
2) IFN FTEXE,<
**************
1)52 %SYFILE:
****
Digital Equipment Corporation 28-AUG-79 Page 122
PCO Log Report
2)59 SUBTTL SWITCH ACTION -- /SYFILE:key
2) %SYFILE:
**************
1)52 $SYMALGOL==+2 ;
1)53 %XPN:
****
2)59 $SYMALGOL==+2
2)60 SUBTTL SWITCH ACTION -- /XPN, /MAP:key
2) %XPN:
**************
1)53 ;**;[1174] Replace @%MAP+5L DZN 3-Jun-79
1) E$$IMA::.ERR. (MS,0,V%L,L%W,S%W,IMA,<Incremental maps not yet
available>) ;[1174]
****
2)60 E$$IMA::.ERR. (MS,0,V%L,L%W,S%W,IMA,<Incremental maps not yet
available>) ;[1174]
**************
1)54 %LOG:
****
2)61 SUBTTL SWITCH ACTION -- /LOG
2) %LOG:
**************
1)54 ;**;[1174] Replace @LOG1 DZN 3-Jun-79
1) LOG1: PUSHJ P,E$$CLF ;[1174] OUTPUT INFO MESSAGE
****
2)61 LOG1: PUSHJ P,E$$CLF ;[1174] OUTPUT INFO MESSAGE
**************
1)54 ;**;[1174] Replace @LOG2+11L DZN 3-Jun-79
1) JUMPL P2,E$$LFC ;[1174] BEEN INITIALIZED ONCE
****
2)61 JUMPL P2,E$$LFC ;[1174] BEEN INITIALIZED ONCE
**************
1)54 ;**;[1174] Replace @LOG2A DZN 3-Jun-79
1) E$$LFC::.ERR. (MS,0,V%L,L%I,S%I,LFC,<Log file continuation>) ;
[1174]
****
2)61 E$$LFC::.ERR. (MS,0,V%L,L%I,S%I,LFC,<Log file continuation>) ;
[1174]
**************
1)55 ;**;[1174] Replace @LOG4+13L DZN 3-Jun-79
1) JUMPL P2,E01LFC ;[1174] BEEN INITIALIZED
****
2)62 JUMPL P2,E01LFC ;[1174] BEEN INITIALIZED
**************
1)55 ;**;[1174] Replace @LOG4B DZN 3-Jun-79
1) E01LFC::.ERR. (MS,0,V%L,L%I,S%I,LFC) ;[1174]
****
2)62 E01LFC::.ERR. (MS,0,V%L,L%I,S%I,LFC) ;[1174]
**************
Digital Equipment Corporation 28-AUG-79 Page 123
PCO Log Report
1)55 ;**;[1174] Replace @LOG99 DZN 3-Jun-79
1) E$$CLF::.ERR. (MS,.EC,V%L,L%I,S%I,CLF,<Closing log file, conti
nuing on file >) ;[1174]
****
2)62 E$$CLF::.ERR. (MS,.EC,V%L,L%I,S%I,CLF,<Closing log file, conti
nuing on file >) ;[1174]
**************
1)56 SUBTTL DEVICE ACTION SWITCHES
1) .BACKSPACE:
****
2)63 SUBTTL SWITCH ACTION -- /BACKSPACE, /REWIND
2) .BACKSPACE:
**************
1)57 .SKIP:
****
2)64 SUBTTL SWITCH ACTION -- /SKIP, /UNLOAD
2) .SKIP:
**************
1)58 .MTAPE:
****
2)65 SUBTTL SWITCH ACTION -- /MTAPE:key
2) .MTAPE:
**************
1)59 %ZERO:
****
2)66 SUBTTL SWITCH ACTION -- /ZERO
2) %ZERO:
**************
1)59 ;**;[1174] Replace @DNSCHK+1L DZN 3-Jun-79
1) JRST E$$DNS ;[1174] NO CHAN# NO DEVICE!
****
2)66 JRST E$$DNS ;[1174] NO CHAN# NO DEVICE!
**************
1)59 ;**;[1174] Replace @DNSCHK+5L DZN 3-Jun-79
1) JRST E$$DNS ;[1174] NO, DON'T ALLOW DSK BY D
EFAULT
****
2)66 JRST E$$DNS ;[1174] NO, DON'T ALLOW DSK BY D
EFAULT
**************
1)59 ;**;[1174] Replace @DNSERR DZN 3-Jun-79
1) E$$DNS::.ERR. (MS,.EC,V%L,L%F,S%F,DNS,<Device not specified fo
r switch />) ;[1174]
****
2)66 E$$DNS::.ERR. (MS,.EC,V%L,L%F,S%F,DNS,<Device not specified fo
r switch />) ;[1174]
**************
1)61 > ;
1) A'TBL:
Digital Equipment Corporation 28-AUG-79 Page 124
PCO Log Report
****
2)68 >
2) A'TBL:
**************
1)61 ;**;[1203] Change @ CHKRSW+1P20L JNG 14-Jun-79
1) KEYTBL <CPU,DEF,HYL,MAP,MPS,SYM,SYS,VER>
****
2)68 KEYTBL <CPU,DEF,HYL,MAP,MPS,SYM,SYS,VER>
**************
1)62 SUBTTL MAP CONTENTS
1) %CONTENT:
****
2)69 SUBTTL SWITCH ACTION -- /CONTENTS:key
2) %CONTENT:
**************
1)63 SUBTTL SET DEFAULT FILE SPECS.
1) ;NOTE: THIS SWITCH MUST BE LAST EXECUTED
****
2)70 SUBTTL SWITCH ACTION -- /DEFAULT
2) ;NOTE: THIS SWITCH MUST BE LAST EXECUTED
**************
1)66 ;**;[1174] Replace @MPSNUMERICAL+1L DZN 3-Jun-79
1) E$$MSN::.ERR. (MS,0,V%L,L%W,S%W,MSN,<Map sorting not yet imple
mented>) ;[1174]
****
2)73 E$$MSN::.ERR. (MS,0,V%L,L%W,S%W,MSN,<Map sorting not yet imple
mented>) ;[1174]
**************
1)66 ;**;[1174] Replace @SYSNUMERICAL+1L DZN 3-Jun-79
1) E$$SSN::.ERR. (MS,0,V%L,L%W,S%W,SSN,<Symbol table sorting not
yet implemented>) ;[1174]
****
2)73 E$$SSN::.ERR. (MS,0,V%L,L%W,S%W,SSN,<Symbol table sorting not
yet implemented>) ;[1174]
**************
1)67 ;ERROR MESSAGES
1) ;**;[1174] Replace @ZSVERR DZN 3-Jun-79
1) E$$ZSV::.ERR. (MS,0,V%L,L%W,S%W,ZSV,<Zero switch value illegal
>) ;[1174]
****
2)74 SUBTTL ERROR MESSAGES
2) E$$ZSV::.ERR. (MS,0,V%L,L%W,S%W,ZSV,<Zero switch value illegal
>) ;[1174]
**************
1)67 WLDLIT:
1) END
****
2)75 SUBTTL THE END
2) WLDLIT: END
Digital Equipment Corporation 28-AUG-79 Page 125
PCO Log Report
**************
Digital Equipment Corporation 28-AUG-79 Page 126
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 0223 23-Jul-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 1325 27-Jul-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 23-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978, 1979
1) ;BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
1) ENTRY LNKXIT
1) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM
1) IFN TOPS20,<SEARCH MACSYM, MONSYM>
1) EXTERN LNKCOR,LNKLOG,LNKFIO
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM
2) IFN TOPS20,<SEARCH MACSYM, MONSYM>
2) SALL
2) ENTRY LNKXIT
2) EXTERN LNKCOR,LNKLOG,LNKFIO
**************
1)1 DECEVR==1216 ;DEC EDIT VERSION
1) VERSION
1) SEGMENT
1) SALL
1) ;LOCAL ACC DEFINITION
****
2)1 DECEVR==1217 ;DEC EDIT VERSION
2) VERSION
2) SEGMENT
2) ;LOCAL ACC DEFINITION
**************
1)7 SUBTTL ENTER HERE
****
2)6 ;1217 Clean up the listings for release.
2)7 SUBTTL ENTER HERE
**************
1)8 HRRZM T1,HL.S1 ;
1) HLRZM T1,HC.S1
1) ;**;[1152] Insert @ LNKX0B+4L JNG 3-Apr-79
1) MOVEI R,1 ;[1152] LOW SEGMENT
****
2)8 HRRZM T1,HL.S1
2) HLRZM T1,HC.S1
2) MOVEI R,1 ;[1152] LOW SEGMENT
**************
1)8 JRST LNKX1 ;
1) ;NOW TO READ BACK FIRST FEW BLOCK
Digital Equipment Corporation 28-AUG-79 Page 127
PCO Log Report
****
2)8 JRST LNKX1
2) ;NOW TO READ BACK FIRST FEW BLOCK
**************
1)9 MOVE T1,LC.AB ;
1) SUB T1,LC.LB ;GET SIZE OF WINDOW
****
2)9 MOVE T1,LC.AB
2) SUB T1,LC.LB ;GET SIZE OF WINDOW
**************
1)10 ;**;[1172] Change @ RDJBDA+7L JNG 5-Jun-79
1) JRST CHKRST ;[1172] NOW GO DO RUNTIME SYMBOL
TABLE
****
2)10 JRST CHKRST ;[1172] NOW GO DO RUNTIME SYMBOL
TABLE
**************
1)12 ;**;[1172] Replace @ BLTJBL+1P JNG 5-Jun-79
1) SUBTTL RUNTIME SYMBOL TABLE GENERATION
****
2)12 SUBTTL RUNTIME SYMBOL TABLE GENERATION
**************
1)12 ;**;[1202] Insert @ CHKRST+3L JNG 14-Jun-79
1) SKIPN T2,VERNUM ;[1202] /VERSION? (CHECK NOW FOR
OLDSYM)
****
2)12 SKIPN T2,VERNUM ;[1202] /VERSION? (CHECK NOW FOR
OLDSYM)
**************
1)12 ;HERE TO GENERATE A RUNTIME SYMBOL TABLE.
****
2)12 ; ..
2)13 ; ..
2) ;HERE TO GENERATE A RUNTIME SYMBOL TABLE.
**************
1)16 ;**;[1172] Insert @ GETS4+9L JNG 5-Jun-79
1) MOVE T2,RC.NM(T1) ;[1172] GET THE WINNER'S NAME
****
2)17 MOVE T2,RC.NM(T1) ;[1172] GET THE WINNER'S NAME
**************
1)16 ;**;[1172] Delete @ GETS6+3L JNG 5-Jun-79
1) JRST GETS14 ;[1132] GO UPDATE THAT PSECT
****
2)17 JRST GETS14 ;[1132] GO UPDATE THAT PSECT
**************
1)18 ;**;[1172] Replace @ GETS14 JNG 5-Jun-79
1) ;HERE WITH THE PSECT INDEX TO USE IN R, AND ITS NAME IN SSGNAM.
****
2)19 ;HERE WITH THE PSECT INDEX TO USE IN R, AND ITS NAME IN SSGNAM.
Digital Equipment Corporation 28-AUG-79 Page 128
PCO Log Report
**************
1)20 ;**;[1172] Move down and change as indicated @ UDF0 JNG
5-Jun-79
1) ;HERE TO WRITE THE UNDEFINED SYMBOL TABLE. THE TABLE IS GENERAT
ED
****
2)21 ;HERE TO WRITE THE UNDEFINED SYMBOL TABLE. THE TABLE IS GENERAT
ED
**************
1)20 ;**;[1172] Replace @ UDF0 JNG 5-Jun-79
1) DOUDFS: MOVE T1,TAB.PT(R) ;[1172] LINK'S ADDRESS OF NEXT W
ORD
****
2)21 DOUDFS: MOVE T1,TAB.PT(R) ;[1172] LINK'S ADDRESS OF NEXT W
ORD
**************
1)20 ;**;[1172] Replace @ UDFTRY+7L JNG 5-Jun-79
1) PUSHJ P,SYMOUT ;[1172] STORE W2/W3 IN IMAGE
****
2)21 PUSHJ P,SYMOUT ;[1172] STORE W2/W3 IN IMAGE
**************
1)21 ;**;[1172] Replace @ UDFGB+6L JNG 5-Jun-79
1) MOVE T1,.L+2(T1) ;[1172] GET VALUE
****
2)22 MOVE T1,.L+2(T1) ;[1172] GET VALUE
**************
1)21 ;**;[1160] Replace @ UDFGB1+3L JNG 14-Apr-79
1) TXNE W1,FP.SYM ;[1160] FIXUP BASED ON UNDEFINED
SYMBOL?
****
2)22 TXNE W1,FP.SYM ;[1160] FIXUP BASED ON UNDEFINED
SYMBOL?
**************
1)21 ;**;[1172] Replace @ UDFGB1+13L JNG 5-Jun-79
1) PUSHJ P,SYMOUT ;[1172] WRITE W2/W3 INTO THE IMA
GE
****
2)22 PUSHJ P,SYMOUT ;[1172] WRITE W2/W3 INTO THE IMA
GE
**************
1)23 ;**;[1172] Move down and change as indicated JNG 5-Jun-79
1) GSDLT:
****
2)24 GSDLT:
**************
1)23 ;**;[773] Insert @ GSDLT+14L JNG 30-Apr-78
1) SKIPN GS.LB ;[773] GS AREA ALREADY GONE?
****
2)24 SKIPN GS.LB ;[773] GS AREA ALREADY GONE?
Digital Equipment Corporation 28-AUG-79 Page 129
PCO Log Report
**************
1)23 ;**;[773] Add label @ GSDLT+18L JNG 30-Sep-78
1) GSDLT1: MOVEM T2,TAB.UB(T1) ;[773] RESET HIGHEST FREE LOC AG
AIN
****
2)24 GSDLT1: MOVEM T2,TAB.UB(T1) ;[773] RESET HIGHEST FREE LOC AG
AIN
**************
1)23 ;**;[1113] Change @GSNRED DZN 25-Aug-78
1) > ;END OF IFE TOPS20
1) GSNRED: PUSHJ P,GS.ZAP ;GET RID OF GS
1) ;**;[1172] Replace @ GSNRED+1L JNG 5-Jun-79
1) POPJ P, ;[1172] END OF GSDLT
****
2)24 > ;END OF IFE TOPS20
2) GSNRED: PUSHJ P,GS.ZAP ;GET RID OF GS
2) POPJ P, ;[1172] END OF GSDLT
**************
1)25 ;**;[1172] Move up and change as indicated @ SYMINI JNG
5-Jun-79
1) SYMINI: SKIPL UW.LS ;[1172] IF -1 THEN SYMBOL TABLE
NOT OUTPUT YET
****
2)26 SYMINI: SKIPL UW.LS ;[1172] IF -1 THEN SYMBOL TABLE
NOT OUTPUT YET
**************
1)25 ;**;[1172] Replace @ RDSYM JNG 5-Jun-79
1) RDSYM: PUSHJ P,FR.CNT## ;[1172] SEE HOW MUCH IS FREE
****
2)26 RDSYM: PUSHJ P,FR.CNT## ;[1172] SEE HOW MUCH IS FREE
**************
1)28 ;**;[1172] Insert @ LSLOOP+5L JNG 5-Jun-79
1) SKIPE SYMFUL ;[1172] SKIPPING FOR LAST MODULE
NAME?
****
2)29 SKIPE SYMFUL ;[1172] SKIPPING FOR LAST MODULE
NAME?
**************
1)28 ;**;[1172] Replace @ LSLUP1+1L JNG 5-Jun-79
1) JRST [SETZM SYMDEW ;[1172] GO INTO FIND MODULE NAME
MODE
****
2)29 JRST [SETZM SYMDEW ;[1172] GO INTO FIND MODULE NAME
MODE
**************
1)29 ;**;[1172] Move up and change as indicated JNG 5-Jun-79
1) LTITLE: TXNE W1,PT.PSC ;[1132] JUST A PSECT DEFINITION?
****
2)30 LTITLE: TXNE W1,PT.PSC ;[1132] JUST A PSECT DEFINITION?
Digital Equipment Corporation 28-AUG-79 Page 130
PCO Log Report
**************
1)29 ;**;[1172] Replace @ TTLLUP+9L JNG 5-Jun-79
1) JRST [SETZM SYMDEW ;[1172] USE THE RESERVE TO STORE
THIS TITLE
****
2)30 JRST [SETZM SYMDEW ;[1172] USE THE RESERVE TO STORE
THIS TITLE
**************
1)30 ;**;[1172] Delete @ GETSYM+6L JNG 5-Jun-79
1) JRST CPOPJ1 ;SKIP RETURN
****
2)31 JRST CPOPJ1 ;SKIP RETURN
**************
1)31 ;**;[1172] Replace @ PAGSYM+3L JNG 5-Jun-79
1) HRLZ T1,LS.LB ;[1172] MOVE FIRST BLOCK OF SYMB
OLS
****
2)32 HRLZ T1,LS.LB ;[1172] MOVE FIRST BLOCK OF SYMB
OLS
**************
1)33 ;**;[1172] Move up @ SXBR50 JNG 5-Jun-79
1) ;SXBR50 -- SUBROUTINE TO CONVERT SIXBIT TO RADIX-50
****
2)34 ;SXBR50 -- SUBROUTINE TO CONVERT SIXBIT TO RADIX-50
**************
1)34 ;**;[1172] Replace @ SYMOUT JNG 5-Jun-79
1) SYMOUT: MOVE T1,TAB.PT(R) ;[1172] ADDRESS TO STORE INTO NE
XT
****
2)35 SYMOUT: MOVE T1,TAB.PT(R) ;[1172] ADDRESS TO STORE INTO NE
XT
**************
1)34 ;**;[1172] Replace @ SYMOE1-1L JNG 5-Jun-79
1) POPJ P, ;[1172] ERROR RETURN
****
2)35 POPJ P, ;[1172] ERROR RETURN
**************
1)35 ;**;[1216] Insert @ SYMOU2+3L JNG 23-Jul-79
1) SPUSH <P1,P2> ;[1216] PRESERVE OVER LNKCOR
****
2)36 SPUSH <P1,P2> ;[1216] PRESERVE OVER LNKCOR
**************
1)35 ;**;[1216] Insert @ SYMOU2+7L JNG 23-Jul-79
1) SPOP <P2,P1> ;[1216] RESTORE SACRED COWS
****
2)36 SPOP <P2,P1> ;[1216] RESTORE SACRED COWS
**************
1)35 ;**;[1172] Delete @ SYMOU2-3L JNG 5-Jun-79
1)36 ;**;[1172] Move up OLDSYM, SAVSYM, WRTSYM, JOBSET, and HJBSET
JNG 5-Jun-79
1) ;HERE FOR OLD FORM SYMBOLS (RADIX-50)
Digital Equipment Corporation 28-AUG-79 Page 131
PCO Log Report
****
2)37 ;HERE FOR OLD FORM SYMBOLS (RADIX-50)
**************
1)40 ;**;[1144] Replace @JOBST0+3L DZN 16-Feb-79
1) ; ..
****
2)41 ; ..
**************
1)44 ;**;[1172] Replace @ CHKPAG+6L JNG 5-Jun-79
1) POPJ P, ;[1172] DONE
****
2)45 POPJ P, ;[1172] DONE
**************
1)44 AS.ZAP: MOVEI T1,AS.IX ;
1) PJRST XX.ZAP## ;
1)45 ;**;[1172] Delete and move up @ SYMINI JNG 5-Jun-79
1) ;**;[1146] Move 5 pages starting at JBSAVE down where indicated
1) ;**;[1146] below. Then insert this code before JOBSET-3L
1) ;**;[1146] DZN 8-Mar-79
1) SUBTTL DECIDE TO LOAD OR SAVE
****
2)45 AS.ZAP: MOVEI T1,AS.IX
2) PJRST XX.ZAP##
2)46 SUBTTL DECIDE TO LOAD OR SAVE
**************
1)45 ;**;[1172] Delete @ SAVTST JNG 5-Jun-79
1) SAVTST: SKIPE IO.PTR+%VC ;[1146] SAVE FILE REQUIRED?
****
2)46 SAVTST: SKIPE IO.PTR+%VC ;[1146] SAVE FILE REQUIRED?
**************
1)45 ;**;[1170] Change @ SAVTST+9L JNG 23-May-79
1) SKIPE LL.S2 ;[1170] HITS HIGH SEG (IF ANY)
WHICH CHECKS
****
2)46 SKIPE LL.S2 ;[1170] HITS HIGH SEG (IF ANY)
WHICH CHECKS
**************
1)46 ;**;[1171] Replace @ SAVTS1+1L JNG 30-May-79
1) MOVE T2,RC.AT(W2) ;[1171] GET THIS PSECT'S ATTRIBU
TES
****
2)47 MOVE T2,RC.AT(W2) ;[1171] GET THIS PSECT'S ATTRIBU
TES
**************
1)46 ;**;[1171] Change @ SAVTS2 JNG 30-May-79
1) SAVTS5: MOVE T1,RC.HL(W2) ;[1171] SO FAR SO GOOD--ADVANCE
TO NEXT PSECT
****
2)47 SAVTS5: MOVE T1,RC.HL(W2) ;[1171] SO FAR SO GOOD--ADVANCE
Digital Equipment Corporation 28-AUG-79 Page 132
PCO Log Report
TO NEXT PSECT
**************
1)47 ;**;[1170] Change @ SAVTS3+1P7L JNG 23-May-79
1) SKIPE LL.S2 ;[1170] HIGH SEG EXISTS
****
2)48 SKIPE LL.S2 ;[1170] HIGH SEG EXISTS
**************
1)47 ;**;[1170] Replace @SAVTS3+1P11L DZN 18-May-79
1) ADD T1,HC.S2 ;[1170] ADD LENGTH OF HIGH SEGME
NT
****
2)48 ADD T1,HC.S2 ;[1170] ADD LENGTH OF HIGH SEGME
NT
**************
1)48 ;**;[1172] Move up JOBSET and HJBSET JNG 5-Jun-79
1) ;**;[1146] Insert before LC.DLT-5L DZN 8-Mar-79
1) SUBTTL FORCE nnnLNK/SAVE
****
2)49 SUBTTL FORCE nnnLNK/SAVE
**************
1)49 ;**;[1174] Replace @JBCMPX+21L DZN 3-Jun-79
1) JRST E$$PCX ;[1174] YES--LNKPCX
****
2)50 JRST E$$PCX ;[1174] YES--LNKPCX
**************
1)50 ;**;[1146] Place 5 pages here from JBSAVE above. Then make minor
1) ;**;[1146] changes as noted. DZN 8-Mar-79
1) SUBTTL GENERATE .EXE (OR .XPN/.SHR/.HGH/.LOW) FILE
****
2)51 SUBTTL GENERATE .EXE (OR .XPN/.SHR/.HGH/.LOW) FILE
**************
1)50 ;**;[1174] Replace @JBSAVE DZN 3-Jun-79
1) JBSAVE: ;[1174] WRITE A SAVED FILE
1) E$$CSF::.ERR. (MS,0,V%L,L%I,S%I,CSF,<Creating saved file>) ;[1
174]
1) ;**;[1146] Delete @JBSAVE+1L DZN 8-Mar-79
1) IFE FTEXE,<
****
2)51 JBSAVE: ;[1174] WRITE A SAVED FILE
2) E$$CSF::.ERR. (MS,0,V%L,L%I,S%I,CSF,<Creating saved file>) ;[1
174]
2) IFE FTEXE,<
**************
1)50 ;**;[1146] Delete @JBSAVE+13L DZN 8-Mar-79
1) HLRZ T1,.JBSA(P1) ;ALSO SETUP RIGHT HALF OF .JBCOR
****
2)51 HLRZ T1,.JBSA(P1) ;ALSO SETUP RIGHT HALF OF .JBCOR
**************
1)50 ;**;[1132] Insert @ JBSAVE+23L JNG 30-Jan-79
Digital Equipment Corporation 28-AUG-79 Page 133
PCO Log Report
1) SKIPL SYMSEG ;[1132] SYMBOLS IN A PSECT?
****
2)51 SKIPL SYMSEG ;[1132] SYMBOLS IN A PSECT?
**************
1)50 ;**;[1146] Delete @JBSAVX+5L DZN 8-Mar-79
1) SKIPN PAG.S2 ;PAGING HIGH SEG?
****
2)51 SKIPN PAG.S2 ;PAGING HIGH SEG?
**************
1)51 ;**;[1174] Replace @JBSHGN+7L DZN 3-Jun-79
1) E$$SOE::PUSH P,[DC] ;[1174]
****
2)52 E$$SOE::PUSH P,[DC] ;[1174]
**************
1)57 ;**;[1174] Replace @WRTXPN+9L DZN 3-Jun-79
1) PUSHJ P,E$$OEX ;[1174]
****
2)58 PUSHJ P,E$$OEX ;[1174]
**************
1)57 ;**;[1174] Replace @XPNERR DZN 3-Jun-79
1) E$$OEX::PUSH P,[LC] ;[1174]
****
2)58 E$$OEX::PUSH P,[LC] ;[1174]
**************
1)58 ;**;[1132] Insert @ JBEXEN+3L JNG 30-Jan-79
1)59 IFN FTOVERLAY,<
****
2)60 IFN FTOVERLAY,<
**************
1)61 ;**;[1147] Replace @ JBEXEN+10L JNG 12-Mar-79
1) ;**;[1147] This is JBEXEE+1P9L if edit 1132 has been installed.
1) SUB T1,LW.S1 ;[1147] NO, FIND HOW FAR
TO SHRINK
****
2)62 SUB T1,LW.S1 ;[1147] NO, FIND HOW FAR
TO SHRINK
**************
1)61 ADDI T1,1 ;
1) MOVEM T1,LC.LB ;BACKUP IF WE CAN
****
2)62 ADDI T1,1
2) MOVEM T1,LC.LB ;BACKUP IF WE CAN
**************
1)63 ;**;[1132] Change @ EXEINI+18L JNG 30-Jan-79
1) ADDI T2,7 ;[1132] 1 FOR REM, 4 FOR EXE DIR
, 2 FOR RIBS
****
2)64 ADDI T2,7 ;[1132] 1 FOR REM, 4 FOR EXE DIR
, 2 FOR RIBS
Digital Equipment Corporation 28-AUG-79 Page 134
PCO Log Report
**************
1)63 ;**;[1174] Replace @EXEINI+27L DZN 3-Jun-79
1) JRST E$$ECE ;[1174] CAN'T
****
2)64 JRST E$$ECE ;[1174] CAN'T
**************
1)64 ;**;[1132] Revamp @ XCMPRS JNG 30-Jan-79
1) XCMPRS: SETZ R, ;[1132] START WITH .ABS.
****
2)65 XCMPRS: SETZ R, ;[1132] START WITH .ABS.
**************
1)65 ;**;[1132] Replace XCMPRJ routine JNG 30-Jan-79
1) ;**;[1132] This supercedes edit 776 if installed.
1) HRLOI W2,-.JBDA-1 ;[1132] FORM IOWD TO JOBDAT
****
2)66 HRLOI W2,-.JBDA-1 ;[1132] FORM IOWD TO JOBDAT
**************
1)65 ;**;[1174] Replace @ DZN 3-Jun-79
1) PUSHJ P,E$$EOE ;[1174] I/O ERROR
****
2)66 PUSHJ P,E$$EOE ;[1174] I/O ERROR
**************
1)65 ;**;[1174] Insert after **somewhere**+1P18L DZN 3-Jun-79
1) E$$ECE::PUSH P,[DC] ;[1174] GIVE OFFENDING CHANNEL T
O LNKLOG
****
2)66 E$$ECE::PUSH P,[DC] ;[1174] GIVE OFFENDING CHANNEL T
O LNKLOG
**************
1)67 ;**;[1174] Replace @XCMNWZ+8L DZN 3-Jun-79
1) JRST E$$EOE ;[1174] I/O ERROR
****
2)68 JRST E$$EOE ;[1174] I/O ERROR
**************
1)68 ;**;[1174] Replace @XCMADV+3L DZN 3-Jun-79
1) JRST E$$EOE ;[1174] I/O ERROR
****
2)69 JRST E$$EOE ;[1174] I/O ERROR
**************
1)68 ;**;[1172] Insert @ XCMADV+21L JNG 5-Jun-79
1) ADDI T1,1 ;[1172] SUBTRACTED ONE TOO MUCH,
HC IS FF FORMAT
****
2)69 ADDI T1,1 ;[1172] SUBTRACTED ONE TOO MUCH,
HC IS FF FORMAT
**************
1)72 ;**;[1132] Change @ XCMPRD+2L JNG 30-Jan-79
1) TXNN P4,ZEROF ;[1132] ZERO PAGE? (FLAGS ALREAD
Y CHANGED)
Digital Equipment Corporation 28-AUG-79 Page 135
PCO Log Report
****
2)73 TXNN P4,ZEROF ;[1132] ZERO PAGE? (FLAGS ALREAD
Y CHANGED)
**************
1)73 ;**;[1132] Move up from below and revamp JNG 30-Jan-7
9
1) XCMPXD: AOBJN W1,CPOPJ ;ALLOCATE IF ENOUGH ROOM
****
2)74 XCMPXD: AOBJN W1,CPOPJ ;ALLOCATE IF ENOUGH ROOM
**************
1)73 ;**;[1174] Replace @XCMPXD+13L DZN 3-Jun-79
1) JRST E$$EOE ;[1174] IO ERROR
****
2)74 JRST E$$EOE ;[1174] IO ERROR
**************
1)73 ;**;[1174] Replace @XCMPXE+3L DZN 3-Jun-79
1) JRST E$$EOE ;[1174] FAILED
****
2)74 JRST E$$EOE ;[1174] FAILED
**************
1)73 ;**;[1174] Replace @XCMPXF+8L DZN 3-Jun-79
1) JRST E$$EOE ;[1174] I/O ERROR
****
2)74 JRST E$$EOE ;[1174] I/O ERROR
**************
1)74 ;**;[1174] Replace @XCMPXG+5L DZN 3-Jun-79
1) JRST E$$EOE ;[1174] ERROR
****
2)75 JRST E$$EOE ;[1174] ERROR
**************
1)76 ;**;[1174] Replace @XOVDMP+9L DZN 3-Jun-79
1) JRST E$$EOE ;[1174] I/O ERROR
****
2)77 JRST E$$EOE ;[1174] I/O ERROR
**************
1)77 ;**;[1214] Insert after XOVNWD+10L DZN 9-Jul-79
1) >;[1214] END IFN FTOVERLAY
****
2)78 >;[1214] END IFN FTOVERLAY
**************
1)78 ;**;[1132] Insert @ XCMPRX JNG 30-Jan-79
1) XCMPRX: SKIPE PAG.S1 ;[1132] STILL GOT AN LC TEMP FIL
E?
****
2)79 XCMPRX: SKIPE PAG.S1 ;[1132] STILL GOT AN LC TEMP FIL
E?
**************
1)78 MOVEI W1,(W1) ;
1) SUB W1,EXEDIR ;GET LENGTH
****
2)79 MOVEI W1,(W1)
Digital Equipment Corporation 28-AUG-79 Page 136
PCO Log Report
2) SUB W1,EXEDIR ;GET LENGTH
**************
1)79 HRRZ T1,EXEDIR ;
1) SUBI T1,1 ;
1) HRLI T1,-1000 ;IOWD
1) SETZ T2, ;
1) OUT DC,T1 ;WRITE IT
1) CAIA ;OK
1) ;**;[1174] Replace @**somewhere**+7L DZN 3-Jun-79
1) JRST E$$EOE ;[1174] ERROR
****
2)80 HRRZ T1,EXEDIR
2) SUBI T1,1
2) HRLI T1,-1000 ;IOWD
2) SETZ T2,
2) OUT DC,T1 ;WRITE IT
2) CAIA ;OK
2) JRST E$$EOE ;[1174] ERROR
**************
1)79 OUT DC,T1 ;
1) JRST .+1 ;OK
1) ;**;[1174] Replace @**somewhere**+1P18L DZN 3-Jun-79
1) JRST E$$EOE] ;[1174] ERROR
****
2)80 OUT DC,T1
2) JRST .+1 ;OK
2) JRST E$$EOE] ;[1174] ERROR
**************
1)79 ;**;[1174] Replace @XCMPER DZN 3-Jun-79
1) E$$EOE::PUSH P,[DC] ;[1174]
****
2)80 E$$EOE::PUSH P,[DC] ;[1174]
**************
1)82 ;**;[1212] Replace @ZCMP6A+19L DZN 4-Jul-79
1) JRST E$$SOE ;[1212] NO
****
2)83 JRST E$$SOE ;[1212] NO
**************
1)83 ;**;[1174] Replace @ZCMPR7+10L DZN 3-Jun-79
1) JRST E$$SOE ;[1174] PRINT ERROR AND DIE
****
2)84 JRST E$$SOE ;[1174] PRINT ERROR AND DIE
**************
1)85 ;**;[1174] Replace @ENDCMP+16L DZN 3-Jun-79
1) JRST E01FRE ;[1174] REPORT RENAME ERROR
****
2)86 JRST E01FRE ;[1174] REPORT RENAME ERROR
**************
1)85 ;**;[1144] Replace @ENDCMP+19L DZN 16-Feb-79
Digital Equipment Corporation 28-AUG-79 Page 137
PCO Log Report
1) JRST ENDSAV ;[1144] NO, RUN PROGRAM OR EXIT
1) ;HERE ON A RENAME ERROR FOR THE OVERLAY FILE
1) ;**;[1174] Replace @OVRENE DZN 3-Jun-79
1) E01FRE::PUSH P,[%OC] ;[1174] SET UP CORRECT CHANNEL
****
2)86 JRST ENDSAV ;[1144] NO, RUN PROGRAM OR EXIT
2) ;HERE ON A RENAME ERROR FOR THE OVERLAY FILE
2) E01FRE::PUSH P,[%OC] ;[1174] SET UP CORRECT CHANNEL
**************
1)85 ;**;[1144] Replace @ENDSAV+2L DZN 16-Feb-79
1) JRST RUNEXE ;[1144] YES, RUN THE .EXE FILE
****
2)86 JRST RUNEXE ;[1144] YES, RUN THE .EXE FILE
**************
1)88 ;**;[1144] Revamp @RUNUUO DZN 16-Feb-79
1) RUNEXE: SKIPE STADDR ;[1144] INFORM USER IF NO START
ADDRESS
****
2)89 RUNEXE: SKIPE STADDR ;[1144] INFORM USER IF NO START
ADDRESS
**************
1)88 ;**;[1174] Replace @RUNEXE+3L DZN 3-Jun-79
1) E$$NSA::.ERR. (MS,0,V%L,L%F,S%I,NSA,<No start address>) ;[1174
]
****
2)89 E$$NSA::.ERR. (MS,0,V%L,L%F,S%I,NSA,<No start address>) ;[1174
]
**************
1)88 ;**;[1174] Replace @RUNDLT DZN 3-Jun-79
1) E$$DLT::.ERR. (MS,0,V%L,L%F,S%W,DLT,<Execution deleted>) ;[117
4]
****
2)89 E$$DLT::.ERR. (MS,0,V%L,L%F,S%W,DLT,<Execution deleted>) ;[117
4]
**************
1)89 ;**;[1202] Replace @ RUNEX2+19L JNG 14-Jun-79
1) ERJMP E$$GFE ;[1202] GETJFN FAILED FOR EXE FI
LE
****
2)90 ERJMP E$$GFE ;[1202] GETJFN FAILED FOR EXE FI
LE
**************
1)90 ;**;[1174] Replace @GFEERR DZN 3-Jun-79
1) E$$GFE::.ERR. (MS,.EC,V%L,L%F,S%F,GFE,<GTJFN% JSYS failed for
file >) ;[1174]
****
2)91 E$$GFE::.ERR. (MS,.EC,V%L,L%F,S%F,GFE,<GTJFN% JSYS failed for
file >) ;[1174]
**************
Digital Equipment Corporation 28-AUG-79 Page 138
PCO Log Report
1)93 ;**;[1174] Replace @TERMES DZN 3-Jun-79
1) TERMES:
1) E$$FIN::.ERR. (MS,0,V%L,L%I,S%I,FIN,<LINK finished>) ;[1174]
1) ;**;[1202] Insert @ E$$FIN+1L JNG 14-Jun-79
1) SKIPN IO.PTR+RC ;[1202] A REAL LOG FILE?
****
2)94 TERMES:
2) E$$FIN::.ERR. (MS,0,V%L,L%I,S%I,FIN,<LINK finished>) ;[1174]
2) SKIPN IO.PTR+RC ;[1202] A REAL LOG FILE?
**************
1)93 ;**;[1174] Replace @TERMES+13L DZN 3-Jun-79
1) E02FRE::PUSH P,[%RC] ;[1174] CHANNEL FOR ERROR
1) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;[616] SEND THE MESSAGE
1) ;**;[1144] Insert after FINMES+1L DZN 16-Feb-79
1) ;EXEMES GIVES THE PROGRAM EXECUTION MESSAGE. THIS INCLUDES THE N
AME OF THE
****
2)94 E02FRE::PUSH P,[%RC] ;[1174] CHANNEL FOR ERROR
2) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;[616] SEND THE MESSAGE
2) ;EXEMES GIVES THE PROGRAM EXECUTION MESSAGE. THIS INCLUDES THE N
AME OF THE
**************
1)93 ;**;[1174] Replace @EXEMES+4L DZN 3-Jun-79
1) E$$XCT::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,XCT) ;[1174]
****
2)94 E$$XCT::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,XCT) ;[1174]
**************
1)93 ;**;[1174] Replace @EXEME1+1L DZN 3-Jun-79
1) E$$DEB::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,DEB) ;[1174]
****
2)94 E$$DEB::.ERR. (MS,.EC!.EN,V%L,L%F,S%I,DEB) ;[1174]
**************
1)94 ;**;[1174] Replace @DVMOV.+12L DZN 3-Jun-79
1) E03FRE::PUSH P,IO.CHN ;[1174] SAVE CHANNEL FOR LNKLOG
1) .ERR. (LRE,,V%L,L%F,S%F,FRE) ;
1) ;HERE WHEN CANNOT RENAME THE FILE. MUST DO THE COPY.
****
2)95 E03FRE::PUSH P,IO.CHN ;[1174] SAVE CHANNEL FOR LNKLOG
2) .ERR. (LRE,,V%L,L%F,S%F,FRE)
2) ;HERE WHEN CANNOT RENAME THE FILE. MUST DO THE COPY.
**************
1)94 ;**;[1174] Replace @DVCOPY+5L DZN 30-May-79
1) JRST E01FLE## ;[1174] ???
****
2)95 JRST E01FLE## ;[1174] ???
**************
1)95 ;**;[1174] Replace @DVMOV1+5L DZN 3-Jun-79
1) JRST E$$EOI ;[1174] ERROR, GIVE UP
****
Digital Equipment Corporation 28-AUG-79 Page 139
PCO Log Report
2)96 JRST E$$EOI ;[1174] ERROR, GIVE UP
**************
1)95 ;**;[1174] Replace @DVMOV1+13L DZN 3-Jun-79
1) JRST E$$EOO ;[1174]OH WELL, GIVE ERROR
****
2)96 JRST E$$EOO ;[1174]OH WELL, GIVE ERROR
**************
1)96 ;**;[1174] Replace @DVMOV4 DZN 3-Jun-79
1) E$$EOO::PUSH P,[TC] ;[1174] TELL WHICH CHANNEL HAD T
HE ERROR
1) .ERR. (ST,,V%L,L%F,S%F,EOO,<Error on output>) ;
1) E$$EOI::;PUSH P,IO.CHN ;[1174] CHANNEL ALREADY ON STACK
1) .ERR. (ST,,V%L,L%F,S%F,EOI,<Error on input>) ;
1)97 ;HERE TO GET PROTECTION CODE RIGHT
****
2)97 E$$EOO::PUSH P,[TC] ;[1174] TELL WHICH CHANNEL HAD T
HE ERROR
2) .ERR. (ST,,V%L,L%F,S%F,EOO,<Error on output>)
2) E$$EOI::;PUSH P,IO.CHN ;[1174] CHANNEL ALREADY ON STACK
2) .ERR. (ST,,V%L,L%F,S%F,EOI,<Error on input>)
2)98 ;HERE TO GET PROTECTION CODE RIGHT
**************
1)98 ;**;[1146] Delete entire page @JBNC and down through JBEXIT+4L
1) ;**;[1146] on next page. Move JBEXIT+5L through the end of the p
age
1) ;**;[1146] down where indicated below. Delete entire page @JBCC.
1) ;**;[1146] Then replace @JBGC-6L DZN 8-Mar-79
1) SUBTTL LOAD PROGRAM INTO MEMORY
****
2)99 SUBTTL LOAD PROGRAM INTO MEMORY
**************
1)99 ;**;[1172] Delete @ JBLOAD JNG 5-Jun-79
1) JBLOAD: DMOVE P1,LC.LB ;SAVE THE CURRENT LOCATIONS
****
2)99 JBLOAD: DMOVE P1,LC.LB ;SAVE THE CURRENT LOCATIONS
**************
1)99 ;**;[1147] Insert @ JBGC+3L JNG 12-Mar-79
1) ;**;[1147] This is JBLOAD+3L if edit 1146 has been installed.
1) MOVEM T1,DY.UB ;[1147] MAKE SURE UB IS UP TO DA
TE
****
2)99 MOVEM T1,DY.UB ;[1147] MAKE SURE UB IS UP TO DA
TE
**************
1)99 ;**;[1146] Insert before JBGC+6L DZN 8-Mar-79
1) SUBI T1,1 ;[1146] LB + LENGTH - 1 FOR LAST
NEEDED
****
2)99 SUBI T1,1 ;[1146] LB + LENGTH - 1 FOR LAST
Digital Equipment Corporation 28-AUG-79 Page 140
PCO Log Report
NEEDED
**************
1)99 ;**;[1170] Change @ JBLOAD+12L JNG 23-May-79
1) JUMPE P2,JBGCL ;[1170] GO MOVE IF NO HI SEG
****
2)99 JUMPE P2,JBGCL ;[1170] GO MOVE IF NO HI SEG
**************
1)99 ;**;[1146] Insert before JBGC+16L DZN 8-Mar-79
1) SUBI T1,1 ;[1146] LB + LENGTH - 1 FOR LAST
NEEDED
****
2)99 SUBI T1,1 ;[1146] LB + LENGTH - 1 FOR LAST
NEEDED
**************
1)100 ;**;[1170] Replace @ JBGC1 JNG 23-May-79
1) MOVEI R,LC.IX ;[1170] POINT TO LOW SEG FOR JBC
GM
****
2)100 MOVEI R,LC.IX ;[1170] POINT TO LOW SEG FOR JBC
GM
**************
1)100 ;**;[1170] Insert @ JBGCL+3L JNG 23-May-79
1) SKIPN T1,HC.UB ;[1170] GET LAST LOCATION USED
****
2)100 SKIPN T1,HC.UB ;[1170] GET LAST LOCATION USED
**************
1)100 ;**;[1170] Change @ JBGCZ+5L JNG 23-May-79
1) SETZM -1(T1) ;[1170] CLEAR FIRST WORD
****
2)100 SETZM -1(T1) ;[1170] CLEAR FIRST WORD
**************
1)100 ;**;[1146] Replace @JBGCZ1+1L DZN 8-Mar-79
1) JRST JBEXIT ;[1146] PROGRAM NOW ALL IN MEMOR
Y
1)101 ;**;[1170] Delete @ JBGHCU JNG 23-May-79
1) ;**;[1146] (Swapped as noted above). Make minor changes below.
1) ;**;[1146] DZN 8-Mar-79
1) ;HERE TO MOVE CODE FOR EITHER SEG AND READ IN DATA
1) ;**;[1146] Insert before JBCHMV DZN 8-Mar-79
1) P0==P1-1 ;[1146] USED FOR REFERENCING P1
OR P2 VIA R
****
2)100 JRST JBEXIT ;[1146] PROGRAM NOW ALL IN MEMOR
Y
2)101 ;HERE TO MOVE CODE FOR EITHER SEG AND READ IN DATA
2) P0==P1-1 ;[1146] USED FOR REFERENCING P1
OR P2 VIA R
**************
1)101 ;**;[1170] Replace @ JBGCMV+3L JNG 23-May-79
1) PUSHJ P,JBGCM ;[1170] MOVE THE AREA, UP OR DOW
N
Digital Equipment Corporation 28-AUG-79 Page 141
PCO Log Report
****
2)101 PUSHJ P,JBGCM ;[1170] MOVE THE AREA, UP OR DOW
N
**************
1)101 ;**;[1170] Replace @ JBGCMV+17L JNG 23-May-79
1) POPJ P, ;[1170] ALL DONE
****
2)101 POPJ P, ;[1170] ALL DONE
**************
1)101 ;**;[1170] Replace @ JBGCMV+19L JNG 23-May-79
1) PJRST @[EXP LC.IN##,HC.IN##]-1(R) ;[1170] READ IT
IN AND RETURN
1)102 ;**;[1170] Revamp @ JBGCU JNG 23-May-79
1) ;SUBROUTINE TO MOVE AN AREA TO ITS FINAL RESTING PLACE.
****
2)101 PJRST @[EXP LC.IN##,HC.IN##]-1(R) ;[1170] READ IT
IN AND RETURN
2)102 ;SUBROUTINE TO MOVE AN AREA TO ITS FINAL RESTING PLACE.
**************
1)104 ;**;[1146] Place saved code from JBEXIT here, then make minor ch
anges
1) ;**;[1146] as indicated. DZN 8-Mar-79
1) SUBTTL HERE TO BLT DOWN AREA AND EITHER GO TO EXECUTION OR EXIT
****
2)104 SUBTTL HERE TO BLT DOWN AREA AND EITHER GO TO EXECUTION OR EXIT
**************
1)104 ;**;[1170] Delete @ JBEXIT+4L JNG 23-May-79
1) SKIPE STADDR ;WARN USER IF NO STARTING ADDRES
S
****
2)104 SKIPE STADDR ;WARN USER IF NO STARTING ADDRES
S
**************
1)104 ;**;[1145] Replace @JBEX10+12L DZN 22-Feb-79
1) IFN TOPS20,<
****
2)104 IFN TOPS20,<
**************
1)105 IFN TOPS20,< ;IF TENEX, SETUP START VECTOR
1) MOVEI T1,400000 ;THIS FORK
****
2)105 IFN TOPS20,< ;IF TOPS-20, SETUP START VECTOR
2) MOVEI T1,400000 ;THIS FORK
**************
1)106 ;**;[1144] Replace @JBNEX+4L DZN 16-Feb-79
1)107 MOVE T1,[[ASCIZ /%LNKDLT Execution deleted/],,%TM
ES] ;[1144]
****
2)107 MOVE T1,[[ASCIZ /%LNKDLT Execution deleted/],,%TM
Digital Equipment Corporation 28-AUG-79 Page 142
PCO Log Report
ES] ;[1144]
**************
1)109 MOVE T1,[ASCIZ \[LNKDEB \] ;
1) MOVE T1+1,1+[ASCIZ \[LNKDEB \] ;
1) > ;END IFE FTKIONLY
1) IFN FTKIONLY,<
1) DMOVE T1,[ASCIZ \[LNKDEB \] ;
1) > ;END IFN FTKIONLY
****
2)109 MOVE T1,[ASCIZ \[LNKDEB \]
2) MOVE T1+1,1+[ASCIZ \[LNKDEB \]
2) > ;END IFE FTKIONLY
2) IFN FTKIONLY,<
2) DMOVE T1,[ASCIZ \[LNKDEB \]
2) > ;END IFN FTKIONLY
**************
1)110 IFE TOPS20,< ;
1) MOVE T1,.JBPFH## ;GET CURRENT PAGE FAULT HANDLER
****
2)110 IFE TOPS20,<
2) MOVE T1,.JBPFH## ;GET CURRENT PAGE FAULT HANDLER
**************
1)110 > ;
1) SETNAM T3, ;FOR ARG WATCHING
****
2)110 >
2) SETNAM T3, ;FOR ARG WATCHING
**************
1)110 IFE TOPS20,< ;
1) RESET ;MAKE SURE NO I/O STILL OPEN
1) > ;
1) IFN TOPS20,< ;SPECIAL IF TENEX DDT
1) MOVEI T1,400000 ;THIS FORK
1) DIR ;
1) CIS ;
1) MOVSI T1,(JFCL) ;[644] REPLACE WITH JFCL IF DESI
RED
****
2)110 IFE TOPS20,<
2) RESET ;MAKE SURE NO I/O STILL OPEN
2) >
2) IFN TOPS20,< ;SPECIAL IF TOPS-20 DDT
2) MOVEI T1,400000 ;THIS FORK
2) DIR
2) CIS
2) MOVSI T1,(JFCL) ;[644] REPLACE WITH JFCL IF DESI
RED
**************
1)111 ;**;[1174] Replace @REMERR+1L DZN 7-Jun-79
Digital Equipment Corporation 28-AUG-79 Page 143
PCO Log Report
1) JRST E01RME ;[1174] NO, OR FAILED TWICE
****
2)111 JRST E01RME ;[1174] NO, OR FAILED TWICE
**************
1)111 ;**;[1174] Replace @REMERR+6L DZN 7-Jun-79
1) E$$RME::.OERR. %VMRERR ;[1174] LNKRME
****
2)111 E$$RME::.OERR. %VMRERR ;[1174] LNKRME
**************
1)112 IFE TOPS20,< ;
1) %7: MOVEM 3,.JBPFH## ;SET PAGE FAULT HANDLER
1) > ;
1) IFN TOPS20,< ;
1) %7: JSYS 147 ;TENEX RESET, FLUSH PA1050
1) > ;
1) %10: SETZB 0,.-. ;CLEAR FIRST WORD
****
2)112 IFE TOPS20,<
2) %7: MOVEM 3,.JBPFH## ;SET PAGE FAULT HANDLER
2) >
2) IFN TOPS20,<
2) %7: JSYS 147 ;TOPS-20 RESET, FLUSH PA1050
2) >
2) %10: SETZB 0,.-. ;CLEAR FIRST WORD
**************
1)113 ;**;[1144] Insert before LSCNT DZN 16-Feb-79
1) IFE TOPS20,<
****
2)113 IFE TOPS20,<
**************
1)113 ;**;[1172] Replace @ LSCNT JNG 5-Jun-79
1) U (TTLPTR) ;BACK POINTER TO LAST SUBPROGRAM
****
2)113 U (TTLPTR) ;BACK POINTER TO LAST SUBPROGRAM
**************
1)113 ;**;[1172] Replace @ SYMPSC JNG 5-Jun-79
1) U (SYMDEW) ;[1172] RESERVE SPACE IN SYMBOL
TABLE
1) U (SYMFUL) ;[1172] SYMOUT HAS NON-SKIPPED O
NCE
1) XITLIT:
1) END LNKXIT
****
2)113 U (SYMDEW) ;[1172] RESERVE SPACE IN SYMBOL
TABLE
2) U (SYMFUL) ;[1172] SYMOUT HAS NON-SKIPPED O
NCE
2)114 SUBTTL THE END
2) XITLIT: END LNKXIT
Digital Equipment Corporation 28-AUG-79 Page 144
PCO Log Report
**************
Digital Equipment Corporation 28-AUG-79 Page 145
PCO Log Report
[FILCOM]
File 1) LINK:PLTDCL.MAC[30,4507] created: 1707 28-Feb-1978
File 2) LINK:PLTDCL.MAC[10,645063] created: 0940 26-Jul-1979
1)1 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
1) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
1) ;
1) ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1)2 ;BLISS-10 5(110) 7/11/74 10:34:38
PLTDCL.BLI Page 1
****
2)1 ;BLISS-10 5(110) 7/11/74 10:34:38
PLTDCL.BLI Page 1
**************
1)2 TITLE PLTO..
****
2)1 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) TITLE PLTO..
**************
Digital Equipment Corporation 28-AUG-79 Page 146
PCO Log Report
[FILCOM]
File 1) LINK:PLTGLB.MAC[30,4507] created: 1907 24-Feb-1978
File 2) LINK:PLTGLB.MAC[10,645063] created: 1314 26-Jul-1979
1)1 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 TITLE PLTGLB
2) SUBTTL /DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) TITLE PLTGLB
1) SEARCH PLTPRM
1) LOC 0
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) CUSTVR==0 ;CUSTOMER VERSION
2) DECVER==4 ;DEC VERSION
2) DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1217 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
2) ;START OF VERSION 4A
2) ;1217 Clean up the listings for release.
2)3 LOC 0
**************
1)1 END
****
2)5 SUBTTL THE END
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 147
PCO Log Report
[FILCOM]
File 1) LINK:PLTIO.MAC[30,4507] created: 1906 24-Feb-1978
File 2) LINK:PLTIO.MAC[10,645063] created: 1707 26-Jul-1979
1)1 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 TITLE LINE
2) SUBTTL D.TODD/DRT/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) TITLE LINE
1) SUBTTL D.TODD /DRT 22-MAR-1973
1) SEARCH PLTPRM
1) IFE HILOW,< TWOSEG
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) CUSTVR==0 ;CUSTOMER VERSION
2) DECVER==4 ;DEC VERSION
2) DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1217 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
2) ;START OF VERSION 4A
2) ;1217 Clean up the listings for release and fix unmatched angl
e brackets.
2)3 IFE HILOW,< TWOSEG
**************
1)3 TITLE PLOT %2.(221) PLOT SUBROUTINES
1) SUBTTL D. TODD /DRT/HPW/ 24-OCT-73
1) SEARCH PLTPRM
1) IFE HILOW,< TWOSEG
1) RELOC 400000>
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.*
**
1) ;THIS PACKAGE CONTAINS THE PLOT ROUTINES FOR THE XY10 PLOTTER.
****
2)4 TITLE PLOT %2.(221) PLOT SUBROUTINES
2) SUBTTL D. TODD/DRT/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,< TWOSEG
2) RELOC 400000>
2)5 ;THIS PACKAGE CONTAINS THE PLOT ROUTINES FOR THE XY10 PLOTTER.
**************
Digital Equipment Corporation 28-AUG-79 Page 148
PCO Log Report
1)9 JRST ENDTXT ;SIZE MUST BE >0
1) HRLI SVTXT,440700 ;POINTER TO ASCII
****
2)11 JRST ENDTXT ;SIZE MUST BE .GT. 0
2) HRLI SVTXT,440700 ;POINTER TO ASCII
**************
1)25 END
****
2)28 SUBTTL THE END
2) END
**************
Digital Equipment Corporation 28-AUG-79 Page 149
PCO Log Report
[FILCOM]
File 1) LINK:PLTMTH.MAC[30,4507] created: 1907 24-Feb-1978
File 2) LINK:PLTMTH.MAC[10,645063] created: 1319 26-Jul-1979
1)1 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 UNIVERSAL FORMSC %2.(120) UNIVERSAL FILE TO ASSEMBLE THE F
IX/FLOAT FUNCTIONS
2) SUBTTL D. TODD/DRT/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) UNIVERSAL FORMSC %2.(120) UNIVERSAL FILE TO ASSEMBLE THE F
IX/FLOAT FUNCTIONS
1) SUBTTL D. TODD /DRT 15-FEB-1973
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD MASS.**
*
1) SEARCH PLTPRM
1) IF1,< ;PASS 1 ASSEMBLY ONLY
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) CUSTVR==0 ;CUSTOMER VERSION
2) DECVER==4 ;DEC VERSION
2) DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1217 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
2) ;START OF VERSION 4A
2) ;1217 Clean up the listings for release.
2)3 IF1,< ;PASS 1 ASSEMBLY ONLY
**************
1)2 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD MASS.**
*
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)4 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)2 SUBTTL D. TODD /DRT 15-FEB-1973
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD MASS.**
*
Digital Equipment Corporation 28-AUG-79 Page 150
PCO Log Report
1) ;FROM LIB40 V32.(415)
****
2)5 SUBTTL D. TODD/DRT/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) ;FROM LIB40 V32.(415)
**************
1)2 SEARCH PLTPRM
1) IFE HILOW,<
****
2)5 IFE HILOW,<
**************
1)3 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD MASS.**
*
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)6 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)3 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD MASS.**
*
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)7 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)3 SUBTTL D. TODD /DRT 15-FEB-1973 ED YOURDON/KK/TW
E/DMN
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD MASS.**
Digital Equipment Corporation 28-AUG-79 Page 151
PCO Log Report
*
1) ;FROM LIB40 V.32(415)
****
2)8 SUBTTL D. TODD/DRT/EY/KK/TWE/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) ;FROM LIB40 V.32(415)
**************
1)3 SEARCH PLTPRM
1) IFE HILOW,<
****
2)8 IFE HILOW,<
**************
1)4 SEARCH FORMSC,PLTPRM
1) IFE HILOW,<
****
2)9 SUBTTL /DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH FORMSC,PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)4
1)
1) TITLE FLT.14
1) SEARCH FORMSC,PLTPRM
1) IFE HILOW,<
****
2)10 TITLE FLT.14
2) SUBTTL /DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH FORMSC,PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)4 SEARCH FORMSC,PLTPRM
1) IFE HILOW,<
****
2)11 SUBTTL /DZN 25-Jul-79
Digital Equipment Corporation 28-AUG-79 Page 152
PCO Log Report
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH FORMSC,PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)4 SUBTTL D. TODD /DMN/DRT/HPW/ 16-OCT-1973
1) VERWHO==0
1) VERVER==2
1) VERUPD==0
1) VERPAT==216
1) XP2VER=BYTE (3)VERWHO(9)VERVER(6)VERUPD(18)VERPAT
1) PURGE VERWHO,VERVER,VERUPD,VERPAT
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
***
1) ;FROM V.32(415) LIB40
****
2)12 SUBTTL D. TODD/DMN/DRT/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) ;FROM V.32(415) LIB40
**************
1)4 SEARCH PLTPRM
1) IFE HILOW,<
****
2)12 IFE HILOW,<
**************
1)4 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)13 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)4 SUBTTL ED YOURDON/KK/DMN
1) SUBTTL D. TODD /DRT/HPW 11-DEC-73
Digital Equipment Corporation 28-AUG-79 Page 153
PCO Log Report
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
***
1) ;FROM V.021 8-AUG-69
****
2)14 SUBTTL D. TODD/DRT/HPW/EY/KK/DMN25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) ;FROM V.021 8-AUG-69
**************
1)4 SEARCH PLTPRM
1) IFE HILOW,<
****
2)14 IFE HILOW,<
**************
1)4 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)15 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)4 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***
1) TWOSEG
****
2)16 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) TWOSEG
**************
1)4 SUBTTL D. TODD /KK/DMN/DRT/HPW 11-DEC-73
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
***
1) ;FROM V.022 18-DEC-69
****
2)17 SUBTTL D. TODD/KK/DMN/DRT/HPW/DZN 25-Jul-79
Digital Equipment Corporation 28-AUG-79 Page 154
PCO Log Report
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) ;FROM V.022 18-DEC-69
**************
1)4 SEARCH PLTPRM
1) IFE HILOW,<
****
2)17 IFE HILOW,<
**************
1)5 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)18 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)5 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)19 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)5 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)20 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
Digital Equipment Corporation 28-AUG-79 Page 155
PCO Log Report
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)5 SUBTTL H. P. WEISS/HPW 11-DEC-73
1) ;***COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***
1) SEARCH PLTPRM
1) IFE HILOW,<
****
2)21 SUBTTL H. P. WEISS/HPW/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) IFE HILOW,<
**************
1)5 SUBTTL ED YOURDAN/KK/DMN
1) SUBTTL D. TODD /DRT/HPW 11-DEC-73
1) ;***COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
***
1) ;FROM V.020
****
2)22 SUBTTL D. TODD/DRT/HPW/EY/KK/DMN/DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
2) ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2) ;
2) ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) ;FROM V.020
**************
1)5 SEARCH PLTPRM
1) IFE HILOW,<
****
2)22 IFE HILOW,<
**************
Digital Equipment Corporation 28-AUG-79 Page 156
PCO Log Report
[FILCOM]
File 1) LINK:PLTPRM.MAC[30,4507] created: 1906 24-Feb-1978
File 2) LINK:PLTPRM.MAC[10,645063] created: 1344 26-Jul-1979
1)1 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 UNIVERSAL PLTPRM
2) SUBTTL /DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) UNIVERSAL PLTPRM
1) T0=0
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) CUSTVR==0 ;CUSTOMER VERSION
2) DECVER==4 ;DEC VERSION
2) DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1217 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
2) ;START OF VERSION 4A
2) ;1217 Clean up the listings for release.
2)3 T0=0
**************
1)3 SUBTTL D. TODD/DRT/HPW/SRM 4-FEB-74
1) PASS2 ;SAVE PRINT OUT ON PASS 2
1) ;***COPYRIGHT 1972,1973,1974 DIGITAL EQUIPMENT CORP., MAYNARD, M
ASS.***
1) ; THIS FILE MUST BE ASSEMBLED WITH ALL SOURCE FILES
1) ; OF THE FORTRAN OBJECT TIME STSTEM (FOROTS)
1) MLON
1) VFOROT==4 ;FOROTS SYSTEM VERSION NUMBER
1) VERNO==4 ;MAJOR VERSION NUMBER
1) VEDIT==260 ;EDIT NUMBER
1) VMINOR==00 ;MINOR VERSION NUMBER
1) VWHO==0 ;WHO EDITED LAST
1) VERPRM==BYTE (3)VWHO(9)VERNO(6)VMINOR(18)VEDIT
1) ; EXTERNAL SYSTEM SYMBOLS
****
2)4 SUBTTL D. TODD/DRT/HPW/SRM 4-FEB-74
2) ; THIS FILE MUST BE ASSEMBLED WITH ALL SOURCE FILES
2) ; OF THE FORTRAN OBJECT TIME STSTEM (FOROTS)
2) ; EXTERNAL SYSTEM SYMBOLS
**************
Digital Equipment Corporation 28-AUG-79 Page 157
PCO Log Report
[FILCOM]
File 1) LINK:PLTUTL.MAC[30,4507] created: 1907 24-Feb-1978
File 2) LINK:PLTUTL.MAC[10,645063] created: 1115 27-Jul-1979
1)1 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 TITLE PLTUTL
2) SUBTTL /DZN 25-Jul-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 ;COPYRIGHT (C) 1973, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYN
ARD, MASS.
1) TITLE PLTUTL
1) ;THIS PROGRAM IS GENERATED FROM AN EQUIVALENT FORTRAN PR
OGRAM
1) ;OF THE SAME NAME.
1) SEARCH PLTPRM
1) TWOSEG
****
2)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
2) SEARCH PLTPRM
2) SALL
2) CUSTVR==0 ;CUSTOMER VERSION
2) DECVER==4 ;DEC VERSION
2) DECMVR==1 ;DEC MINOR VERSION
2) DECEVR==1217 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
2) ;START OF VERSION 4A
2) ;1217 Clean up the listings for release.
2)3 ;THIS PROGRAM IS GENERATED FROM AN EQUIVALENT FORTRAN PROGRAM
2) ;OF THE SAME NAME, WHICH IS INCLUDED BELOW.
2) ; FUNCTION PLTUTL (XXX)
2) ; C ARGUMENTS ARE PASSED IN THIS COMMON--EQUIVS. TAI
LOR PARTIC. LISTS
2) ; COMMON /PLTARG/ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG
6,ARG7
2) ; 1 ,X,Y,DD,TT,TOP,SIDE
2) ; INTEGER ARG0,PLTCHAR
2) ; EQUIVALENCE (PLTCHAR,ARG0)
2) ; REAL ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7, X,Y
2) ; DIMENSION X(5),Y(5),DD(1),TT(1)
2) ; DATA DD,TT/'TREE ','ARC '/
2) ;
2) ; ENTRY PLTORIG
2) ; EQUIVALENCE (SETTOP,ARG1),(SETSIDE,ARG2),(STPSIZ
,ARG3),
2) ; 1 (WIDNCH,ARG4),(PSTAT,ARG5)
2) ; INTEGER PSTAT
2) ; REAL TOP,SIDE,SETTOP,SETSIDE,STPSIZ,WIDNCH
2) ; PLTUTL=0
2) ; TOP=SETTOP
Digital Equipment Corporation 28-AUG-79 Page 158
PCO Log Report
2) ; SIDE=SETSIDE
2) ; CALL PLOTS(PSTAT,STPSIZ)
2) ; IF (PSTAT .EQ. -1) RETURN
2) ; ARG7=WIDNCH + 1.0
2) ; ARG7=-ARG7
2) ; CALL PLOT(0,ARG7,-3)
2) ; CALL PLOT(0,0.5,-3)
2) ; RETURN
2) ;
2) ; ENTRY PLTINIT
2) ; EQUIVALENCE (XDPEST,ARG1),(YORIG,ARG2)
2) ; REAL XDPEST,YCENTR
2) ; INTEGER PLTUTL
2) ;
2) ; C THE TWO ARGS ARE IMPLICITLY PASSED ON
2) ; PLTUTL=-1
2) ; CALL PLOTI
2) ; RETURN
2) ;
2) ; ENTRY PLTPOLY
2) ; EQUIVALENCE (XSON,ARG1),(YSON,ARG2),
2) ; 1 (NAMLEN,ARG3),(LNUM,ARG4),(LNAME,ARG5),(RNAME
,ARG5)
2) ; INTEGER NAMLEN,LNUM
2) ; REAL XSON,YSON,RNAME
2) ; DIMENSION LNAME(2)
2) ;
2) ; C IN A STATISTICAL SENSE IT IS BETTER TO DO THE 10
STATS ALWAYS
2) ; C RATHER THAN CONDIT AROUND & BRANCH TO WHEN NECES
SARY
2) ;
2) ; X(1)=XSON
2) ; Y(1)=YSON-TOP/2
2) ; X(2)=XSON
2) ; Y(2)=YSON+TOP/2
2) ; X(3)=XSON+SIDE
2) ; Y(3)=YSON+TOP/2
2) ; X(4)=XSON+SIDE
2) ; Y(4)=YSON-TOP/2
2) ; X(5)=X(1)
2) ; Y(5)=Y(1)
2) ;
2) ; IF (LNUM .GT.99999) GO TO 11
2) ; PLTCHAR='*'
2) ; CALL NUMBER(X(1)+SIDE*7.0/16.0,Y(1)+TOP/8,SIDE/8
,
2) ; 1 FLOAT(LNUM),90.0,-1)
2) ; CALL SYMBOL(X(1)+SIDE*14/16,Y(1)+TOP/8,SIDE/8,
Digital Equipment Corporation 28-AUG-79 Page 159
PCO Log Report
2) ; 1 LNAME,90.0,NAMLEN)
2) ; GO TO 99
2) ;
2) ; 11 IF (LNUM .NE. 100000) GO TO 12
2) ; IF (PLTUTL.NE.0) GO TO 115
2) ;
2) ; X(1)=XSON
2) ; Y(1)=YSON
2) ; X(2)=XSON+SIDE/2
2) ; Y(2)=YSON+TOP/2
2) ; X(3)=XSON+SIDE
2) ; Y(3)=YSON
2) ; X(4)=XSON+SIDE/2
2) ; Y(4)=YSON-TOP/2
2) ; X(5)=X(1)
2) ; Y(5)=Y(1)
2) ;
2) ; 115 PLTCHAR='$'
2) ; CALL SYMBOL(XSON+SIDE*7/16,YSON-TOP/4,SIDE/6,DD,
90.0,4)
2) ; CALL NUMBER(XSON+SIDE*14/16,YSON,SIDE/6,RNAME,90
.0,-1)
2) ; GO TO 99
2) ;
2) ; 12 IF (LNUM .NE. 100001) GOTO 88
2) ; IF (PLTUTL.NE.0) GO TO 125
2) ;
2) ; X(1)=XSON
2) ; Y(1)=YSON-TOP/2+TOP/6
2) ; X(2)=XSON
2) ; Y(2)=YSON+TOP/2-TOP/6
2) ; X(3)=XSON+SIDE
2) ; Y(3)=YSON+TOP/2
2) ; X(4)=XSON+SIDE
2) ; Y(4)=YSON-TOP/2
2) ; X(5)=X(1)
2) ; Y(5)=Y(1)
2) ;
2) ; 125 PLTCHAR='@'
2) ; CALL SYMBOL(XSON+SIDE*7/16,YSON-TOP/3,SIDE/6,TT,
90.0,3)
2) ; CALL NUMBER(XSON+SIDE*14/16,YSON-TOP/4,SIDE/6,RN
AME,90.0,-1)
2) ; CALL SYMBOL(XSON+SIDE*14/16,YSON,SIDE/6,LNAME(2)
,90.0,1)
2) ;
2) ; 99 CALL LINE(X,Y,5,1)
2) ; RETURN
2) ;
Digital Equipment Corporation 28-AUG-79 Page 160
PCO Log Report
2) ; ENTRY PLTLINE
2) ; EQUIVALENCE(XSELF,ARG1),(YSELF,ARG2),(XDAU,ARG3)
,(YDAU,ARG4)
2) ; REAL YSELF,XSELF,YDAU,XDAU
2) ; PLTCHAR='='
2) ;
2) ; X(1)=XSELF
2) ; Y(1)=YSELF
2) ; X(2)=XDAU
2) ; Y(2)=YDAU
2) ; CALL LINE(X,Y,2,1)
2) ; RETURN
2) ;
2) ; 88 PSTAT=-1
2) ; RETURN
2) ; END
2)4 TWOSEG
**************
1)1 PLTORI:
1) SAVALL
****
2)4 PLTORI:
2) SAVALL
**************
1)1 MOVSI 2,201400
1) FADR 2,INCHES
****
2)4 MOVSI 2,201400
2) FADR 2,INCHES
**************
1)1
1) PLTPOL:
****
2)5 PLTPOL:
**************
1)1 MOVE 2,XSON
1) MOVEM 2,X
****
2)5 MOVE 2,XSON
2) MOVEM 2,X
**************
1)1 MOVE 2,LNUM
1) CAIE 2,303240
****
2)5 MOVE 2,LNUM
2) CAIE 2,303240
**************
1)1 MOVE 2,[221004020100]
1) MOVEM 2,PLTCHA
Digital Equipment Corporation 28-AUG-79 Page 161
PCO Log Report
****
2)5 MOVE 2,[221004020100]
2) MOVEM 2,PLTCHA
**************
1)1 MOVE 2,LNUM
1) CAIE 2,303241
****
2)5 MOVE 2,LNUM
2) CAIE 2,303241
**************
1)1 MOVE 2,[401004020100]
1) MOVEM 2,PLTCHA
****
2)5 MOVE 2,[401004020100]
2) MOVEM 2,PLTCHA
**************
1)1 MOVEI 16,%22M
1) PUSHJ 17,LINE
1) RETURN
1)
1) PLTLIN:
1) SAVALL
1) ARGS <XSELF,YSELF,XDAU,YDAU>
1) MOVE 2,[365004020100]
1) MOVEM 2,PLTCHA
****
2)5 MOVEI 16,%22M
2) PUSHJ 17,LINE
2) RETURN
2)6 PLTLIN:
2) SAVALL
2) ARGS <XSELF,YSELF,XDAU,YDAU>
2) MOVE 2,[365004020100]
2) MOVEM 2,PLTCHA
**************
1)1 SETOB 2,ERRFND
1) %1M:
****
2)6 SETOB 2,ERRFND
2) %1M:
**************
1)1 777774,,0
1) %25M: 200,,X
****
2)7 777774,,0
2) %25M: 200,,X
**************
1)1
1) END
Digital Equipment Corporation 28-AUG-79 Page 162
PCO Log Report
****
2)8 SUBTTL THE END
2) END
**************
[End PCO Write-up]
Digital Equipment Corporation 28-AUG-79 Page 871
PCO Log Report
*********************
*PCO #:10-LINK -305*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4(765)+ALL EDITS
[Date Entered] 27-AUG-79
[Programmer] D. NEFF
[Routines] ALL
[Key Words] LAST EDIT
[Source Before Edit] % (000000)
[Source After Edit] %4A (001220)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-NONE
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 28-AUG-79 Page 872
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
This being the last edit before the release of version 4A of LINK,
the edit histories should reflect this fact.
**********
[DIAGNOSIS]
This must necessarily wait until the last minute.
**********
[CURE]
Update all of LINK's edit histories to reflect the released
version.
Digital Equipment Corporation 28-AUG-79 Page 873
PCO Log Report
[FILCOM]
File 1) LINK:LNKHST.MAC[30,4507] created: 1419 25-Jul-1979
File 2) LINK:LNKHST.MAC[10,645063] created: 1801 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 25-Jul-7
9
1) ;COPYRIGHT (C) 1973, 1979 BY
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 24-Aug-7
9
2) ;COPYRIGHT (C) 1973, 1979 BY
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) LNKVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
**************
1)6 SUBTTL THE END
1) END ;OF LNKHST
****
2)5 ;1220 DZN 24-Aug-79
2) ; Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2) ; Routines: All
2)6 SUBTTL THE END
2) END ;OF LNKHST
**************
Digital Equipment Corporation 28-AUG-79 Page 874
PCO Log Report
[FILCOM]
File 1) LINK:LNK999.MAC[30,4507] created: 1209 25-Jul-1979
File 2) LINK:LNK999.MAC[10,645063] created: 1615 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL EMERGENCY GETSEG
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL EMERGENCY GETSEG
**************
Digital Equipment Corporation 28-AUG-79 Page 875
PCO Log Report
[FILCOM]
File 1) LINK:LNKCOR.MAC[30,4507] created: 1212 25-Jul-1979
File 2) LINK:LNKCOR.MAC[10,645063] created: 1616 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)4 SUBTTL SIMPLE TESTS FIRST
****
2)3 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)4 SUBTTL SIMPLE TESTS FIRST
**************
Digital Equipment Corporation 28-AUG-79 Page 876
PCO Log Report
[FILCOM]
File 1) LINK:LNKCST.MAC[30,4507] created: 1222 25-Jul-1979
File 2) LINK:LNKCST.MAC[10,645063] created: 1616 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL DISPATCH TABLES FOR CUSTOMER TYPES
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL DISPATCH TABLES FOR CUSTOMER TYPES
**************
Digital Equipment Corporation 28-AUG-79 Page 877
PCO Log Report
[FILCOM]
File 1) LINK:LNKERR.MAC[30,4507] created: 1330 25-Jul-1979
File 2) LINK:LNKERR.MAC[10,645063] created: 1617 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL FIND MESSAGE
****
2)3 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)4 SUBTTL FIND MESSAGE
**************
Digital Equipment Corporation 28-AUG-79 Page 878
PCO Log Report
[FILCOM]
File 1) LINK:LNKEXO.MAC[30,4507] created: 1352 25-Jul-1979
File 2) LINK:LNKEXO.MAC[10,645063] created: 1618 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL HERE FOR EXECUTE ONLY ENTRY
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL HERE FOR EXECUTE ONLY ENTRY
**************
Digital Equipment Corporation 28-AUG-79 Page 879
PCO Log Report
[FILCOM]
File 1) LINK:LNKF40.MAC[30,4507] created: 1354 25-Jul-1979
File 2) LINK:LNKF40.MAC[10,645063] created: 1618 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL INITIALIZE TABLES
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL INITIALIZE TABLES
**************
Digital Equipment Corporation 28-AUG-79 Page 880
PCO Log Report
[FILCOM]
File 1) LINK:LNKFIO.MAC[30,4507] created: 1418 25-Jul-1979
File 2) LINK:LNKFIO.MAC[10,645063] created: 1619 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL HERE TO SETUP POINTER TO I/O DATA BLOCK
**************
Digital Equipment Corporation 28-AUG-79 Page 881
PCO Log Report
[FILCOM]
File 1) LINK:LNKHSH.MAC[30,4507] created: 1416 25-Jul-1979
File 2) LINK:LNKHSH.MAC[10,645063] created: 1619 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL SYMBOL TABLE HASH SEARCH
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL SYMBOL TABLE HASH SEARCH
**************
Digital Equipment Corporation 28-AUG-79 Page 882
PCO Log Report
[FILCOM]
File 1) LINK:LNKINI.MAC[30,4507] created: 1349 27-Jul-1979
File 2) LINK:LNKINI.MAC[10,645063] created: 1620 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/RKH/SRM/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL INITIALIZE
****
2)3 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)4 SUBTTL INITIALIZE
**************
Digital Equipment Corporation 28-AUG-79 Page 883
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOD.MAC[30,4507] created: 1110 27-Jul-1979
File 2) LINK:LNKLOD.MAC[10,645063] created: 1621 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 25-Jul-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 24-Aug-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)7 SUBTTL LOAD CONTROL
****
2)6 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)7 SUBTTL LOAD CONTROL
**************
Digital Equipment Corporation 28-AUG-79 Page 884
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOG.MAC[30,4507] created: 1643 27-Jul-1979
File 2) LINK:LNKLOG.MAC[10,645063] created: 1621 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL DISPATCH TABLES FOR MESSAGE CLASSES
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL DISPATCH TABLES FOR MESSAGE CLASSES
**************
Digital Equipment Corporation 28-AUG-79 Page 885
PCO Log Report
[FILCOM]
File 1) LINK:LNKLOW.MAC[30,4507] created: 1341 27-Jul-1979
File 2) LINK:LNKLOW.MAC[10,645063] created: 1622 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/MCHC/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) LOC 137
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) LOC 137
**************
1)4 SUBTTL STORAGE
****
2)3 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)4 SUBTTL STORAGE
**************
Digital Equipment Corporation 28-AUG-79 Page 886
PCO Log Report
[FILCOM]
File 1) LINK:LNKMAP.MAC[30,4507] created: 1547 25-Jul-1979
File 2) LINK:LNKMAP.MAC[10,645063] created: 1622 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL HEADER LINES
****
2)3 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)4 SUBTTL HEADER LINES
**************
Digital Equipment Corporation 28-AUG-79 Page 887
PCO Log Report
[FILCOM]
File 1) LINK:LNKNEW.MAC[30,4507] created: 1345 27-Jul-1979
File 2) LINK:LNKNEW.MAC[10,645063] created: 1622 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/TXR/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/TXR/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL BLOCK DISPATCH TABLES
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL BLOCK DISPATCH TABLES
**************
Digital Equipment Corporation 28-AUG-79 Page 888
PCO Log Report
[FILCOM]
File 1) LINK:LNKOLD.MAC[30,4507] created: 1336 27-Jul-1979
File 2) LINK:LNKOLD.MAC[10,645063] created: 1623 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 25-Jul-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/DZN 24-Aug-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)7 COMMENT \
****
2)6 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)7 COMMENT \
**************
Digital Equipment Corporation 28-AUG-79 Page 889
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV1.MAC[30,4507] created: 1353 27-Jul-1979
File 2) LINK:LNKOV1.MAC[10,645063] created: 1624 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL ENTRY POINT
****
2)3 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)4 SUBTTL ENTRY POINT
**************
Digital Equipment Corporation 28-AUG-79 Page 890
PCO Log Report
[FILCOM]
File 1) LINK:LNKOV2.MAC[30,4507] created: 1625 25-Jul-1979
File 2) LINK:LNKOV2.MAC[10,645063] created: 1624 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JNG/MCHC/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL DEFINITIONS
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL DEFINITIONS
**************
Digital Equipment Corporation 28-AUG-79 Page 891
PCO Log Report
[FILCOM]
File 1) LINK:LNKOVS.MAC[30,4507] created: 1626 25-Jul-1979
File 2) LINK:LNKOVS.MAC[10,645063] created: 1625 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)3 SUBTTL TREE WALK ROUTINE
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL TREE WALK ROUTINE
**************
Digital Equipment Corporation 28-AUG-79 Page 892
PCO Log Report
[FILCOM]
File 1) LINK:LNKPAR.MAC[30,4507] created: 1344 27-Jul-1979
File 2) LINK:LNKPAR.MAC[10,645063] created: 1625 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 25-Jul-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 24-Aug-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) LOC 137 ;KEEPS MACRO HAPPY
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) LOC 137 ;KEEPS MACRO HAPPY
**************
1)7 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
****
2)6 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)7 SUBTTL STANDARD MNEMONICS--REGISTERS, BITS, UUOS
**************
Digital Equipment Corporation 28-AUG-79 Page 893
PCO Log Report
[FILCOM]
File 1) LINK:LNKPLT.MAC[30,4507] created: 1730 25-Jul-1979
File 2) LINK:LNKPLT.MAC[10,645063] created: 1626 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 SUBTTL BLISS CONVENTIONS
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 SUBTTL BLISS CONVENTIONS
**************
Digital Equipment Corporation 28-AUG-79 Page 894
PCO Log Report
[FILCOM]
File 1) LINK:LNKSCN.MAC[30,4507] created: 1731 25-Jul-1979
File 2) LINK:LNKSCN.MAC[10,645063] created: 1626 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)4 SUBTTL INITIALIZE SCANNER
****
2)3 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)4 SUBTTL INITIALIZE SCANNER
**************
Digital Equipment Corporation 28-AUG-79 Page 895
PCO Log Report
[FILCOM]
File 1) LINK:LNKSUB.MAC[30,4507] created: 1736 25-Jul-1979
File 2) LINK:LNKSUB.MAC[10,645063] created: 1626 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)3 ;HERE TO GET THE REQUIRED PRIME NUMBER INTO HT.PRM
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 ;HERE TO GET THE REQUIRED PRIME NUMBER INTO HT.PRM
**************
Digital Equipment Corporation 28-AUG-79 Page 896
PCO Log Report
[FILCOM]
File 1) LINK:LNKWLD.MAC[30,4507] created: 1101 27-Jul-1979
File 2) LINK:LNKWLD.MAC[10,645063] created: 1626 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 25-Jul-7
9
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 24-Aug-7
9
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) SEGMENT
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) SEGMENT
**************
1)7 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)6 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)7 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
Digital Equipment Corporation 28-AUG-79 Page 897
PCO Log Report
[FILCOM]
File 1) LINK:LNKXIT.MAC[30,4507] created: 1325 27-Jul-1979
File 2) LINK:LNKXIT.MAC[10,645063] created: 1628 24-Aug-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1) VERSION
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2) VERSION
**************
1)7 SUBTTL ENTER HERE
****
2)6 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)7 SUBTTL ENTER HERE
**************
Digital Equipment Corporation 28-AUG-79 Page 898
PCO Log Report
[FILCOM]
File 1) LINK:PLTGLB.MAC[30,4507] created: 1314 26-Jul-1979
File 2) LINK:PLTGLB.MAC[10,645063] created: 1642 24-Aug-1979
1)1 SUBTTL /DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL /DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
**************
1)3 LOC 0
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 LOC 0
**************
Digital Equipment Corporation 28-AUG-79 Page 899
PCO Log Report
[FILCOM]
File 1) LINK:PLTIO.MAC[30,4507] created: 1707 26-Jul-1979
File 2) LINK:PLTIO.MAC[10,645063] created: 1643 24-Aug-1979
1)1 SUBTTL D.TODD/DRT/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D.TODD/DRT/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
**************
1)3 IFE HILOW,< TWOSEG
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 IFE HILOW,< TWOSEG
**************
Digital Equipment Corporation 28-AUG-79 Page 900
PCO Log Report
[FILCOM]
File 1) LINK:PLTMTH.MAC[30,4507] created: 1319 26-Jul-1979
File 2) LINK:PLTMTH.MAC[10,645063] created: 1643 24-Aug-1979
1)1 SUBTTL D. TODD/DRT/DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL D. TODD/DRT/DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
**************
1)3 IF1,< ;PASS 1 ASSEMBLY ONLY
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 IF1,< ;PASS 1 ASSEMBLY ONLY
**************
Digital Equipment Corporation 28-AUG-79 Page 901
PCO Log Report
[FILCOM]
File 1) LINK:PLTPRM.MAC[30,4507] created: 1344 26-Jul-1979
File 2) LINK:PLTPRM.MAC[10,645063] created: 1644 24-Aug-1979
1)1 SUBTTL /DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL /DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
**************
1)3 T0=0
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 T0=0
**************
Digital Equipment Corporation 28-AUG-79 Page 902
PCO Log Report
[FILCOM]
File 1) LINK:PLTUTL.MAC[30,4507] created: 1115 27-Jul-1979
File 2) LINK:PLTUTL.MAC[10,645063] created: 1644 24-Aug-1979
1)1 SUBTTL /DZN 25-Jul-79
1) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
****
2)1 SUBTTL /DZN 24-Aug-79
2) ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
**************
1)1 DECEVR==1217 ;DEC EDIT VERSION
1)2 SUBTTL REVISION HISTORY
****
2)1 DECEVR==1220 ;DEC EDIT VERSION
2)2 SUBTTL REVISION HISTORY
**************
1)3 ;THIS PROGRAM IS GENERATED FROM AN EQUIVALENT FORTRAN PROGRAM
****
2)2 ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
2)3 ;THIS PROGRAM IS GENERATED FROM AN EQUIVALENT FORTRAN PROGRAM
**************
[End PCO Write-up]