Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99h-bb - lnkerr.x14
There are 4 other files named lnkerr.x14 in the archive. Click here to see a list.
TITLE	LNKERR - LINK EXTENDED ERROR MESSAGE SEGMENT
SUBTTL	D.M.NIXON/DMN/JLd/SRM/JBC/JNG/DZN/PY/PAH/JBS/HD	28-May-86



;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1973,1986. ALL RIGHTS RESERVED.
;[2403]
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
;TRANSFERRED.
;
;
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
;AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
;CORPORATION.
;
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.

SEARCH	LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC
SALL

ENTRY	LNKERR
EXTERN	LNKLOG,TTYCHK,TTYOUT,LOGOUT	;[1301]


CUSTVR==0		;CUSTOMER VERSION
DECVER==6		;DEC VERSION
DECMVR==0		;DEC MINOR VERSION
DECEVR==2403		;DEC EDIT VERSION

VERSION


SEGMENT

LRELEN==:42		;[1174] **MUST** AGREE WITH LNKLOG
SUBTTL	REVISION HISTORY


;START OF VERSION 1A
;41	ADD LNKFSI MESSAGE
;46	ADD KLUDGE FEATURE MESSAGE
;71	ADD LNKXIT INFO MESSAGES
;102	ADD NO END BLOCK MESSAGE
;105	ADD ITT MESSAGE (FOR BLOCK TYPE 12)
;107	REPLACE KLUDGE BY MIXFOR

;START OF VERSION 2
;135	ADD OVERLAY FACILITY
;162	ADD ISN MESSAGE
;215	ADD OVERLAY ERROR MESSAGES

;START OF VERSION 2B
;237	(13931) CHANGE RPR ERROR TO NBR
;245	ADD WRONG DEVICE FOR OVERLAY FILE ERROR MESSAGE
;253	Add invalid ASCII text block error (ITB)
;262	Add /LINK switch missing error message (LSM)
;275	ADD SIMULA ERROR MESSAGE
;351	LABEL EDIT 237
;377	Add "Attempt to set relocation counter below origin" (SRB) msg
;404	Re-insert edit 316 (support of the ELN message).
;414	Add the FSN message.
;424	Improve the FSN message.

;START OF VERSION 2C
;442	Add the EOI and EOO messages.
;464	Add the IMM message.
;471	Add messages associated with ALGOL debugging system.
;474	Print the module name on F40 fatal errors.
;531	Add UNS message.
;544	SOUP in LINK version 3 stuff for TOPS-20.
;557	Clean up listing for release.

;START OF VERSION 3
;446	CHANGE SOME OF THE ERROR MESSAGES

;START OF VERSION 3A
;560	Release on both TOPS-10 and TOPS-20 as LINK version 3A(560)

;START OF VERSION 4

;564	Make LINK assemble with MACRO 52.
;611	Support COBOL-74
;624	Add a long message for ?LNKKIA.
;635	Add the %LNKTMA and ?LNKABT messages.
;650	Add the ?LNKPUF message.
;661	Make %LNKMDS be L%W.
;673	Replace all of the messages with the updated versions from
;	the new (reviewed) LINK manual.
;731	SEARCH MACTEN,UUOSYM
;765	Release on both TOPS-10 and TOPS-20 as LINK version 4(765)
;START OF VERSION 4A
;1113	Add long message for LNKPOT.
;1115	Add long message for LNKHCL.
;1120	Remove LNKKIA and add LNKCCD.
;1133	Add a long message for the LNKSTL message.
;1144	Add long messages for LNKNSA, LNKDLT, LNKXCT, LNKDEB and LNKGFE.
;1146	Delete long messages for LNKNCL, LNKNCX; add LNKPCL, LNKPCX.
;1174	Label and clean up all error messages.
;1175	Add the LNKUUA message.
;1203	Add the LNKCMX and LNKSNS messages.
;1204	Add the LNKPTL message, and delete the STL message.
;1212	Make sure messages here really agree with the rest of LINK.
;1213	Remove the ISD message.
;1217	Clean up the listings for release.
;1220	Release on both TOPS-10 and TOPS-20 as version 4A(1220).

;START OF VERSION 4B
;1224	Add the LNKNSO, LNKJPB, LNKISM, and LNKNAP messages.
;	Delete the LNKISO message.
;1240	Add the LNKCPU message.
;1277	Add the LNKNSM message.
;1300	Add the LNKPEL and LNKCFS messages.
;1301	Change Verbosity to bits, Don't tab long messages if no PREFIX
;1306	Add the LNKMPT message.

;START OF VERSION 5
;1432	Make the LNKNSM message a warning.
;1433	Add messages distinguishing COBOL,COBOL-68, AND COBOL-74.
;1434	Add LNKUSB message.
;1435	Add PASCAL-related LNKPCD message.

;Start of Version 5.1
;1713	Add long explanation for LNKNHN message.
;1725	Change E$$CMX message to mention GFloating Fortran, not Extended.
;1753	Make E$$CMX a warning.
;2005	Add LNKAMM, LNKNVR, LNKPMA, LNKTMM, LNKURV, and LNKWNA messages.
;2007	Add LNKFTH, LNKTML, LNKUCB
;2026	Update copyright.
;2100	Add long text for USB.

;Start of Version 6
;2202	Add LNKCCS and LNKMMF. Also add message for LNKCRS.
;2212	Add LNKSTL, update messages to say type 11 or 1072.
;2216	Remove the LNKESN message.
;2222	Add the LNKCOE and LNKRWA messages.
;2230	Add the LNKCMP message.
;2235	Add the LNKCBO message.
;2257	Add long messages for UIE and UMF.
;2264	Fix LNKCCS, texts for LNKUIE, LNKUMF, JSYS texts for LNKOxx, LNKIxx.
;2277	Remove DNA (Debugger Not Available) message - no longer used.
;2300	Conditional out or remove F40 and non TOPS-20 errors.
;2301	Fix up messages for native files.
;2315	Add {JSYS error text} for CLD, CSP, and DNA
;2322	Add long text for LNKCCE message.
;2330	Add missing angle brackets in CSP, DNA, and NFS messages.
;2342	Add LNKPTP long message.
;2343	Add the LNKUSD long message.
;2403	New coporate copywrite notice.
SUBTTL	FIND MESSAGE

LNKERR:	JFCL	.+1		;INCASE CCL ENTRY
IFE FTSINGLE,<
	HRRZ	T1,SEGBLK+1	;GET SEGMENT NAME
	CAIE	T1,'ERR'	;IF MULTI-SEGMENTED
	JRST	ERROK		;NO
	MOVE	T1,[SAVEAC+P2,,P2]
	BLT	T1,16		;RESTORE ALL ACCS
	MOVE	P1,SAVEAC+T1	;P1 IS STORED TWICE
ERROK:>;END IFE FTSINGLE
	MOVE	T2,ERRCOD	;GET ASCII ERROR CODE
	TRZ	T2,<BYTE (7) 0,0,0,177,177 (1) 1>
	SETZ	T4,		;PUT SIXBIT IN HERE
	SETZ	T1,		;CLEAR JUNK
	LSHC	T1,7		;GET A CHAR
	SUBI	T1," "		;SIXBITIZE
	LSH	T4,6		;MAKE SPACE
	ADDI	T4,(T1)		;ADD INTO WHATS THERE
	JUMPN	T2,.-5		;LOOP FOR ALL (3) CHARS
				;WE NOW USE T4 AS THE HASH TOTAL (18 BITS)
	MOVE	T1,T4		;GET 18 BITS
	IDIVI	T1,E.PRM	;INITIAL HASH
	JUMPE	T1,[AOJA T1,ERRHS1]	;MAKE SURE T1 NOT ZERO
	CAIGE	T1,E.PRM	;IF QUOTIENT LARGER THAN PRIME
	JRST	ERRHS1		;NO
	SUBI	T1,E.PRM	;STEP DOWN
	JRST	.-4		;TRY AGAIN

ERRHS0:	ADD	T2,T1		;STILL IN TABLE
	CAIL	T2,E.PRM	;STILL IN TABLE
	SUBI	T2,E.PRM	;NO,
ERRHS1:	MOVS	T3,HSHTAB(T2)	;PROBE TABLE
	CAIN	T4,(T3)		;MATCH
	JRST	ERRFND		;YES
	JUMPE	T3,ERRFAI	;FAILED IF ZERO, NOT IN TABLE
	JRST	ERRHS0		;TRY AGAIN

ERRIDX:	HRRZ	T1,ERRCOD	;GET NUMBER
	ANDI	T1,<BYTE (7) 0,0,0,177,177 (1) 1>
	TRNE	T1,<BYTE (7) 0,0,0,100>	;PROPAGATE SIGN
	IOR	T1,[BYTE (7) 177,177,177]
	HLRE	T2,@(T3)	;GET FIRST
	HRRE	T4,@(T3)	;AND LAST
	CAML	T1,T2		;RANGE CHECK
	CAMLE	T1,T4
	JRST	.RPOPJ		;NOT IN RANGE?
	SUB	T1,T2		;ADJUST OFFSET OF TABLE
	ADD	T1,(T3)		;PLUS BASE ADDRESS
	HRRZ	T1,1(T1)	;GET ADDRESS OF MESSAGE
	JRST	ERRFN0
;HERE WHEN THE HASH SEARCH IS SUCCESSFUL. PRINT THE MESSAGE(S).

ERRFND:	MOVS	T3,T3		;ADDRESS IN RIGHT AGAIN
	SKIPGE	(T3)		;INDEXED VAI TABLE?
	JRST	ERRIDX		;YES
	HRRZ	T1,T3		;GET MESSAGE POINTER
ERRFN0:	PUSH	P,T1		;SAVE T1
	OUTVIA	.TCRLF##	;START NEW LINE
	SKIPA	T1,0(P)		;RELOAD T1
ERRFN1:	PUSH	P,T1		;SAVE IT
	ADDI	T1,1		;POINT TO MESSAGE
	PUSHJ	P,LOGOUT	;[1301] PRINTING TO A LOG FILE?
	PUSHJ	P,.TSTRG##	;[1301] YES, USE SCAN ROUTINE
	MOVE	T1,0(P)		;[1301] RECOVER T1
	ADDI	T1,1		;[1301] POINT BACK TO MESSAGE
	PUSHJ	P,TTYOUT	;[1301] PRINTING TO TERMINAL
	PUSHJ	P,ERRFN2	;[1301] YES, USE SPECIAL ROUTINE
	POP	P,T1		;GET BACK POINTER
	SKIPN	T1,(T1)		;MORE TO DO?
	JRST	ERRFAI		;NO
	SKIPN	1(T1)		;BUT IS IT A REAL MESSAGE?
	JRST	ERRFN1		;NO, JUST TRANSFER
	JRST	ERRFN0		;YES, NEED A CRLF ALSO
ERRFN2:	HRLI	T1,(POINT 7)	;[1301] CONVERT ADDRESS TO POINTER
	PUSH	P,T1		;[1301] STORE IN SAFE PLACE
ERRFN3:	ILDB	T1,(P)		;[1301] GET NEXT CHARACTER
	JUMPE	T1,[ POP P,T1	;[1301] FINISH UP IF NULL
		     POPJ P, ]	;[1301]
	CAIE	T1,.CHTAB	;[1301] IS IT A TAB?
	JRST	ERRFN4		;[1301] NO, JUST OUTPUT
	SKIPGE	TABCHR		;[1301] TAB CHARACTER STILL A TAB?
	JRST	ERRFN4		;[1301] YES
	MOVEI	T1," "		;[1301] NO, GET A SPACE
	PUSHJ	P,.TCHAR##	;[1301] OUTPUT IT
	MOVEI	T1," "		;[1301] GET ANOTHER SPACE
ERRFN4:	PUSHJ	P,.TCHAR##	;[1301] OUTPUT CHARACTER
	JRST	ERRFN3		;[1301] LOOP UNTIL DONE

ERRFAI:	JRST	ER.FIN##	;FINISH OFF MESSAGE

.RPOPJ::			;HERE TO RETURN CPOPJ
	MOVE	T1,UUOTRAP	;GET PC WORD
	TXZ	T1,PC.LIP	;TURN OF LAST INST PUBLIC INCASE EXECUTE ONLY
IFE FTSINGLE,<
	HRRZ	T2,SEGBLK+1	;GET THIS SEGMENT NAME
	CAIE	T2,'ERR'	;IF MULTI-SEGMENTED
>
	JRSTF	@T1		;NO
IFE FTSINGLE,<
	PUSH	P,T1		;STORE RETURN ADDRESS
	JRST	@LSTSEG		;AND RETURN VIA PREV SEGMENT
>
SUBTTL	HASH MACROS


IF1,<			;ALL ON PASS 1
 DEFINE GETSYM (N)<$ER'N==0>
 N==0
	XLIST
 REPEAT E.PRM,<
  GETSYM \N
  N==N+1
 >

 DEFINE HASH (CODE,GOTO,TEXT)<
%ER'CODE:
 IFIDN <GOTO><@>,<
	1B0+CODE'TAB>
 IFDIF <GOTO><@>,<
	GOTO>
	ASCIZ	\TEXT\
  SXB=(<SIXBIT /CODE/>)
  Q=SXB/E.PRM
  R=SXB-Q*E.PRM
  IFGE Q-E.PRM,<Q=Q-Q/E.PRM*E.PRM>
  IFE Q,<Q=1>
  TRY=1
  ITEM Q,\R,CODE
  IFL E.PRM-TRY,<PRINTX HASH FAILURE>
 >

 DEFINE ITEM (QT,RM,CD)<
  IFN $ER'RM,<
   R=R+QT
   IFL E.PRM-R,<R=R-R/E.PRM*E.PRM>
   IFGE E.PRM-<TRY=TRY+1>,<ITEM Q,\R,CD>
  >
  IFE $ER'RM,<
   $ER'RM=SXB,,%ER'CD
>>>

IF2,<
 DEFINE HASH (CODE,GOTO,TEXT)<
  %ER'CODE:
  PURGE %ER'CODE
  IFIDN <GOTO><@>,<
	1B0+CODE'TAB>
  IFDIF <GOTO><@>,<
	GOTO>
	XLIST
	ASCIZ	\TEXT\
	LIST
>>
DEFINE TABLE (CODE,N)<
	EXP	CODE'N
>
DEFINE VIATBL (CODE,FIRST,LAST)<
CODE'TAB:	<FIRST&777777>,,<LAST&777777>
	N=FIRST
 REPEAT LAST-FIRST,<
  M=N&777
  TABLE CODE,\M
  N=N+1
>>

DEFINE INDEX (CODE,IDX,GOTO,TEXT)<
 IRP CODE,<
  N=IDX&777
  LABEL CODE,\N
 >
 EXP	GOTO
	XLIST
	ASCIZ	\TEXT\
	LIST
>

DEFINE LABEL (CODE,NUMBER)<
CODE'NUMBER:
>
SUBTTL	HASH TABLE


HSHTAB:
IF1,<	BLOCK	E.PRM>		;ALLOCATE SPACE ON PASS 1
IF2,<
 DEFINE GETSYM (N)<
	$ER'N
 >
 N==0
	SALL
 REPEAT E.PRM,<
  GETSYM \N
  N==N+1
 >

 DEFINE PRGSYM (N)<
  PURGE $ER'N
 >
 N==0
 REPEAT E.PRM,<
  PRGSYM \N
  N==N+1
 >
 PURGE N,SXB,Q,R,TRY
>
SUBTTL	INDIRECT TABLES


VIATBL	(FEE,-1,LRELEN)
VIATBL	(FLE,0,LRELEN)
VIATBL	(FRE,0,LRELEN)
VIATBL	(GSE,0,LRELEN)
SUBTTL	CODE LVL  SEV	FIRST LINE MESSAGE


COMMENT	\

CODE LVL  SEV	FIRST LINE MESSAGE


ABT   31   31	Load aborted due to %LNKTMA errors, max. /ARSIZE: needed was [decimal]
AIC   31   31	Attempt to increase size of {blank common} {common [symbol]} from [decimal] to [decimal]
		{Detected in module [symbol] from file [file]}
AMM   **   **	Argument mismatch in argument [number] in call to routine [routine]
		called from module [module] at location [address]

AMP    8    8	ALGOL main program not loaded
ANM   31   31	Address not in memory
ARL    8    8	Ambiguous request in link [decimal] {name [name]} for [symbol] defined in
		links [decimal], [decimal], ...
AZW   31   31	Allocating zero words
CBO   31   31	Cannot build overlays outside section zero
CCD   31   31	CPU conflict
		{Detected in module [symbol] from file [file]}
CCE   8	    8	Character Constant not word aligned in call to routine 
		[routine] called from module [module] at location [address]
CCS   31   31   Cannot create section [octal]
		{Detected in module [symbol] from file [file]}
CFS   31   28   Chained fixups have been suppressed
CLD   31   28	Cannot load DDT
		{JSYS error text}
CLF    1    1	Closing log file, continuing on file [file]
CM6   31   31	Cannot mix COBOL-68 and COBOL compiled code
		{Detected in module [symbol] from file [file]}
CM7   31   31	Cannot mix COBOL-74 and COBOL compiled code
		{Detected in module [symbol] from file [file]}
CMC   31   31	Cannot mix COBOL-68 and COBOL-74 compiled code
		{Detected in module [symbol] from file [file]}
CMF   31   31	COBOL module must be loaded first
		{Detected in module [symbol] from file [file]}
CMP   31   28	Common [symbol] declared in multiple psects
		{Detected in module [symbol] from file [file]}
CMX    8    8	Cannot mix GFloating FORTRAN compiled code with FORTRAN compiled code
		{Detected in module [symbol] from file [file]}
CNW   31   31	Code not yet written at [label]
COE    8    8	Both CONCATENATE and OVERLAY attributes specified for psect [name]
		{Detected in module [symbol] from file [file]}
COF    *    *	Cannot open file [file]
		{JSYS error text} 
CPU   31   31	Module incompatible with specified CPU
		{Detected in module [symbol] from file [file]}
CRS    1    1   Creating section [octal]
CSF    1    1	Creating saved file
CSP   31   28	Cannot setup UDDT symbol table pointers
		{JSYS error text}
DEB   31    1	[Name] execution
DLT   38    1	Execution deleted
DNS    8    8	Device not specified for switch [switch]
DNA   31   28	DDT not available
		{JSYS error text}
DRC    8    8	Decreasing relocation counter [symbol] from [octal] to [octal]
		{Detected im module [symbol] from file [file]}
DSC   31   31	Data store to common [symbol] not in link number [decimal]
		{Detected in module [symbol] from file [file]}
DSL   31    *	Data store to location [octal] not in link number [decimal]
		{Detected in module [symbol] from file [file]}
DUZ   31   31	Decreasing undefined symbol count below zero
EAS   31   31	Error creating area AS overflow file {[reason]} [file]
		{JSYS error text} 
ECE   31   31	Error creating EXE file {[reason]} [file]
		{JSYS error text} 
EGD    1    1	Emergency GETSEG done
EHC   31   31	Error creating area HC overflow file [reason] [file]
EIF   31   31	Error for input file {Status [octal] for file} [file]
		{JSYS error text} 
ELC   31   31	Error creating area LC overflow file [reason] [file]
ELF    1    1	End of log file
ELN    7    1	End of link number [decimal] {name [name]}
ELS   31   31	Error creating area LS overflow file {[reason]} [file]
		{JSYS error text} 
EMS    1    1	End of MAP segment
EOE   31   31	EXE file output error Status [octal] for file [file]
EOI   31   31	Error on input Status [octal] for file [file]
EOO   31   31	Error on output Status [octal] for file [file]
EOV   31   31	Error creating overlay file [reason] [file]
ETP   31   31	Error creating area TP overflow file {[reason]} [file]
		{JSYS error text} 
EXP    3    1	Expanding low segment to [memory]
EXS    1    1	EXIT segment
FCF    1    1	Final code fixups
FEE    *    *	ENTER error [reason] [file]
FIN    1    1	LINK finished
FLE    *    *	LOOKUP error [reason] [file]
FRE    *    *	RENAME error [reason] [file]
FSN   31   31	FUNCT. subroutine not loaded
FTH   15   15	Fullword value [symbol] truncated to halfword
GSE    *    *	GETSEG error [reason] [file]
HCL   31   31	High segment code not allowed in an overlay link
		{Detected in module [symbol] from file [file]}
HSL   31   31	Attempt to set high segment origin too low
		{Detected in module [symbol] from file [file]}
HTL   31   31	Symbol hash table too large
IAS   31   31	Error inputting area AS {Status [octal]} for file [file]
		{JSYS error text} 
ICB    8    8	Invalid chain REL block (type 12) link number [octal]
		{Detected in module [symbol] from file [file]}
IDM   31   31	Illegal data mode for device [device]
IHC   31   31	Error inputting area HC {Status [octal] for file [file]}
		{JSYS error text} 
ILC   31   31	Error inputting area LC {Status [octal] for file [file]}
		{JSYS error text} 
ILS   31   31	Error inputting area LS {Status [octal]} for file [file]
		{JSYS error text} 
IMA    8    8	Incremental maps not yet available
IMI   31   31	Insufficient memory to initialize LINK
IMM    *    1	[Decimal] included modules missing {from file [file]}
INS   31   31	I/O data block not set up
IOV   31   31	Input error for overlay file Status [octal] for file [file]
IPO   31   31	Invalid polish operator [octal]
		{Detected in module [symbol] from file [file]}
IPX   31   31	Invalid psect index {for psect [symbol]}
		{Detected in module [symbol] from file [file]}
IRB   31   31	Illegal REL block type [octal]
		{Detected in module [symbol] from file [file]}
IRC   31   31	Illegal relocation counter
		{Detected in module [symbol] from file [file]}
IRR    8    8	Illegal request/require block
		{Detected in module [symbol] from file [file]}
ISM   31   31	Incomplete symbol in store operator in polish block (type 11 or 1072)
		{Detected in module [symbol] from file [file]}
ISN   31   31	Illegal symbol name [symbol]
		{Detected in module [symbol] from file [file]}
ISP   31   31	Incorrect symbol pointer
ISS    8    8	Insufficient space for symbol table after psect [symbol] -- table truncated
IST   31   31	Inconsistency in switch table
ITB   31   31	Invalid text in ASCII block from file [file]
ITP   31   31	Error inputting area TP {Status [octal]} for file [file]
		{JSYS error text} 
IUU    *   31	Illegal user UUO at PC [octal]
IVC   31   31	Index validation check failed at address [octal]
JPB    8    8	Junk at end of polish block
		{Detected in module [symbol] from file [file]}
LDS    1    1	LOAD segment
LFB    1    1	LINK log file begun on [date]
LFC    1    1	Log file continuation
LFI    1    1	Log file initialization
LII    8    1	Library index inconsistent, continuing
LIN    1    1	LINK initialization
LMM   **   **	Length mismatch for argument [number] in call to routine [routine]
		called from module [module] at location [address]
LMN    6    1	Loading module [symbol]
LNA    8    8	Link name [name] already assigned to link number [decimal]
LNL    8    8	Link number [decimal] not loaded
LNM   31   31	Link number [decimal] not in memory
LNN    8    8	Link name [name] not assigned
LNS   31    8	Low segment data base not same size
LSM    8    8	/LINK switch missing while loading link number [decimal] -- assumed
LSS   31    1	{No} Library search symbols (entry points)
		{[symbol]	[octal]
		  . . .		 . . . }
MDS    8    8	Multiply-defined global symbol [symbol]
		{Detected in module [symbol] from file [file]}
		Defined value = [octal], this value = [octal]
MEF   31   31	Memory expansion failed
MMF   31   31   Memory manager failure
MOV    1    1	Moving low segment to expand area [area]
MPS    1    1	MAP segment
MPT   31   31	Mixed psect and twoseg code in same module
		{Detected in module [symbol] from file [file]}
MRN    1    1	Multiple regions not yet implemented
MSN    8    8	Map sorting not yet implemented
MSS    8    8	/MAXCOR: set too small, expanding to [memory]
MTB    8    8	/MAXCOR: too big, [memory] used
MTS    8    8	/MAXCOR: too small, at least [memory] is required
NAP   31   31	No store address in polish block (type 11 or 1072)
		{Detected in module [symbol] from file [file]}
NBR   31   31	Attempt to position to node before the root
NEB    8    8	No end block seen
		{Detected in module [symbol] from file [file]}
NED   31   24	Non-existent device [device]
NFS   31   28	No free section for XDDT
NHN   31   31	No high segment in nonzero section
NPS    8    8	Non-existent psect [symbol] specified for symbol table
NSA   31    1	No start address
NSM    8    1   /NODE switch missing after /LINK switch
NSO   31   31	No store operator in polish block (type 11 or 1072)
		{Detected in module [symbol] from file [file]}
NVR   **   **	No value returned by routine [routine]
		called from module [module] at location [address]
OAS   31   31	Error outputting area AS {Status [octal]} for file [file]
		{JSYS error text} 
OEL    8    8	Output error on log file, file closed, load continuing {Status [octal] for
		file [file]}
OEM    8    8	Output error on map file, file closed, load continuing Status [octal] for
		file [file]
OES    8    8	Output error on symbol file, file closed, load continuing Status [octal] for
		file [file]
OEX    8    8	Output error on XPN file, file closed, load continuing Status [octal] for
		file [file]
OFD   31   31	OPEN failure for device [device]
OFN   31   31	Old FORTRAN (F40) module not available
		{Detected in module [symbol] from file [file]}
OFS   31   31	Overlay file must be created on a file structure
OHC   31   31	Error outputting area HC {Status [octal] for file [file]}
		{JSYS error text} 
OHN   31   31	Overlay handler not loaded
OLC   31   31	Error outputting area LC {Status [octal] for file [file]}
		{JSYS error text} 
OLS   31   31	Error outputting area LS {Status [octal]} for file [file]
		{JSYS error text} 
OMB   31   31	/OVERLAY switch must be first
ONS    8    1	Overlays not supported in this version of LINK
OOV   31   31	Output error for overlay file Status [octal] for file [file]
OS2    1    1	Overlay segment phase 2
OSL    8    8	Overlaid program symbols must be in low segment
OTP   31   31	Error outputting area TP {Status [octal]} for file [file]
		{JSYS error text} 
PAS    1    1	Area AS overflowing to disk
PBI    8    8	Program break [octal] invalid
		{Detected in module [symbol] from file [file]}
PCL    8    8	Program too complex to load, saving as file [file]
PCX    8    1	Program too complex to load and execute, will run from file [file]
PEF   31    8	Premature end of file from file [file]
PEL   31    8	Psect [symbol] exceeded limit of [octal]
		{Detected in module [symbol] from file [file]}
PHC    1    1	Area HC overflowing to disk
PLC    1    1	Area LC overflowing to disk
PLS    1    1	Area LS overflowing to disk
PMA   **   **	Possible modification of argument [number] in call to routine [routine]
		called from module [module] at location [address]
POT    1    1	Plotting overlay tree
POV    8    8	Psects [symbol] and [symbol] overlap from address [octal] to [octal]
PTP    1    1	Area TP overflowing to disk
PTL   31   31	Program too long
		{Detected in module [symbol] from file [file]}
PUF   31   31	PAGE. UUO failed, error code was [octal]
RBS   31   31	REL block type [octal] too short
		{Detected in module [symbol] from file [file]}
RED    1    1	Reducing low segment to [memory]
RER    *    1	{No} Request external references (inter-link entry points)
		{[symbol]	[octal]
		  . . .		 . . .}
RGS    1    1	Rehashing global symbol table from [decimal] to [decimal]
RLC   31    1	Reloc ctr.	initial value	current value
		{[symbol]	[octal]		[octal]
		  . . .		 . . .		 . . .}
RME   31    *	REMAP error{, high segment origin may be incorrect}
RUM   31   31	Returning unavailable memory
RWA    8    8	Both READ-ONLY and WRITABLE attributes specified for psect [name]
		{Detected in module [symbol] from file [file]}
SFU    8    8	Symbol table fouled up
SIF   31   31	Symbol insert failure, non-zero hole found
SMP    8    8	SIMULA main program not loaded
SNC   31   31	Symbol [symbol] already defined, but not as common
		{Detected in module [symbol] from file [file]}
SNL    1    1	Scanning new command line
SNP    8    8	Subroutine [symbol] in link number [decimal] not on path for call from link
		number [decimal] {name [name]}
SNS   31   31	SITGO not supported
		{Detected in module [symbol] from file [file]}
SOE   31   31	Saved file output error Status [octal] for file [file]
SPF   31    8	Splice fork failed {,saving on file [file]}
SRB    8    8	Attempt to set relocation counter [symbol] below initial value of [octal]
		{Detected in module [symbol] from file [file]}
SRP   31   31	/SET: switch required for psect [symbol]
		{Detected in module [symbol] from file [file]}
SSN    8    8	Symbol table sorting not yet implemented
SST    1    1	Sorting symbol table
STC    1    1	Symbol table completed
STL   31   31	Symbol too long
T13   31   31	LVAR REL block (type 13) not implemented
		{Detected in module [symbol] from file [file]}
TDS    8    8	Too late to delete initial symbols
TMA   31    8	Too many ambiguous requests in link [decimal] {name [name]}, use
		/ARSIZE:[decimal]
		{Detected in module [symbol] from file [file]}
TML   31   31	Too many links, use /MAXNODE
TMM   **   **	Type mismatch for argument [number] in call to routine [routine]
		called from module [module] at location [address]

TTF    8    8	Too many titles found
UAR    8    8	Undefined assign for [symbol]
		{Detected in module [symbol] from file [file]}
UCB    8    8   Unknown COMMON [symbol] referenced
UIE   31   31	Unexpected internal error during error processing
UGS    *    1	{No} Undefined global symbols
		{[symbol]	[octal]
		  . . .		 . . .}
UMF   31   31	Unexpected monitor call failure for [JSYS] at PC [octal]
		{JSYS error text} 
UNS   31   31	Universal file REL block (type 777) not supported
		from file [file]
URC   31    1	Unknown radix-50 symbol code [octal] [symbol]
		{Detected in module [symbol] from file [file]}
URV   **   **	Unexpect return value in call to routine [routine]
		from module [module] at location [address]
USA    8    8	Undefined start address [symbol]
USB    8    8	Undefined symbol in byte array (type 1004) block
		{Detected in module [symbol] from file [file]}
USC   31    8	Undefined subroutine [symbol] called from link number [decimal] {name
		[name]}
USD    8    8	Undefined symbol [symbol] in sparse data (type 1160) block
USI    8   16	Undefined symbol [symbol] illegal in switch [switch]
UUA    8    8	Undefined /UPTO: address [symbol]
VAL   31    1	Symbol [symbol] [octal] [type]
WNA   **   **	Wrong number of arguments in call to routine [routine]
		called from module [module] at location [address]
XCT   31    1	[Name] execution
ZSV    8    8	Zero switch value illegal

END   OF   COMMENT \
SUBTTL	LONG MESSAGES


HASH	ABT,0,<
	You loaded programs containing more  ambiguous	subroutine
	requests than can fit in the tables of one or more overlay
	links.	You received a LNKARL message for  each  ambiguous
	request,  and a LNKTMA message for each link with too many
	requests.  You can solve this problem  in  either  of  two
	ways.	One  is  to  use  the  /ARSIZE	switch	before the
	/OVERLAY switch, thus expanding all the tables.  The other
	is to use the /ARSIZE switch just before each /LINK switch
	to expand the tables separately.>

HASH	AIC,0,<
	FORTRAN  common  areas  cannot  be  expanded once defined.
	Either load the module with the largest definition  first,
	or use the /COMMON: switch to reserve the needed space.>

HASH	AMM,0,<
	The caller supplied argument  does not match the  argument
	expected by the callee.>

HASH	AMP,0,<
	You loaded ALGOL procedures, but  no  main  program.   The
	missing start address and undefined symbols will terminate
	execution.>

HASH	ANM,0,<
	LINK expected a particular user address to be  in  memory,
	but  it  is  not  there.   This is an internal LINK error.
	This message is not expected to occur.	If it does, please
	notify	 your  Software  Specialist  or  send  a  Software
	Performance Report (SPR) to DIGITAL.>

HASH	ARL,0,<
	More than one successor link can satisfy a  call  from	an
	ancestor  link.  The ancestor link requests an entry point
	that is contained in two or more of its  successors.   You
	should	 revise  your  overlay	structure  to  remove  the
	ambiguity.

	If you execute the current load, one of the following will
	occur when the ambiguous call is executed:

	1.  If only  one  module  satisfying  the  request  is	in
	    memory, that module will be called.

	2.  If two or more modules satisfying the request  are	in
	    memory,  the  one  with  the most links of its path in
	    memory will be called.

	3.  If no modules satisfying the request  are  in  memory,
	    the one with the most links of its path in memory will
	    be called.

	If a module cannot be selected	by  the  methods  2  or  3
	above, one of the modules will be called at random.>

HASH	AZW,0,<
	LINK's memory manager was called  with	a  request  for  0
	words.	 This  is an internal LINK error.  This message is
	not expected to occur.	If it  does,  please  notify  your
	Software  Specialist or send a Software Performance Report
	(SPR) to DIGITAL.>

HASH	CBO,0,<
	You have tried to build an overlay structure for a program
	that is either too large to  fit in section zero or  which
	loads outside section  zero by default.   Check your  LINK
	commands and also the  assembly or compiler commands  used
	to produce the program modules.>

HASH	CCD,0,<
	You  have  loaded  modules  compiled  with conflicting CPU
	specifications, such as loading a MACRO  program  compiled
	with  the  statement  .DIRECTIVE KA10 and another compiled
	with .DIRECTIVE KI10. Recompile the affected modules  with
	compatible CPU specifications.>


HASH	CCE,0,<
	Link has detected a character constant that did not  begin
	on a word boundary.  This error is most likely the  result
	of  a  language  translator  error.   This  error  is  not
	exspected to  occur.   If  it  does,  please  notify  your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.> ;[2322]

HASH	CCS,0,<
	LINK is  unable to  create  the specified  section.   This
	could be  because  your  system  does  not  have  extended
	addressing hardware,  or  because there  are  insufficient
	resources to create a section.>

IFN TOPS20,<			;[2304]
HASH	CLD,0,<
	DDT could not be loaded  into memory  with  your  program.
	The  second line  of the error message is the last TOPS-20
	process error and indicates why the  error occurred.> ;[2304]
> ;[2304] END IFN TOPS20

HASH	CLF,0,<
	You  have changed the log file specification.  The old log
	file is closed;  further log entries are  written  in  the
	new log file.>

HASH	CFS,0,<
	Fixups may not have been done because of a psect exceeding
	it's  upper  limit.  The   resulting  image  is   probably
	incorrect.>

HASH	CM6,0,<
	You cannot use COBOL-68 and COBOL files in the same  load.
	Compile  all COBOL programs with  the  same  compiler  and
	reload.>

HASH	CM7,0,<
	You cannot use COBOL-74 and COBOL files in the same  load.
	Compile  all COBOL programs with  the  same  compiler  and
	reload.>

HASH	CMC,0,<
	You cannot use COBOL-68 and COBOL-74  files  in  the  same
	load.	Compile  all COBOL programs with the same compiler
	and reload.>

HASH	CMF,0,<
	You are loading a  mixture  of	COBOL-compiled	files  and
	other files.  Load one of the COBOL-compiled files first.>

HASH	CMP,0,<
	You have loaded  a module which  specifies that the  named
	common block  must  be loaded  in  a psect  which  is  not
	compatible with  the  psect  in which  it  was  originally
	loaded.  Compile the  module with the  common in the  same
	psect as the original.>

HASH	CMX,0,<
	You cannot load modules  produced by FORTRAN with  modules
	produced  by  GFLoating  FORTRAN.   Compile  all   FORTRAN
	modules the same way, then reload.>

HASH	CNW,0,<
	You attempted to use an unimplemented feature.	This is an
	internal  LINK	error.	 This  message	is not expected to
	occur.	If it does, please notify your Software Specialist
	or send a Software Performance Report (SPR) to DIGITAL.>

HASH	COE,0,<
	One of the modules you have already loaded explicitly sets
	an attribute for the named psect which conflicts with  the
	declaration of  psect attributes  in the  current  module.
	Check  the   compiler   switches  or   assembly   language
	directives that  were  used  in  the  generation  of  this
	module.>

HASH	COF,0,<
	LINK cannot open the specified file for input.>

HASH	CPU,0,<
	The module you are attempting to load does not  contain  a
	.DIRECTIVE for any of the CPUs you specified with the /CPU
	switch.  Recompile the module with the proper  .DIRECTIVE,
	or use a different /CPU switch.>

HASH	CRS,0,<
	You have  loaded  a module  which  contains code  for  the
	section specified.  LINK is creating that section.>

HASH	CSF,0,<
	LINK is generating your executable (EXE) file.>

IFN TOPS20,<			;[2304]
HASH	CSP,0,<
	An  error  occurred  while  writing  UDDT's  symbol  table
	pointers.  Symbols may not be available for use now.  This
	is  probably  because  the symbol table pointers were on a
	write-protected memory page.>
> ;[2304] END IFN TOP20

HASH	DEB,0,<
	LINK is beginning program execution at the named debugger.>

HASH	DLT,0,<
	Though  you  have asked for program execution, LINK cannot
	proceed due to earlier  fatal  compiler  or  LINK  errors.
	Your program is left in memory or in an executable file.>

IFN TOPS20,<			;[2304]
HASH	DNA,0,<
	SYS:UDDT.EXE could not be found.>
> ;[2304] END IFN TOP20

HASH	DNS,0,<
	You  used  a  device   switch	(for   example,   /REWIND,
	/BACKSPACE),  but  LINK cannot associate a device with the
	switch.  Neither LINK's default device nor any device  you
	gave  with the /DEFAULT switch can apply.  Give the device
	with or before the switch (in the same command line).>

HASH	DRC,0,<
	You are using the /SET switch to reduce the  value  of	an
	already  defined  relocation  counter.	 Unless  you  know
	exactly  where	each  module  is  loaded,  code   may	be
	overwritten.>

HASH	DSC,0,<
	You loaded a FORTRAN-compiled module with  DATA  statement
	assignments  to a common area.	The common area is already
	defined in an ancestor link.  Restructure the load so that
	the  DATA  statements  are  loaded in the same link as the
	common area to which they refer.>

HASH	DSL,0,<
	You have a data store for an absolute location outside the
	specified link.  Load the module into the root link.


				   NOTE

	    If the location is less than 140, this message has
	    level 8 and severity 8.


	>

HASH	DUZ,0,<
	LINK's undefined symbol count has become  negative.   This
	message  is  not  expected  to	occur.	If it does, please
	notify	your  Software	Specialist  or	send  a   Software
	Performance Report (SPR) to DIGITAL.>

HASH	EAS,0,<
	LINK could not make the ALGOL symbol table  on	the  disk.
	You  could  be	over your disk quota, or the disk could be
	full or have errors.>

HASH	ECE,0,<
	LINK could not write the saved	file  on  the  disk.   You
	could  be  over your disk quota, or the disk could be full
	or have errors.>

IFE FTSINGLE,< ;[2300]
HASH	EGD,0,<
	LINK has expanded its low segment so large that one of its
	larger high segments will not now  fit  in  memory.   LINK
	will  attempt  to  shrink  its internal tables so that the
	GETSEG will succeed and loading continue.>
>;[2300] IFE FTSINGLE

HASH	EHC,0,<
	LINK could not write your high-segment code on	the  disk.
	You  could  be	over your disk quota, or the disk could be
	full or have errors.>

IFE TOPS20,<
HASH	EIF,0,<
	A  read  error has occurred on the input file.  Use of the
	file is terminated and the file is released.   The  status
	is represented by the right half of the file status  word.
	Refer	to   the   DECsystem-10   Monitor  Calls  for  the
	explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	EIF,0,<
	A  read  error has occurred on the input file.  Use of the
	file is terminated and the file is released.>
> ;END IFN TOPS20

HASH	ELC,0,<
	LINK could not write your low-segment code  on	the  disk.
	You  could  be	over your disk quota, or the disk could be
	full or have errors.>

HASH	ELF,0,<
	LINK  has  finished  writing  your  log file.  The file is
	closed.>


HASH	ELN,0,<
	The link is loaded.>

HASH	ELS,0,<
	LINK could not write your local symbol table on the  disk.
	You  could  be	over your disk quota, or the disk could be
	full or have errors.>

HASH	EMS,0,<
	The map file is completed and closed.>

IFE TOPS20,<
HASH	EOE,0,<
	LINK  could  not  write  the  saved file on the disk.  The
	status is represented by the left half of the file  status
	word.    Refer  to  the DECsystem-10 Monitor Calls for the
	explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	EOE,0,<
	LINK could not write the saved file on the disk.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	EOI,0,<
	An error has been detected while reading the  named  file.
	The  status  is  represented by the right half of the file
	status word.  Refer to the DECsystem-10 Monitor Calls  for
	the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	EOI,0,<
	An error has been detected while reading the named file.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	EOO,0,<
	An error has been detected while writing the  named  file.
	The  status  is  represented by the right half of the file
	status word.  Refer to the DECsystem-10 Monitor Calls  for
	the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	EOO,0,<
	An error has been detected while writing the named file.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	EOV,0,<
	LINK  could  not  write the overlay file on the disk.  The
	status is represented by the left half of the file  status
	word.    Refer  to  the DECsystem-10 Monitor Calls for the
	explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	EOV,0,<
	LINK could not write the overlay file on the disk.>
> ;END IFN TOPS20

HASH	ETP,0,<
	LINK could not  make the  typechecking area  on the  disk.
	You could be over  your disk quota, or  the disk could  be
	full or have errors.> ;[2301]

IFE TOPS20,<
HASH	EXP,0,<
	LINK is expanding memory to the specified amount.  You can
	speed  up future loads of this program by using the /CORE:
	switch to allocate the required memory.>
> ;END IFE TOPS20

HASH	EXS,0,<
	LINK is in the last stages of loading  your  program  (for
	example,  creating  EXE  and  symbol  files, preparing for
	execution if requested).>

HASH	FCF,0,<
	LINK  is  reading  one	or  both  segment  overflow  files
	backwards  to  perform	any  needed code fixups.  This may
	cause considerable disk overhead, but occurs only if  your
	program is too big for memory.>

HASH	FEE,@

HASH	FIN,0,<
	LINK is finished.  Control is passed to the monitor, or to
	the loaded program for execution.>

HASH	FLE,@

HASH	FRE,@

HASH	FSN,0,<
	During final processing of your root link, LINK found that
	the FUNCT. subroutine was not loaded.  This would cause an
	infinite recursion if your  program  were  executed.   The
	FUNCT. subroutine is requested by the overlay handler, and
	is usually loaded from a default system  library.   Either
	you  prevented	searching  of system libraries, or you did
	not  load  a  main  program  from  an	overlay-supporting
	compiler into the root link.>

HASH	FTH,0,< 
	A symbol  with a  value greater  than 777777  was used  to
	resolve a halfword reference.  This may indicate a that  a
	global symbol was used improperly.>


HASH	GSE,@

HASH	HCL,0,<
	You  have  attempted  to  load  high  segment code into an
	overlay link other than the root. Any high segment code in
	an overlaid program must be in the root.>

IFE TOPS20,<
HASH	HSL,0,<
	You have set the high-segment counter to a page containing
	low-segment code.  Reload, using the /SET:.HIGH.:n switch,
	or (for MACRO programs)  reassemble  after  changing  your
	TWOSEG	 pseudo-op.    Note   that   you  cannot  set  the
	high-segment counter  below  400000  for  a  KI10  monitor
	before 5.07, or for any KA10 monitor.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	HSL,0,<
	You have set the high-segment counter to a page containing
	low-segment code.  Reload, using the /SET:.HIGH.:n switch,
	or (for MACRO programs)  reassemble  after  changing  your
	TWOSEG pseudo-op.>
> ;END IFN TOPS20

HASH	HTL,0,<
	Your symbol hash table is larger than the maximum LINK can
	generate  (about  50P).   This	table  size is an assembly
	parameter.  This message is not expected to occur.  If	it
	does,  please  notify  your  Software Specialist or send a
	Software Performance Report (SPR) to DIGITAL.>

IFE TOPS20,<
HASH	IAS,0,<
	An error  occurred  while  reading  in	the  ALGOL  symbol
	table.  The status is represented by the right half of the
	file status word.  Refer to the DECsystem-10 Monitor Calls
	for the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	IAS,0,<
	An error  occurred  while  reading  in  the  ALGOL  symbol
	table.>
> ;END IFN TOPS20

HASH	ICB,0,<
	REL   block  type  12  (chain),  generated  by  the  MACRO
	pseudo-op .LINK and .LNKEND, must contain a number from  1
	to  100  (octal)  in  its  first  word.   The link word is
	ignored.>

HASH	IDM,0,<
	You specified an illegal combination of  device  and  data
	mode  (for  example, terminal and dump mode).  Respecify a
	legal device.>

IFE TOPS20,<
HASH	IHC,0,<
	An error  occurred  while  reading  in	your  high-segment
	code.  The status is represented by the right half of  the
	file status word.  Refer to the DECsystem-10 Monitor Calls
	for the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	IHC,0,<
	An error  occurred  while  reading  in	your  high-segment
	code.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	ILC,0,<
	An  error occurred while reading in your low-segment code.
	The status is represented by the right half  of  the  file
	status  word.  Refer to the DECsystem-10 Monitor Calls for
	the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	ILC,0,<
	An error occurred while reading in your low-segment code.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	ILS,0,<
	An error occurred  while  reading  in  your  local  symbol
	table.  The status is represented by the right half of the
	file status word.  Refer to the DECsystem-10 Monitor Calls
	for the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	ILS,0,<
	An error occurred  while  reading  in  your  local  symbol
	table.>
> ;END IFN TOPS20

HASH	IMA,0,<
	The  INCREMENTAL  keyword  for  the  /MAP:  switch  is not
	implemented.  The switch is ignored.>

HASH	IMI,0,<
	LINK needs more memory than is available.>

HASH	IMM,0,<
	You  have  requested  with  the  /INCLUDE: switch that the
	named  modules  (if  any)  be   loaded.     Specify  files
	containing these modules.>

HASH	INS,0,<
	LINK attempted a monitor call (for example, LOOKUP, ENTER)
	for  a	channel  that  is not set up.  This is an internal
	LINK error.  This message is not expected to occur.  If it
	does,  please  notify  your  Software Specialist or send a
	Software Performance Report (SPR) to DIGITAL.>

IFE TOPS20,<
HASH	IOV,0,<
	An error occurred when	reading  the  overlay  file.   The
	status is represented by the right half of the file status
	word.  Refer to the DECsystem-10  Monitor  Calls  for  the
	explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	IOV,0,<
	An error occurred when reading the overlay file.>
> ;END IFN TOPS20

HASH	IPO,0,<
	You are attempting  to load a  file containing an  invalid
	REL block type 11 or  1072 (polish).  This message is  not
	expected  to  occur.   If  it  does,  please  notify  your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

HASH	IPX,0,<
	A REL block contains a reference to a  nonexistent  psect.
	This  error  is probably caused by a fault in the language
	translator used  for  the  program.   This  error  is  not
	expected  to  occur.   If  it  does,  please  notify  your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

HASH	IRB,0,<
	The file is not in the proper binary format.  It may  have
	been   generated  by  a  translator  that  LINK  does  not
	recognize, or it may be an ASCII or EXE file.>

IFN .NWBLK,<
HASH	IRC,0,<
	One  of  the  new  style  1000+ block types has an illegal
	relocation  counter.   This  message  is  not  expected to
	occur.  If it does, please notify your Software Specialist
	or send a Software Performance Report (SPR) to DIGITAL.>

HASH	IRR,0,<
	One  of  the  REL block types 1042 or 1043 is in the wrong
	format. This message is not  expected  to  occur.   If  it
	does,  please  notify  your  Software Specialist or send a
	Software Performance Report (SPR) to DIGITAL.>
> ;END IFN .NWBLK

HASH	ISM,0,<
	The specified  module  contains an  incorrectly  formatted
	polish fixup block (type 11 or 1072).  The store  operator
	specifies a symbol fixup, but the block ends before all of
	the symbol is specified.  This error is probably caused by
	a fault in the language  translator used for the  program.
	This error is not expected  to occur.  If it does,  please
	notify  your  Software  Specialist  or  send  a   Software
	Performance Report (SPR) to DIGITAL.>

HASH	ISN,0,<
	The LINK symbol table routine was called  with	the  blank
	symbol.   This  error  can  be  caused  by  a fault in the
	language translator used for the program.  This message is
	not  expected  to  occur.   If it does, please notify your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

HASH	ISP,0,<
	There  is an error in the global symbol table.  This is an
	internal LINK error.  This  message  is  not  expected  to
	occur.  If it does, please notify your Software Specialist
	or send a Software Performance Report (SPR) to DIGITAL.>

HASH	ISS,0,<
	There  is  insufficient address space for the symbol table
	between the named psect and the next higher one or the end
	of  the  address  space.  Restructure your psect layout to
	allow sufficient room for the symbol table.>

HASH	IST,0,<
	LINK has found errors in the switch table passed from  the
	SCAN  module.  This is an internal error.  This message is
	not expected to occur.	If it  does,  please  notify  your
	Software Specialist or send  a Software Performance Report
	(SPR) to DIGITAL.>

HASH	ITB,0,<
	LINK  has  failed  to  complete the processing of an ASCII
	text REL block from the named file.  This is  an  internal
	error.   This  message  is  not  expected to occur.  If it
	does, please notify your Software  Specialist  or  send  a
	Software Performance Report (SPR) to DIGITAL.>

IFE TOPS20,< ;[2301]
HASH	ITP,0,<
	An error occurred while reading in the typechecking  area.
	The status is represented  by the right  half of the  file
	status word.  Refer to the DECsystem-10 Monitor Calls  for
	the explanation of the file status bits.>
> ;[2301] END IFE TOPS20

IFN TOPS20,< ;[2301]
HASH	ITP,0,<
	An error occurred while reading in the typechecking area.>
> ;[2301] END IFN TOPS20

HASH	IUU,0,<
	LINK's  user  UUO  (LUUO)  handler has detected an illegal
	UUO.  This is an internal  error.   This  message  is  not
	expected  to  occur.   If  it  does,  please  notify  your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

HASH	IVC,0,<
	The range checking of LINK's internal  tables  and  arrays
	failed.   The address given is the point in a LINK segment
	at which failure occurred.  This  is  an  internal  error.
	This message is not expected to occur.  If it does, please
	notify  your  Software  Specialist  or  send  a   Software
	Performance Report (SPR) to DIGITAL.>

HASH	JPB,0,<
	The  specified  module  contains  an incorrectly formatted
	polish fixup block  (type  11).  Either  the  last  unused
	halfword  (if  it  exists) is non-zero, or there are extra
	halfwords following  all  valid  data.  LINK  ignores  the
	extra  data.  This  error is probably caused by a fault in
	the language translator used for the program.  This  error
	is  not expected to occur.  If it does, please notify your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

HASH	LDS,0,<
	The LINK module LNKLOD is beginning its processing.>

HASH	LFB,0,<
	LINK is creating your log file as a result of defining the
	logical name LOG:.>

HASH	LFC,0,<
	LINK  is  continuing your log file as a result of the /LOG
	switch.>

HASH	LFI,0,<
	LINK  is  beginning  your log file as a result of the /LOG
	switch.>

HASH	LII,0,<
	A  REL  block  type  14  (index)  for  a  MAKLIB or FUDGE2
	generated library file is inconsistent.   The  library  is
	searched, but the index is ignored.>

HASH	LIN,0,<
	LINK  is  beginning  its  processing  by  initializing its
	internal tables and variables.>

HASH	LMM,0,<
	The length of the argument  passed by the caller does  not
	match what the called routine expects it to be.>

HASH	LMN,0,<
	LINK is loading the named module.>

HASH	LNA,0,<
	You used this name for another link.  Specify a  different
	name for this link.>

HASH	LNL,0,<
	The link with this number has not yet  been  loaded.   The
	/NODE  switch  is  ignored.  If you have used link numbers
	instead of link names with the /NODE switch, you may  have
	confused  the  link  numbers.	To  avoid  this,  use link
	names.>

HASH	LNM,0,<
	LINK  cannot  find  the  named link in memory.  This is an
	internal error.  This message is not  expected  to  occur.
	If it does, please notify your Software Specialist or send
	a Software Performance Report (SPR) to DIGITAL.>

HASH	LNN,0,<
	The name you gave with the /NODE switch is not the name of
	any loaded link.  The switch is ignored.>

IFE FTSINGLE,<
HASH	LNS,0,<^_
	The  length  of LINK's low segment differs from the length
	stored in the current LINK high segment.  This  occurs  if
	some  but  not  all  of LINK's EXE files have been updated
	after rebuilding LINK from sources.  Update all of  LINK's
	EXE files.>
> ;END OF IFE FTSINGLE

HASH	LSM,0,<
	Your use of the /NODE switch shows that you want to  begin
	a  new	overlay  link,	but  the  current  link is not yet
	completely  loaded.    LINK   assumes	a   /LINK   switch
	immediately preceding the /NODE switch, and loads the link
	(without a link name).>

HASH	LSS,0,<
	The  listed  symbols  and  their values (if any) are those
	that are library search entry points.>

HASH	MDS,0,<
	The named module contains a new definition of  an  already
	defined  global symbol.  The old definition is used.  Make
	the definitions consistent and reload.>

HASH	MEF,0,<
	LINK   cannot   expand   memory  further.    All permitted
	overflows to disk have been tried,  but  your  program  is
	still too large for available memory.  A probable cause is
	a large global symbol table, which cannot be overflowed to
	disk.>

HASH	MMF,0,<
	The  internal  memory  manager   in  LINK  has  failed   a
	consistency check.  This error  is not expected to  occur.
	If it does, please notify your Software Specialist or send
	a Software Performance Report (SPR) to DIGITAL.>

HASH	MOV,0,<
	LINK is rearranging its low segment to make more room  for
	the  specified	area.	Area  is  one  of  the	following:
	AS=ALGOL symbol table, BG=bound global symbols, DY=dynamic
	free   memory,  FX=fixup  area,  GS=global  symbol  table,
	HC=your  high-segment  code,  LC=your  low-segment   code,
	LS=local symbol tables, RT=relocation tables.>

HASH	MPS,0,<
	The LINK module LNKMAP is writing a map file.>

HASH	MPT,0,<
	This module contains both psect code and twoseg code. LINK
	cannot  load such a module.  Change the source code to use
	psects .HIGH. and .LOW. as the high and low segments,  and
	remove the TWOSEG or HISEG pseudo-ops.>

HASH	MRN,0,<
	The  REGION  keyword  for  the  /OVERLAY:  switch  is  not
	implemented.  The argument is ignored.>

HASH	MSN,0,<
	Alphabetical or numerical sorting of the map file  is  not
	implemented.   The  symbols  in the map file appear in the
	order they are found in the .REL files.>

HASH	MSS,0,<
	The current value of MAXCOR  is  too  small  for  LINK	to
	operate.  You can speed up future loads of this program by
	setting the /MAXCOR: switch to this expanded size  at  the
	beginning of the load.>

HASH	MTB,0,<
	You are attempting to specify the /MAXCOR: switch so large
	that  the  low segment cannot fit before the high segment.
	LINK will use only the core indicated.>

HASH	MTS,0,<
	LINK needs more space than  you  gave  with  the  /MAXCOR:
	switch.   Give  a  new /MAXCOR:  switch  with at least the
	required size.>

HASH	NAP,0,<
	The specified  module  contains an  incorrectly  formatted
	polish fixup block (type 11 or 1072).  The store  operator
	specifies a memory  fixup, but the  block ends before  the
	address is specified.  This error is probably caused by  a
	fault in  the language  translator used  for the  program.
	This error is not expected  to occur.  If it does,  please
	notify  your  Software  Specialist  or  send  a   Software
	Performance Report (SPR) to DIGITAL.>

HASH	NBR,0,<
	The argument you gave for the /NODE switch would  indicate
	a  link  before  the  root  link.   (For  example,  from a
	position after the third link in a path, you  cannot  give
	/NODE:-4.)>

HASH	NEB,0,<
	No REL block type 5 (end) was found in the  named  module.
	This  will  happen  if LINK finds two type 6 blocks (name)
	without an intervening end, or if an end-of-file is  found
	before  the end block is seen.  LINK simulates the missing
	end block.  However, fatal messages usually  follow  this,
	since this condition usually indicates a bad REL file.>

HASH	NED,0,<
	You gave a device that does  not  exist  on  this  system.
	Correct your input files and reload.>

IFN TOPS20,<			;[2304]
HASH	NFS,0,<
	There is no  free  nonzero  section to  load  SYS:XDDT.EXE
	into.   XDDT can  only be  loaded  into a section which is
	unused by your program.  You must reconfigure your program
	to be able to use XDDT.>
> ;[2304] END IFN TOPS20

HASH	NHN,0,<
	You have  attempted to  load  high  segment  code  into  a
	program  that  is  being loaded  into  a  nonzero section.
	Programs with high segments must be in section zero.>

HASH	NPS,0,<
	You  have  specified  the name of a psect after which LINK
	should append the symbol table, but  no  psect  with  that
	name  was  loaded.   Load  the  named  psect or specify an
	existing psect for the symbols.>

HASH	NSA,0,<
	Your  program  does  not have a starting address. This can
	happen if you neglect to  load  a  main  program.  Program
	execution,  if  requested,  will  be suppressed unless you
	specified debugger execution.>

HASH	NSM,0,<    
        You used the /LINK switch,  which indicates that you  want
        to begin a new overlay link, but you have not specified  a
        NODE switch to tell LINK where to put the new overlay ink.>

HASH	NSO,0,<
	The specified  module  contains an  incorrectly  formatted
	polish fixup block  (type 11 or  1072).  Either the  block
	does not have a  store operator, or LINK  was not able  to
	detect it due to the  block's invalid format.  This  error
	is probably caused by a  fault in the language  translator
	used for  the  program.  This  error  is not  expected  to
	occur.  If it does, please notify your Software Specialist
	or send a Software Performance Report (SPR) to DIGITAL.>

HASH	NVR,0,<
	The called routine  does not return  a value, however  the
	caller expected a returned value.>

IFE TOPS20,<
HASH	OAS,0,<
	An error occurred  while  writing  out	the  ALGOL  symbol
	table.  The status is represented by the right half of the
	file status word.  Refer to the DECsystem-10 Monitor Calls
	for the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OAS,0,<
	An error occurred  while  writing  out  the  ALGOL  symbol
	table.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	OEL,0,<
	An error has occurred on the output file.  The output file
	is closed at the end of the last data successfully output.
	The status is represented by the right half  of  the  file
	status	word.  Refer to the DECsystem-10 Monitor Calls for
	the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OEL,0,<
	An error has occurred on the output file.  The output file
	is  closed  at	the  end  of  the  last  data successfully
	output.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	OEM,0,<
	An error has occurred on the output file.  The output file
	is closed at the end of the last data successfully output.
	The status is represented by the right half  of  the  file
	status	word.  Refer to the DECsystem-10 Monitor Calls for
	the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OEM,0,<
	An error has occurred on the output file.  The output file
	is  closed  at	the  end  of  the  last  data successfully
	output.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	OES,0,<
	An error has occurred on the output file.  The output file
	is closed at the end of the last data successfully output.
	The status is represented by the right half  of  the  file
	status	word.  Refer to the DECsystem-10 Monitor Calls for
	the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OES,0,<
	An error has occurred on the output file.  The output file
	is  closed  at	the  end  of  the  last  data successfully
	output.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	OEX,0,<
	An error has occurred on the output file.  The output file
	is closed at the end of the last data successfully output.
	The status is represented by the right half  of  the  file
	status	word.  Refer to the DECsystem-10 Monitor Calls for
	the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OEX,0,<
	An error has occurred on the output file.  The output file
	is closed at the end of the last data successfully output.>
> ;END IFN TOPS20

HASH	OFD,0,<
	An OPEN or INIT monitor  call  for  the  specified  device
	failed.  The device may be under another user's control.>

HASH	OFN,0,<
	The standard released version of LINK does not support F40
	code.>

HASH	OFS,0,<
	Specify a disk device for the overlay file.>

IFE TOPS20,<
HASH	OHC,0,<
	An error occurred  while  writing  out	your  high-segment
	code.   The status is represented by the right half of the
	file status word.  Refer to the DECsystem-10 Monitor Calls
	for the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OHC,0,<
	An error occurred  while  writing  out  your  high-segment
	code.>
> ;END IFN TOPS20

HASH	OHN,0,<
	Internal symbols in  the  overlay  handler  could  not	be
	referenced.   If  you  are using your own overlay handler,
	this is a user error;  if not, it is  an  internal  error.
	This message is not expected to occur.	If it does, please
	notify	your  Software	Specialist  or	send  a   Software
	Performance Report (SPR) to DIGITAL.>

IFE TOPS20,<
HASH	OLC,0,<
	An error  occurred  while  writing  out  your  low-segment
	code.  The status is represented by the right half of  the
	file status word.  Refer to the DECsystem-10 Monitor Calls
	for the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OLC,0,<
	An error  occurred  while  writing  out  your  low-segment
	code.>
> ;END IFN TOPS20

IFE TOPS20,<
HASH	OLS,0,<
	An error occurred while  writing  out  your  local  symbol
	table.  The status is represented by the right half of the
	file status word.  Refer to the DECsystem-10 Monitor Calls
	for the explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OLS,0,<
	An error occurred while  writing  out  your  local  symbol
	table.>
> ;END IFN TOPS20

IFE FTSINGLE,< ;[2300]
HASH	OMB,0,<
	The /OVERLAY switch must appear before you can use any	of
	the  following	switches:   /ARSIZE:, /LINK, /NODE, /PLOT,
	/SPACE.  (It is sufficient that the /OVERLAY switch appear
	on the same line as the first of these switches you use.)>
>;[2300] IFE FTSINGLE

IFE FTOVERLAY,< ;[2300]
HASH	ONS,0,<
	LINK  handles overlays with its LNKOV1 and LNKOV2 modules.
	Your installation has substituted dummy versions of these.
	You  should  request  that  your installation rebuild LINK
	with the real LNKOV1 and LNKOV2 modules.>
>;[2300] IFE FTOVERLAY

IFE TOPS20,<
HASH	OOV,0,<
	An error has occurred while writing the overlay file.  The
	status is represented by the right half of the file status
	word.  Refer to the DECsystem-10  Monitor  Calls  for  the
	explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	OOV,0,<
	An error has occurred while writing the overlay file.>
> ;END IFN TOPS20

HASH	OS2,0,<
	LINK's module LNKOV2 is writing your overlay file.>

HASH	OSL,0,<
	You  have  specified  /SYMSEG:HIGH  or /SYMSEG:PSECT: when
	loading an  overlay  structure.   Specify  /SYMSEG:LOW  or
	/SYMSEG:DEFAULT.>

IFE TOPS20,< ;[2301]
HASH	OTP,0,<
	An error occurred while writing out the typechecking area.
	The status is represented  by the right  half of the  file
	status word.  Refer to the DECsystem-10 Monitor Calls  for
	the explanation of the file status bits.>
> ;[2301] END IFE TOPS20

IFN TOPS20,< ;[2301]
HASH	OTP,0,<
	An error occurred while writing out the typechecking area.>
> ;[2301] END IFN TOPS20

HASH	PAS,0,<
	The load is too large to fit into the allowed  memory  and
	the ALGOL symbol table is being moved to disk.>

HASH	PBI,0,<
	The highest address  allocated	in  the  named	module	is
	greater than 512P.  This is usually caused by dimensioning
	large arrays.  Modify your programs or load list to reduce
	the size of the load.>

IFE TOPS20,<
HASH	PCL,0,<
	Your program is too complex to load into memory for one of
	the following reasons:

	1.	There  are  page gaps between psects (except below
		the high segment).

	2.	There  are  psects  above  the  origin of the high
		segment.

	3.	Your  program  will  not  fit in memory along with
		LINK's final placement code.

	4.	Your  program's  low  segment  has  the  read-only
		attribute, or the high segment has  the  read  and
		write attribute.

	LINK  has  saved  your  program as an EXE file on disk and
	cleared your user memory.   You  can  use  a  GET  or  RUN
	command to load the EXE file.>

HASH	PCX,0,<
	Your program is too complex to load into memory for one of
	the following reasons:

	1.	There  are  page gaps between psects (except below
		the high segment).

	2.	There  are  psects  above  the  origin of the high
		segment.

	3.	Your  program  will  not  fit in memory along with
		LINK's final placement code.

	4.	Your  program's  low  segment  has  the  read-only
		attribute, or the high segment has  the  read  and
		write attribute.

	LINK  will  save  your  program as an EXE file on disk and
	automatically run  it,  but  the  EXE  file  will  not  be
	deleted.>
> ;END IFE TOPS20

HASH	PEF,0,<
	LINK found an end-of-file inside a REL block (that is, the
	word   count   for   the   block   extended   beyond   the
	end-of-file).   This error can be caused by a fault in the
	language translator used for the program.>

HASH	PEL,0,<
	The Psect named has exceeded  the upper limit set for  it.
	No additional chained  fixups will be  performed, and  the
	resulting image will probably be incorrect.  Symbol  table
	fixups, however will be performed, and all map information
	will be correct.>

IFE TOPS20,< ;[2300]
HASH	PHC,0,<
	The load is too large to  fit into the allowed memory  and
	your high-segment code is being moved to disk.>

HASH	PLC,0,<
	The load is too large to fit into the allowed  memory  and
	your low-segment code is being moved to disk.>
>;[2300] IFE TOPS20

HASH	PMA,0,<
	The caller has specified that  the argument should not  be
	modified.  The called  routine  contains  code  which  may
	modify this argument.  In  some  cases this  message  will
	occur although the  argument is not  actually modified  by
	the routine.>

HASH	PLS,0,<
	The load is too large to fit into the allowed  memory  and
	your local symbol tables are being moved to disk.>

HASH	POT,0,<
	LINK is creating your overlay tree file.>

HASH	POV,0,<
	The named psects overlap each other in the indicated range
	of  addresses.   If  you  do  not  expect  this   message,
	restructure   your  psect  origins  with  the  /SET:PSECT:
	switch.>

HASH	PTL,0,<
	Your program extends beyond location 777777, which is  the
	highest location that LINK is capable of loading.  You may
	be able to make your program fit by moving psect  origins,
	lowering  the  high  segment origin, loading into a single
	segment, reducing the size of arrays in your  program,  or
	using the overlay facility.>

HASH	PTP,0,<
	The load is too large to fit into the allowed  memory  and
	your argument typechecking tables are being moved to disk.>

IFE TOPS20,<
HASH	PUF,0,<
	A PAGE. UUO to rearrange LINK's address space has  failed,
	and  returned  the  error  code given.	You may be able to
	avoid this problem by varying  the  physical  and  virtual
	limits	for  the  job, or by varying the values given with
	the /CORE: and /MAXCOR: switches.   This  is  an  internal
	LINK error.  This message is not expected to occur.  If it
	does, please notify your Software  Specialist  or  send  a
	Software Performance Report (SPR) to DIGITAL.>
> ;END IFE TOPS20

HASH	RBS,0,<
	The REL block is inconsistent.	 This  may  be	caused	by
	incorrect  output  from a translator (for example, missing
	argument for an end  block).   Recompile  the  module  and
	reload.>

IFE TOPS20,< ;[2300]
HASH	RED,0,<
	LINK  is  reclaiming  memory  by  deleting  its   internal
	tables.>
>;[2300] IFE TOPS20

HASH	RER,0,<
	The  listed  symbols  and  their values (if any) represent
	subroutine entry points in the current link.>

HASH	RGS,0,<
	LINK is expanding the global  symbol  table  either  to  a
	prime number larger than your /HASHSIZE: switch requested,
	or by about 50 percent.  You can speed up future loads	of
	this  program  by  setting  /HASHSIZE:  this  large at the
	beginning of the load.>

HASH	RLC,0,<
	The  listed  symbols  and  values  represent  the  current
	placement of psects in your address space.>

IFE TOPS20,< ;[2300]
HASH	RME,0,<
	The  REMAP  UUO  to  place your program's high segment has
	failed.  This message is not expected  to  occur.   If  it
	does,  please  notify  your  Software Specialist or send a
	Software Performance Report (SPR) to DIGITAL.>
>;[2300] IFE TOPS20

HASH	RUM,0,<
	LINK attempted to return memory to the memory manager, but
	the specified memory was not previously  allocated.   This
	is an internal error.  This message  is  not  expected  to
	occur.  If it does, please notify your Software Specialist
	or send a Software Performance Report (SPR) to DIGITAL.>

HASH	RWA,0,<
	One of the modules you have already loaded explicitly sets
	an attribute for the named psect which conflicts with  the
	declaration of  psect attributes  in the  current  module.
	Check  the   compiler   switches  or   assembly   language
	directives that  were  used  in  the  generation  of  this
	module.>

HASH	SFU,0,<
	There are errors  in  the  local  symbol  table.   Loading
	continues,  but  any  maps  you  request  will not contain
	control section lengths.  This is an internal error.  This
	message  is  not  expected  to  occur.  If it does, please
	notify  your  Software  Specialist  or  send  a   Software
	Performance Report (SPR) to DIGITAL.>

HASH	SIF,0,<
	LINK's hashing algorithms  failed;   they  are	trying	to
	write  a  new  symbol over an old one.	You may be able to
	load your files in a different order.  This is an internal
	error.   This  message  is  not  expected to occur.  If it
	does, please notify your Software  Specialist  or  send  a
	Software Performance Report (SPR) to DIGITAL.>

HASH	SMP,0,<
	You loaded some SIMULA procedures or classes, but no  main
	program.  Missing start address and undefined symbols will
	terminate execution.>

HASH	SNC,0,<
	You defined a FORTRAN common  area with the same name as a
	non-common  symbol.   You must decide which definition you
	want.  If you want the common definition, load the  common
	area first.>

HASH	SNL,0,<
	LINK is ready to process the next command line.>

HASH	SNP,0,<
	The named subroutine is  in  a	different  path  from  the
	calling link.  Redefine your overlay structure so that the
	subroutine is in the correct path.>

HASH	SNS,0,<
	LINK does not support the .REL file format produced by the
	SITGO compiler.  Load your program by using SITGO.>

IFE TOPS20,<
HASH	SOE,0,<
	An error occurred in outputting the EXE file.  The  status
	is represented by the right half of the file status  word.
	Refer	to   the   DECsystem-10   Monitor  Calls  for  the
	explanation of the file status bits.>
> ;END IFE TOPS20

IFN TOPS20,<
HASH	SOE,0,<
	An error occurred in outputting the .EXE file.>

HASH	SPF,0,<
	LINK was unable to replace itself with your program  using
	the extended splice fork JSYS.  The probable cause is your
	monitor  not  having   the  extended   splice  fork   code
	installed.  LINK  will save  your program  if it  has  not
	already been  saved,  and will  get  or run  it  from  the
	resulting .EXE file.> ;[2301]
> ;END IFN TOPS20

HASH	SRB,0,<
	You   cannot  use  the  /SET:  switch  to  set  the  named
	relocation counter below its initial value.   The  attempt
	is ignored.>

HASH	SRP,0,<
	Relocatable  psects are not implemented;  you must specify
	an explicit absolute origin with  the  /SET:PSECT:  switch
	for the named psect.>

HASH	SSN,0,<
	Alphabetical or numerical sorting of the symbol  table	is
	not implemented.  The symbols appear in the order they are
	found.>

HASH	SST,0,<
	LINK is rearranging the symbol table, and if required,	is
	converting  the  symbols  from	the  new  to old format as
	indicated on the /SYMSEG, /SYFILE, or /DEBUG switch.>

HASH	STC,0,<
	The symbol table has been sorted and  moved  according	to
	the /SYMSEG, /SYFILE, or /DEBUG switch.>

HASH	STL,0,<
	A symbol  specified in  a  rel block  is longer  than  the
	maximum allowed by LINK.>

HASH	T13,0,<
	REL block type 13  (LVAR)  is  obsolete.   Use	the  MACRO
	pseudo-op TWOSEG.>

HASH	TDS,0,<
	LINK has already loaded  the  initial  symbol  table.	To
	prevent  this  loading, place the /NOINITIAL switch before
	the first file specification.>

HASH	TMA,0,<
	You have more ambiguous subroutine requests (indicated	by
	LNKARL messages) than will fit in the table for this link.
	Continue loading.  Your load will abort at the end with  a
	LNKABT	message;   if  you  have  loaded  all modules, the
	message will give the size of the  needed  /ARSIZE  switch
	for a reload.>

HASH	TML,0,< 
	You have specified more overlay links than were allowed by
	the current value  for the /MAXNODE  switch.  Reload  your
	program with a larger /MAXNODE value.>

HASH	TMM,0,<
	The data type of  the argument passed  by the caller  does
	not match what the called routine expects.>

HASH	TTF,0,<
	In producing the index for a map  file,  LINK  found  more
	program  names	than there are programs.  The symbol table
	is in error.  This is an internal error.  This  message is
	not  expected  to  occur.   If it does, please notify your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

HASH	UAR,0,<
	The  named  symbol  was referenced in a REL block type 100
	(ASSIGN), but the symbol is undefined.  This  is generated
	with  the  MACRO  pseudo-op  .ASSIGN.   The assignment  is
	ignored.   You  should  load  a  module  that  defines the
	symbol.>

HASH	UCB,0,<
	A reference was made to a common block, however the  block
	does not exist.>

HASH	UGS,0,<
	The  listed  symbols  and  their values (if any) represent
	symbols not yet defined by any module.  Each value is  the
	first  address in a chain of references for the associated
	symbol.

	If  this  message  resulted  automatically  at  the end of
	loading, this is a user error.  In  this  case,  the  load
	will   continue,   leaving  references  to  these  symbols
	unresolved.>

IFN TOPS20,<			;[2257]
HASH	UIE,0,<
	An error occurred while processing a previous error.  This
	message  is  not  expected  to occur.   If it does, please
	notify  your  Software   Specialist  or  send  a  Software
	Performance Report (SPR) to DIGITAL.> ;[2257]

HASH	UMF,0,<
	A monitor call has unexpectedly failed.   The  second line
	of the error message is the last TOPS-20 process error and
	indicates  why the  error occurred.   This may be either a
	system problem or a LINK internal error,  depending on the
	message.>		;[2257]
> ;[2257] END IFN TOPS20

HASH	UNS,0,<
	Extraction of symbols from a MACRO universal file  is  not
	implemented.>

HASH	URC,0,<
	In a REL block type 2 (symbols), the first 4 bits of  each
	word  pair  contain  the Radix-50 symbol code.	LINK found
	one or more invalid codes in the block.  This error can be
	caused  by a fault in the language translator used for the
	program.>

HASH	URV,0,<
	The called routine returns a value which was not  expected
	by the caller.>

HASH	USA,0,<
	You gave an undefined global symbol as the start  address.
	Load a module that defines the symbol.>

HASH	USB,0,<
	LINK has detected an undefined global symbol in a type 1004
	REL block.  This global symbol  is used to relocate a  byte
	pointer and must be defined before the 1004 block that uses
	it is seen.   This error is  most likely the  result of  an
	error in the language translator  used to generate the  REL
	file.>

HASH	USC,0,<
	The named link contains a call for a subroutine  you  have
	not  loaded.  If the subroutine is required for execution,
	you must reload, including  the  required  module  in  the
	link.>

HASH	USD,0,<
	LINK has detected  an undefined  global symbol  in a  type
	1160 REL block.  This global symbol is used to relocate  a
	byte pointer and  must be  defined before  the 1160  block
	that uses  it is  seen.   This error  is most  likely  the
	result of  an error  in the  language translator  used  to
	generate the REL file.>

HASH	USI,0,<
	You  have  specified  an undefined symbol to a switch that
	can only take a defined symbol or a number.   Specify  the
	correct switch value.>

HASH	UUA,0,<
	You gave the named symbol as an  argument  to  the  /UPTO:
	switch,  but  the symbol was never defined.  Load a module
	that defines the symbol, or change your  argument  to  the
	/UPTO: switch.>

HASH	VAL,0,<
	LINK  has  printed the specified symbol, its value and its
	attributes as requested.>

HASH	WNA,0,<
	The number of  arguments in  the routine call  is not  the
	number of arguments expected by the called routine.>

HASH	XCT,0,<
	LINK is beginning execution of your program.>

HASH	ZSV,0,<
	You omitted required arguments for a switch (for  example,
	/REQUIRE with no symbols).  Respecify the switch.>

SUBTTL	INDEXED MESSAGES


INDEX	<FEE,FRE>,0,0,<
	One of the following conditions occurred:

	1.  The specified file name was illegal.

	2.  When updating a file, the specified file name did  not
	    match the file being updated.

	3.  The RENAME monitor call  following  a  LOOKUP  monitor
	    call failed.>

INDEX	<FLE,GSE>,0,0,<
	The named file was not found.  Specify an existing file.>

INDEX	<FEE,FLE,FRE,GSE>,1,0,<
	The named directory does  not  exist  on  the  named  file
	structure,  or  the  project-programmer  number  given was
	incorrect.>

INDEX	<FEE,FLE,FRE,GSE>,2,0,<
	You do not have sufficient access privileges  to  use  the
	named file.>

INDEX	FEE,-1,0,<
	The directory on the DECtape has no  room  for  the  file.
	Delete  some  files  from  the  DECtape or specify another
	device.>

INDEX	<FEE,FLE,FRE,GSE>,3,0,<
	Another job is currently modifying the  named  file.   Try
	accessing the file later.>

INDEX	<FEE,FLE,FRE,GSE>,4,0,<
	The named file already exists, or  a  different  file  was
	specified  on  the  ENTER  monitor call following a LOOKUP
	monitor call.>

INDEX	<FEE,FLE,FRE,GSE>,5,%SPR,<
	LINK has specified an illegal sequence  of  monitor  calls
	(e.g.,  a  RENAME  without  a  preceding  LOOKUP  or ENTER
	monitor call, or a LOOKUP after an  ENTER).   This  is  an
	internal  error.   This  message is not expected to occur.
	If it does, please notify your Software Specialist or send
	a Software Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,6,0,<
	One of the following conditions occurred:

	1.  A transmission, device or data  error  occurred  while
	    attempting  to  read  the  directory or the RIB of the
	    named file.

	2.  A hardware-detected device or data error was  detected
	    while reading the named directory's RIB or data block.

	3.  A  software-detected  data  inconsistency  error   was
	    detected while reading the named directory's or file's
	    RIB.>

INDEX	<FEE,FLE,FRE,GSE>,7,%NPOS,<
	The named file is not a  saved  file.   This  message  can
	never  occur  and is included only for completeness of the
	LOOKUP, ENTER and RENAME error codes.  This message is not
	expected  to  occur.   If  it  does,  please  notify  your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,10,%NPOS,<
	The system cannot supply enough memory to use  as  buffers
	or to read in a program.  This message can never occur and
	is included only for completeness of the LOOKUP, ENTER and
	RENAME  error  codes.   This  message  is  not expected to
	occur.  If it does, please notify your Software Specialist
	or send a Software Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,11,%NPOS,<
	The named device is currently not available.  This message
	can  never  occur and is included only for completeness of
	the LOOKUP, ENTER and RENAME error codes.  This message is
	not  expected  to  occur.   If it does, please notify your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,12,%NPOS,<
	The named device dies not exist.  This message  can  never
	occur and is included only for completeness of the LOOKUP,
	ENTER  and  RENAME  error  codes.   This  message  is  not
	expected  to  occur.   If  it  does,  please  notify  your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,13,%NPOS,<
	The  machine  does  not  have  a  two-register  relocation
	capability.   This message can never occur and is included
	only for completeness of  the  LOOKUP,  ENTER  and  RENAME
	error  codes.   This message is not expected to occur.  If
	it does, please notify your Software Specialist or send  a
	Software Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,14,0,<
	You have exceeded the quota of the named directory, or the
	entire capacity of the file structure.  Delete some files,
	or specify a directory or structure with sufficient space.>

INDEX	<FEE,FLE,FRE,GSE>,15,0,<
	The named device is write-locked.  Specify a write-enabled
	device  or  ask  the  operator  to  write-enable the named
	device.>

INDEX	<FEE,FLE,FRE,GSE>,16,0,<
	There is not enough internal monitor table space  for  the
	named file.  Try the load at a later time.>

INDEX	<FEE,FLE,FRE,GSE>,17,0,<
	Because of the named directory's quota  or  the  available
	space  on  the  file structure, the total number of blocks
	requested could not be allocated.   A  partial  allocation
	was given.>

INDEX	<FEE,FLE,FRE,GSE>,20,%NPOS,<
	The  block  required  by  LINK  is   not   available   for
	allocation.   This message can never occur and is included
	only for completeness of  the  LOOKUP,  ENTER  and  RENAME
	error  codes.   This message is not expected to occur.  If
	it does, please notify your Software Specialist or send  a
	Software Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,21,0,<
	You have attempted to supercede the named directory.>

INDEX	<FEE,FLE,FRE,GSE>,22,%NPOS,<
	You have attempted to  delete  a  directory  that  is  not
	empty.   This message can never occur and is included only
	for completeness of the LOOKUP,  ENTER  and  RENAME  error
	codes.   This  message  is  not  expected to occur.  If it
	does, please notify your Software  Specialist  or  send  a
	Software Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,23,0,<
	One of the sub-file directories in the named path was  not
	found.>

INDEX	<FEE,FLE,FRE,GSE>,24,0,<
	A LOOKUP or ENTER monitor call was  performed  on  generic
	device DSK:  and the search list is empty.>

INDEX	<FEE,FLE,FRE,GSE>,25,0,<
	You have attempted to create a sub-file  directory  nested
	deeper than the maximum level allowed.>

INDEX	<FEE,FLE,FRE,GSE>,26,0,<
	No file structure in your job's search list has  both  the
	no-create  bit  and  the write-lock bit equal to zero, and
	has the named directory.>

INDEX	<FEE,FLE,FRE,GSE>,27,%NPOS,<
	A GETSEG monitor call was issued from a locked low segment
	to  a  high segment which is not a dormant, active or idle
	segment.  This message can never  occur  and  is  included
	only  for  completeness  of  the  LOOKUP, ENTER and RENAME
	error codes.  This message is not expected to  occur.   If
	it  does, please notify your Software Specialist or send a
	Software Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,30,0,<
	A LOOKUP and ENTER monitor call  was  given  to  update  a
	file,  but  the  file  cannot  be  updated for some reason
	(e.g., another user is superceding  it  or  the  file  was
	deleted between the time of the LOOKUP and the ENTER).>

INDEX	<FEE,FLE,FRE,GSE>,31,0,<
	The end of the low segment is above the beginning  of  the
	high segment.>

INDEX	<FEE,FLE,FRE,GSE>,32,%SPR,<
	An  attempt  has  been  made  to  run  a  program  from  a
	not-logged-in  job.   This  message can never occur and is
	included only for completeness of the  LOOKUP,  ENTER  and
	RENAME  error  codes.   This  message  is  not expected to
	occur.  If it does, please notify your Software Specialist
	or send a Software Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,33,%NPOS,<
	The  ENQ/DEQ  facility  has  been  used  for  simultaneous
	updating  of the named file, but some ENQ/DEQ requests are
	still outstanding and the file  cannot  be  closed.   This
	message   can   never  occur  and  is  included  only  for
	completeness of the LOOKUP, ENTER and RENAME error  codes.
	This message is not expected to occur.  If it does, please
	notify  your  Software  Specialist  or  send  a   Software
	Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,34,%NPOS,<
	The named file has  a  bad  EXE  format  directory.   This
	message   can   never  occur  and  is  included  only  for
	completeness of the LOOKUP, ENTER and RENAME error  codes.
	This message is not expected to occur.  If it does, please
	notify  your  Software  Specialist  or  send  a   Software
	Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,35,%SPR,<
	An attempt has been made to run an EXE-format file with  a
	non-.EXE  extension.   EXE  format  files  (those  with an
	internal directory) must have the  extension  .EXE.   This
	message  is  not  expected  to  occur.  If it does, please
	notify  your  Software  Specialist  or  send  a   Software
	Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,36,0,<
	An attempt has been made to run an EXE-format file with  a
	directory  that  is  too  large for the monitor to handle.
	This message can never occur  and  is  included  only  for
	completeness  of the LOOKUP, ENTER and RENAME error codes.
	This message is not expected to occur.  If it does, please
	notify   your  Software  Specialist  or  send  a  Software
	Performance Report (SPR) to DIGITAL.>

INDEX	<FEE,FLE,FRE,GSE>,37,0,<
	The monitor's ability to accept another network connection
	has been exceeded.>

INDEX	<FEE,FLE,FRE,GSE>,40,0,<
	The named task is not available.  Specify an existing task
	name.>

INDEX	<FEE,FLE,FRE,GSE>,41,0,<
	You have specified a network node  that  does  not  exist.
	Wait  for  the  node  to  come  up  or specify an existing
	network node.>

INDEX	<FEE,FLE,FRE,GSE>,42,%SPR,<
	This message indicates that  a  LOOKUP,  ENTER  or  RENAME
	monitor  call  error occurred with an error code larger in
	number than the errors LINK knows about.  This message  is
	not  expected  to  occur.   If it does, please notify your
	Software Specialist or send a Software Performance  Report
	(SPR) to DIGITAL.>

IF2,<	PURGE N,M>
SUBTTL	COMMON MESSAGES


REPEAT 0,<		;NO LONGER USED
			;SHOULD BE REIMPLEMENTED IN COOPERATION
			;WITH THE DOCUMENTATION GROUP
%L10:	%SPR
.ASCIZ	<
	This is an internal LINK error.>

%F40:	%SPR
.ASCIZ	<
	Incorrect code has been generated by the F40 compiler.>

%E$$:	0
.ASCIZ	<
	LINK could not make the named file on the disk  (LC=user's
	low  segment code,  HC=user's high segment code,  LS=local
	symbol table).  The user could be over quota, or the  disk
	could be full or have errors.>

%I$$:	%AREA
.ASCIZ	<
	An error  occurred  while  reading  in  the  named   area.>

%O$$:	%AREA
.ASCIZ	<
	An error  occurred  while  writing  out  the  named  area.>

%OE$:	%STS
.ASCIZ	<
	An error has occurred on the output file.  The output file
	is   closed   at  the  end  of  the  last  data  that  was
	successfully output.>


%P$$:	0
.ASCIZ	<
	The load is too large to fit into the allowed  memory  and
	the named area is being moved to disk (LC=user low segment
	code, HC=user high segment code,  LS=local symbol  table).>

IFE TOPS20,<
%STS:	0
.ASCIZ	<
	The status is represented by the right half  of  the  file
	status  word.  Refer to DECsystem-10 Monitor Calls for the
	explanation of the file status bits.>
>
IFN TOPS20,<
%STS:	0
	0
>

%AREA:	%STS
.ASCIZ	<
	(LC=user's  low segment code, HC=user's high segment code,
	LS=local symbol table, and GS=global symbol table).>

> ;END REPEAT 0

%NPOS:	%SPR
.ASCIZ	<
	This  message  can  never  occur  and is included only for
	completeness of the LOOKUP, ENTER, and RENAME error codes.>

%SPR:	0
.ASCIZ	<
	This message is not expected to occur.  If it does, please
	notify   your  Software  Specialist  or  send  a  Software
	Performance Report (SPR) to DIGITAL.>


ERRLIT:	END	LNKERR