Google
 

Trailing-Edge - PDP-10 Archives - bb-kl11c-bm_tops20_v6_1_atpch1_16 - autopatch/cobolc.c11
There are 2 other files named cobolc.c11 in the archive. Click here to see a list.
 REP 23/1	;11C1
		.COPYRIGHT		;Put standard copyright statement in REL file
 WIT
		.COPYRIGHT		;PUT STANDARD COPYRIGHT STATEMENT IN REL FILE
 INS 30/1	;11C2
	;MJC     5-APR-85	[1574] Fix check for level in DA28.D to check
	;				that father is a DATAB entry.
	;JEH	1-APR-85	[1571] replace some uses of acs so fndpop is called
	;				with different arguments.
	;JEH	28-MAR-85	[1570] Parse and process ref. mod. fields for fields
	;				which allow subscripting
 INS 28/29	;11C3
		LDB	TC,[POINT 3,TB,20]	;[1574]
		CAIE	TC,CD.DAT	;[1574] IS IT A DATAB ENTRY?
		POPJ	PP,		;[1574] MUST BE RD, EXIT
 REP 73/74	;11C4
		POPJ	PP,			; IS GREATER THAN THE OLD ONE, ALL IS WELL.
 WIT
		JRST		D54VL4		;[1557] .GT. THE OLD ONE, ALL IS WELL.
 INS 77/74	;11C5
	D54VL4:	MOVE	TB,	EAS1PC		;[1557] USE CURRENT ENDING LOCATION
		LDB	TC,	DA.LVL		;[1557] GET THE LEVEL NBR
		MOVEM	TB,	RDFDAT##(TC)	;[1557] MAKE CURRENT THE NEW EAS1PC.
		POPJ	PP,			;[1557] NOW EVERYTHING IS OK
 INS 57/106	;11C6
		SKIPE	RPWERR		;[1575] TEST FOR PREVIOUS ERROR ON RD
					;[1575] ERROR ONLY IF RPWERR < 0
		JRST	[MOVE	TA,CURRPW	;[1575] GET ADDR OF CURRENT RPT DESCRIP
			 SETO	TB,	;[1575] MANUFACTURE A 1 BIT
			 DPB	TB,RW.DEF ;[1575] TO AVOID SPURIOUS CBL775 MSG
			 SETZM	RPWTYP##	;[1575] AVOID SPURIOUS CBL793 MSG
			 SETZM	CURDAT	;[1575] AVOID CATASTROPHE IN PHASE C
					;[1575] ALSO CUTS OFF FUTHER PARSING
					;[1575] OF STATEMENT
			 JRST	.+1]	;[1575]
					;[1575]
 REP 60/106	;11C7
	DA77.A:	LDB	TB,DA.LVL
		CAIN	TB,1		;01 LEVEL ?
 WIT
		HLRZ	TB,CURDAT	;[1571] Put relative offset in TB
	DA77.A:	LDB	TC,DA.LVL	;[1571]
		CAIN	TC,1		;[1571] 01 LEVEL ?
 REP 23/142	;11C8
		JRST	DA231.		;OUTPUT ARG1
 WIT
		SKIPN	RMFLG		;[1570] Is the operand ref. mod.?
		JRST	DA231.		;OUTPUT ARG1
		TXO	TB,RFMLEN	;[1570] TURN ON 'LENGTH' BIT TO INDICATE
		SETZM	RMFLG		;[1570]  TWO MODIFIERS ARE PRESENT
		JRST	DA231.		;[1570]

 INS 45/144	;11C9
		skipn	rmflg		;[1570] Is it ref. mod.? 
		jrst	putft		;[1570] No
		txo	ta,GNREFM	;[1570] Yes, set reference mod. bit in operand
		skipg	rmflg		;[1570] 
		setzm	rmflg		;[1570] If no length provided, clear flag

 INS 104/144	;11C10

	;[1570] Here when found ':' signifying use of reference modification.
		INTER.	DA232.
	DA232.:				;[1570] OFFSET HAS BEEN STORED AS A SUBSCRIPT
		SETOM	RMFLG##		;[1570] SET FLAG TO CONVERT IT LATER
		POPJ	PP,		;[1570]

		INTER.	DA233.		;[1570] SCANNED A LENGTH FIELD
	DA233.:
		PUSHJ	PP,DA220.	;[1570] STORE THE LITERAL
		PUSHJ	PP,DA225.	;[1570] INCREMENT MODIFIER COUNT
		MOVE	TA,RMFLG	;[1570]
		TLZ	TA,400000	;[1570] ZERO BIT TO INDICATE LENGTH FOUND
		MOVEM	TA,RMFLG	;[1570] 
		POPJ	PP,		;[1570]

		INTER.	DA234.		;[1570] FOUND CLOSING RPREN.
	DA234.:
		PUSHJ	PP,DA226.	;[1570] RESTORE ARG1, +1
		POPJ	PP,		;[1570]

 SUM 72735