Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - cobold.c05
There are 2 other files named cobold.c05 in the archive. Click here to see a list.
 INS 32/1	;05C1
	;V12B*******************
 REP 3/2	;05C2

	;V12B****************
 WIT
	;SMI	08-DEC-82	[1443] Test for no decimal places in comp field.
	;DMN	09-NOV-82	[1431] Fix bug caused by edits 1046 and 1104 to DBMS 
	;				FIND with INDEX item
	;SMI	08-OCT-82	[1415] 68274 Generate SET TALLY TO 0 when converting
	;				EXAMINE to INSPECT.
	;RLF	01-OCT-82	[1412] Make RETAIN do RETAIN NEXT so LSU works
	;				for ISAM sequential access
	;RJD	10-AUG-82	[1400] Check for specific file name in LABEL USE
	;				PROCEDURE and set up USE PROCEDURE table for
	;				all applicable cases
	;SMI    25-JUN-82       [1367] FIX EDIT 1343 68274 CONVERTER IGNORES PARA-NAME
	;                               FOLLOWING NOTE
	;JEH    07-MAY-82	[1354] Wrong alternate key selected if multiple keys
	;				defined with same starting location
	;DMN	07-APR-82	[1350] 68274 CONVERTER DOES NOT FLAG DISPLAY OR STOP SIGNED INTEGER.
	;DMN	05-MAR-82	[1343] 68274 CONVERTER DOES NOT CONVERT NOTE INTO A COMMENT
	;DMN	12-MAR-82	[1340] 68274 CONVERTER DOES NOT FLAG 'NOT' ABBREV.
	;				COMBINED RELATION CONDITIONS
	;RJD	29-JAN-82	[1334] SUPERSEDES EDITS 1322 AND 1326
	;WTK	18-DEC-81	[1326] FIX EDIT 1322 BREAKING CREF LISTING
	;WTK	08-OCT-81	[1322] CHECK LAST PARA FOR ENDING IN UNCOND. GOTO
	;JSM	30-Sep-81	[1313] CHECK FOR - IF cond <CRLF> PARA-NAME.
	;WTK	24-JUN-81	[1311] BAD PLACEMENT OF DIAG 179 IN LISTING
	;V12A****************
 INS 59/14	;05C3
	IFN ANS68,<
		INTER.	PA20Y.		;[1400]
	PA20Y.:	SETO	TA,		;[1400] 
		DPB	TA,OP.FSP##	;[1400] FILE SPECIFIC USE
		POPJ	PP,		;[1400]
	>

 REP 74/18	;05C4
		INTER.	PA23.
 WIT
	IFN FT68274,<
		INTER.	PA23N.		;[1343]
	PA23N.:	PUSHJ	PP,CVTCTC	;[1343] TURN NOTE INTO COMMENT
		PUSHJ	PP,PA23.	;[1343] BYPASS WHOLE PARAGRAPH
		SETZM	CVTCCF##	;[1343] TURN COMMENT OFF FOR NEW LINE
		SETZM	CVTCAL##	;[1343]  AND ALL FOLLOWING LINES
		POPJ	PP,		;[1367] 
	>
		INTER.	PA23.
	IFN ANS68,<IFE FT68274,<
		INTER.	PA23N.		;[1343]
	PA23N.:>>
 INS 19/25	;05C5
		MOVEI	TB,[ASCIZ /SET TALLY TO 0/]	;[1415]
		PUSH	PP,TD		;[1415]
		PUSHJ	PP,CVTINL##	;[1415]
		POP	PP,TD		;[1415]
 INS 96/25	;05C6
		MOVEI	DW,E.767	;[1415] SET UP WARNING
		MOVEI	CP,8		;[1415]
		SKIPN	TA		;[1415] TALLY REQUIRED ?
		PUSHJ	PP,WARN		;[1415] NO
 INS 40/41	;05C7
	IFN FT68274,<
		TSWT	FNOTF		;[1340] HAVE WE SEEN NOT WITH ABBREV. COMB. REL. COND.?
		JRST	PA22.		;[1340] NO, JUST OUTPUT OPCODE
		MOVSI	DW,E.769	;[1340] YES, WARN USER
		PUSHJ	PP,WARN		;[1340]
	>
 REP 22/43	;05C8
	PA133N:	PUSHJ	PP,PA133S
 WIT
	PA133N:
	IFN FT68274,<
		PUSHJ	PP,CVTCTC	;[1343] TURN NOTE INTO COMMENT
	>
		PUSHJ	PP,PA133S
	IFN FT68274,<
		PUSHJ	PP,CVTUTC	;[1343] TURN COMMENT OFF AGAIN
	>
 INS 11/50	;05C9
		HRRZ	TA,CURFLO	;[1311] FLOTAB ENTRY ADDRESS
 REP 54/63	;05C10
		TLNE	TE,10		;SKIP IF SPECIFIC FILE
 WIT
		TLNN	TE,2		;[1400] SKIP IF SPECIFIC FILE
 REP 128/63	;05C11
		TLNE	TE,20		;ENDING?
		ADDI	TC,4		;YES
		TLNE	TE,100		;BEFORE?
		ADDI	TC,2		;AFTER
		TLNN	TE,10		;REEL?
		ADDI	TC,1		;NO, FILE
 WIT
		CAIE	TB,66		;[1400] LABEL PROCESSING?
		JRST	P173.F		;[1400] NO
		TLNN	TE,20		;[1400] ENDING?
		JRST	P173C1		;[1400] NO
		ADDI	TC,4		;YES
		TLNN	TE,40		;[1400] BEGINNING TOO?
		JRST	P173C2		;[1400] NO
		PUSHJ	PP,P173C2	;[1400] YES
	P173C1:	SETZ	TC,		;[1400] OFFSET TO BE IN TC
	P173C2:	TLNE	TE,100		;[1400]BEFORE?
		ADDI	TC,2		;AFTER
	;[D1400]	TLNN	TE,10		;REEL?
	;[D1400]	ADDI	TC,1		;NO, FILE
		PUSH	PP,TC		;[1400] SAVE OFFSET
		TLNE	TE,10		;[1400] REEL?
		PUSHJ	PP,P173.H	;[1400] YES, SET IT UP
		POP	PP,TC		;[1400] RESTORE OFFSET
		TLNN	TE,4		;[1400] FILE?
		POPJ	PP,		;[1400]
		ADDI	TC,1		;[1400] YES
		PJRST	P173.H		;[1400] SET UP FOR FILE
 REP 138/63	;05C12
		TLNE	TE,10		;SKIP IF ONE IS OFF..
 WIT
	P173.F:	TLNE	TE,10		;[1400] SKIP IF ONE IS OFF..
 REP 127/109	;05C13
		CAIN	TD,%US.1C	;[1104] MUST BE ONE-WORD COMPUTATIONAL
		JRST	PA304A		;[1104] OK
		HRRZI	DW,E.634	;[1104] GET ERROR
 WIT
		CAIE	TD,%US.1C	;[1431] [1104] MUST BE ONE-WORD COMPUTATIONAL
		CAIN	TD,%US.IN	;[1431]  OR INDEX
		JRST	PA304A		;[1104] OK
		HRRZI	DW,E.639	;[1431] [1104] GET ERROR
 REP 152/109	;05C14
		CAIN	TD,%US.1C	;[1046] MUST BE ONE-WORD COMP.
		 JRST	PA306A		;[1046] OK
 WIT
		LDB	TE,DA.NDP	;[1443] 
		CAIE	TD,%US.1C	;[1431] [1046] MUST BE ONE-WORD COMP.
		CAIN	TD,%US.IN	;[1431]  OR INDEX
		 JUMPE	TE,PA306A	;[1434][1046] AND NO DECIMAL PLACES
 INS 12/121	;05C15
	; [1354] Also store size in case multiple keys at same offsets
		LDB	TD,DA.INS	;[1354] Get size of user's item
		MOVEM	TD,KEYRLN##	;[1354]  save for later test
 INS 27/121	;05C16
		LDB	TD,DA.INS	;[1354] Get size of key field
		CAMGE	TD,KEYRLN	;[1354] If key gtr or equal, match;
		 JRST	PCASAK		;[1354]  else search alternates
 INS 49/121	;05C17
		LDB	TD,DA.INS	;[1354] Get size of key field
		CAMGE	TD,KEYRLN	;[1354] If gtr or equal, match;
		 JRST	PCASK3		;[1354]  else keep searching
 REP 38/133	;05C18
		POPJ	PP,
 WIT
	IFN ANS74,<			;[1412]
		MOVE	TC,TA		;[1412] SAVE IT, NEED TO
		MOVE	TA,CURFIL	;[1412] GET CURRENT FILE
		LDB	TB,FI.ORG	;[1412] TO CHECK ON ORGANIZATION.
		CAIE	TB,%ACC.I	;[1412] IS IT INDEXED?
		JRST	PASU3Y		;[1412] YES, DON'T NEED TO GO FURTHER.
		LDB	TB,FI.FAM	;[1412] OTHERWISE, CHECK ACCESS MODE.
		CAIE	TB,%FAM.S	;[1412] IF NOT SEQUENTIAL,
		JRST	PASU3Y		;[1412] DO NOTHING,
		MOVE	TA,TC		;[1412] OTHERWISE,
		HRLZI	TA,(1B15)	;[1412] SET BIT FOR RETAIN NEXT,
		ORM	TA,SU30FG	;[1412] SO ISAM SEQUENTIAL WORKS.
	>;END IFN ANS74
	PASU3Y:	POPJ	PP,		;[1412]
 REP 28/135	;05C19
	IFN ANS74,<
 WIT
	IFN ANS74!FT68274,<		;[1350]
 INS 148/135	;05C20
					;[1313]
		INTER.	PCA7X.		;[1313]
	PCA7X.:	PUSH	PP,TE		;[1313] GET AN AC TO WORK WITH
		MOVE	TE,IFLVL##	;[1313] GET THE CURRENT LEVEL OF "IF"
		ADD	TE,SPFLVL##	;[1313]   PLUS OF "SPECIAL IF"
		CAIN	TE,0		;[1313] IF ZERO, SKIP FOLLOWING TEST
		JRST	PCA7X1		;[1313]
		CAIN	TYPE,USERN.+AMRGN.	;[1313] USER NAME IN A-MARGIN?
		EWARNW	E.148		;[1313] YES - GIVE DIAG MSG
	PCA7X1:	POP	PP,TE		;[1313] GIVE BACK AC
		JRST	PCA7.		;[1313] AND PROCEED WITH PCA7.
	                                ;[1313]
 INS 152/135	;05C21
		INTER.	PCA7C.		;[1334]
	PCA7C.:	PUSH	PP,CREFSW##	;[1334]	TURN OFF CREF SW. TO AVOID
		SETZM	CREFSW		;[1334] WIPING OUT THE CREF LISTING
		PUSHJ	PP,PA4.		;[1334] SAME AS PCA7., BUT CHECK LAST PARA
		POP	PP,CREFSW	;[1334]
		JRST	PCA7.		;[1334]  IN PROG FOR ENDING IN UNCOND. GOTO

 REP 218/135	;05C22
	IFN ANS74,<
 WIT
	IFN ANS74!FT68274,<		;[1350]
 SUM 1506