Google
 

Trailing-Edge - PDP-10 Archives - scratch - 10,7/unscsp/strlib/strerr.mac
There are 5 other files named strerr.mac in the archive. Click here to see a list.
;	ERROR ROUTINES



;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1974,1979 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
	TITLE LLZ$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY LLZ$
LLZ$:	TTC(1)
	SETZ	R1,	;GET TO CLOSEST REASONABLE VALUE
	POPJ	P,
	IFE MESSAG,<
M.1:	ASCIZ /%STRLLZ. LENGTH LESS THAN ZERO
/>
	PRGEND

	TITLE LEM$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY LEM$
LEM$:	TTC(2)
	HRR	R1,R2	;DECREASE LEN TO ACCEPT VALUE
	POPJ	P,
	IFE MESSAG,<
M.2:	ASCIZ /%STRLEM. LENGTH EXCEEDS MAXIMUM
/>
	PRGEND

	TITLE NSS$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY NSS$
NSS$:	TTC(3)
	POPJ	P,
	IFE MESSAG,<
M.3:	ASCIZ /%STRNSS. NO SOURCE STRINGS (COUNT UNDER 1)
/>
	PRGEND

	TITLE CIV$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY CIV$
CIV$:	TTC(4)
	POPJ	P,
	IFE MESSAG,<
M.4:	ASCIZ /%STRCIV. CODE INVALID VALUE (NOT 0-5)
/>
	PRGEND

	TITLE SPE$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY SPE$
SPE$:	TTC(5)
	MOVEI	POS2,1(LEN1)	;LARGEST LEGAL VAL
	POPJ	P,
	IFE MESSAG,<
M.5:	ASCIZ /%STRSPE. 2ND POSITION PAST END OF STRING
/>
	PRGEND

	TITLE SLI$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY SLI$
SLI$:	TTC(6)
	POPJ	P,
	IFE MESSAG,<
M.6:	ASCIZ /%STRSLI. 1ST POSITION SUCH THAT STRING LENGTH INCREASED
/>
	PRGEND

	TITLE FES$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY FES$
FES$:	TTC(7)
	POPJ	P,
	IFE MESSAG,<
M.7:	ASCIZ /%STRFES. 1ST POSITION EXCEEDS SECOND
/>
	PRGEND

	TITLE UOF$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY UOF$
UOF$:	TTC(8)
	TLNE	ST.IBP,400000	;IS IT LESS THAN ZERO?
	SETZ	ST.IBP,		;YES IT WAS
	TLZ	ST.IBP,777777	;IF OTHER CASE, JUST TRUNC.
	POPJ	P,
	IFE MESSAG,<
M.8:	ASCIZ /%STRUOF. UNDER OR OVERFLOW OF (UBS) LENGTH OR MAXIMUM
/>
	PRGEND

	TITLE MLI$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY MLI$
MLI$:	TTC(9)
	HRLS	R1	;SINCE PRESENTED AT SAME TIME, USE LEN
	POPJ	P,
	IFE MESSAG,<
M.9:	ASCIZ /%STRMLI. MAXIMUM AND LENGTH INCONSISTENT
/>
	PRGEND

	TITLE RPU$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY RPU$
RPU$:	TTC(10)
	POPJ	P,
	IFE MESSAG,<
M.10:	ASCIZ /%STRRPU. REPLACEMENT UNSUCCESSFUL: />
	PRGEND

	TITLE EPS$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY EPS$
EPS$:	TTC(11)
	POPJ	P,
	IFE MESSAG,<
M.11:	ASCIZ /%STREPS. END OF SUBSTRING PAST END OF STRING.
/>
	PRGEND

	TITLE IDT$
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY IDT$
IDT$:	TTC(12)
	MOVE	R0,R1		;SETUP UP NULL AT ARG
	SETZ	R1,
	POPJ	P,
	IFE MESSAG,<
M.12:	ASCIZ /%STRIDT. STRING ARGUMENT HAS ILLEGAL DATA TYPE - NULL STRING ASSUMED
/>
	PRGEND

	TITLE	CPW.
	SEARCH STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY CPW$
CPW$:				;CHARS PER WORD FOR ALL BYTE SIZES LEFT ALIGNED
	-1		;BYTSIZ 0 UNDEFINED
	^D36
	^D18
	^D12
	^D9
	7
	6
	5
	4
	4
CPW10.:	3
	3
	3
CPW13.:	REPEAT 6,<2>
CPW19.: REPEAT ^D18,<1>
	PRGEND

	TITLE	EXDATA
	SEARCH	STRDCL
	IFE HIGH,<
	TWOSEG
	RELOC	400000>
	ENTRY	D13D13
D13D13:	XWD	15,15
	END