Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - cleanc.c07
There is 1 other file named cleanc.c07 in the archive. Click here to see a list.
 REP 18/1	;07C1
	;NAME	DATE		COMMENTS

 WIT
	;NAME	DATE		
	;
	;JEH	24-OCT-83	[1502] Give warning on records that are smaller than
	;				maximum record size
	;JEH	11-OCT-83	[1501] Syntax error if alternate key is variable length
	;JEH	10-OCT-83	[1500] Warning if high/low -values on numeric item
 REP 39/12	;07C2
	CLHAK2:	LDB	TB,DA.POP##	;FIND FILENAME
 WIT
	CLHAK2:	LDB	TB,DA.DLL	;[1501] IS THERE A 'DEPENDING' CLAUSE?
		JUMPE	TB,CLHK2A	;[1501] NO, NO PROBLEM
		HRRZI	DW,E.612	;[1501] YES, ERROR
		PUSHJ	PP,CLHBA1	;[1501] SET UP HLTAB LN,CP; CALL FATAL

	CLHK2A:	LDB	TB,DA.POP##	;FIND FILENAME
 INS 10/28	;07C3
		MOVEM	TA,CURDAT	;[1502] SAVE OFFSET
 REP 17/28	;07C4
		JRST	CHDA.4		;NO
 WIT
		JRST	CHDA.5		;[1502] NO
 REP 27/28	;07C5
	CHDA.4:	LDB	TE,DA.EXS	;GET EXTERNAL SIZE
		CAIG	TE,MAXFSS##	;GREATER THAN LARGEST ALLOWED SIZE?
		JRST	CHDA.3		;NO

		MOVEI	DW,E.322	;YES
		PUSHJ	PP,FATALE	; PUT OUT DIAGNOSTIC
 WIT
	CHDA.5:	LDB	TE,DA.EXS	;[1502] GET EXTERNAL SIZE
		CAIG	TE,MAXFSS##	;GREATER THAN LARGEST ALLOWED SIZE?
		JRST	CHDA.4		;[1502] NO
		MOVEI	DW,E.322	;YES
		PUSHJ	PP,FATALE	; PUT OUT DIAGNOSTIC
		JRST	CHDA.3		;[1502] 

	CHDA.4:	HRRZ	TA,CURFIL	;[1502]
		LDB	TD,FI.MRS	;[1502] GET MAX RECORD SIZE
		HRRZ	TA,CURDAT	;[1502] RESTORE HERE
		CAML	TE,TD		;[1502] IS CURRENT 01 LEVEL SMALLER
		JRST	CHDA.3		;[1502]  THAN MAX FOUND?
		MOVEI	DW,E.660	;[1502] YES, GIVE WARNING
		LDB	LN,DA.LN	;[1502] SET UP LINE NBR
		LDB	CP,DA.CP	;[1502]  AND CHARACTER POSITION
		PUSHJ	PP,WARN		;[1502]
 REP 8/38	;07C6
		POPJ	PP,			;NO, LEAVE.
 WIT
		JRST	ADJNBR			;[1500] NO, NUMERIC
 INS 49/38	;07C7

	;VALUE CLAUSE IS FOR A NUMERIC FIELD, SEE IF FIGURATIVE CONSTANT
	; AND WARN IF NOT ZERO

	ADJNBR:	HRRZ	TA,CURDAT	;[1500]
		LDB	TB,DA.CLA	;[1500] GET THE CLASS
		CAIE	TB,%CL.NUM	;[1500] IF IT'S NOT NUMERIC, 
		POPJ	PP,		;[1500]  EXIT
		LDB	TC,DA.USG	;[1500] STORE OFF ITS USAGE
		HRRZ	TA,CURLIT	;[1500] GET THE LITERAL'S ADDRESS
		LDB	TB,LI.FGC	;[1500] GET LITERAL CODE
		JUMPE	TB,CPOPJ	;[1500] NOT A FIGURATIVE CONSTANT
		LDB	TB,LI.FCC	;[1500] FIND OUT WHAT KIND OF FIG CONST
		CAIN	TB,ZERO.	;[1500] IF IT'S A ZERO - OK
		POPJ	PP,		;[1500]   ALLOWED BY ANSI STANDARD
		HRRZI	DW,E.657	;[1500] OTHERWISE GIVE WARNING 
		CAIE	TB,HIVAL.	;[1500] 
		JRST	WARN##		;[1500]	
		HRRZI	DW,E.655	;[1500] HIGH-VALUES DISPLAY MODE
		CAILE	TC,%US.DS	;[1500]
		HRRZI	DW,E.656	;[1500] HIGH-VALUES NON-DISPLAY MODE
		JRST	WARN##		;[1500]

 REP 3/45	;07C8
		JRST		.+3		; AND
		CAIE	TB,	ZERO.		; ZERO ARE ALLOWED.
		JRST		AJUE.4

 WIT
		JRST		.+4		;[1500] AND
		CAIE	TB,	ZERO.		; ZERO ARE ALLOWED.
		JRST		AJUE.4
		SKIPA				;[1500] HV AND LV ARE SORT OF 
		PUSHJ	PP,	ADJNBR		;[1500]  ALLOWED
 SUM 12887