Google
 

Trailing-Edge - PDP-10 Archives - bb-kl11f-bm_tops20_v7_0_atpch1_19 - autopatch/cmngen.c15
There are 2 other files named cmngen.c15 in the archive. Click here to see a list.
 INS 20/1	;15C1
	;V13****************
	;RLF	26-OCT-86	[1633] Get correct internal size for comp items with
	;				depending on clause
	;MEM	16-OCT-86	[1631] DON'T PUT OUT E.215 IF WE'VE HAD FATAL ERRORS
 REP 5/124	;15C2
		LDB	CH,DA.INS	;GET SIZE
 WIT
		LDB	TE,DA.USG	;[1633] GET USAGE
		CAIGE	TE,%US.C1	;[1633] SEE IF WE HAVE COMP-1
		JRST	GTBDPA		;[1633] NO
		PUSH	PP,TA		;[1633] SAVE CURRENT DATAB ENTRY
		PUSH	PP,TE		;[1633] SAVE USAGE
		LDB	TA,DA.BRO	;[1633] GET DATAB ENTRY FOR FATHER
		PUSHJ	PP,LNKSET	;[1633] GET OFFSET
		LDB	CH,DA.USG	;[1633] GET USAGE OF FATHER
		MOVE	CH,BYTE.W-1(CH)	;[1633] GET #BYTES/ITEM = INTERNAL SIZE
		POP	PP,TE		;[1633] RESTORE USAGE
		CAIN	TE,%US.C2	;[1633] SEE IF WE HAVE COMP-2
		LSH	CH,1		;[1633] YES - MULTIPLY SIZE BY 2
		POP	PP,TA		;[1633] RESTORE DATAB ENTRY
		SKIPA			;[1633]
		
	GTBDPA:	LDB	CH,DA.INS	;[1633] GET SIZE
 REP 17/125	;15C3
		LDB	CH,DA.INS	;SIZE OF EACH ITEM
 WIT
		LDB	TE,DA.USG	;[1633] GET USAGE
		CAIGE	TE,%US.C1	;[1633] SEE IF WE HAVE COMP-1
		JRST	GTBDPB		;[1633] NO
		PUSH	PP,TA		;[1633] SAVE CURRENT DATAB ENTRY
		PUSH	PP,TE		;[1633] SAVE USAGE
		LDB	TA,DA.BRO	;[1633] GET DATAB ENTRY FOR FATHER
		PUSHJ	PP,LNKSET	;[1633] GET OFFSET
		LDB	CH,DA.USG	;[1633] GET USAGE OF FATHER
		MOVE	CH,BYTE.W-1(CH)	;[1633] GET #BYTES/ITEM = INTERNAL SIZE
		POP	PP,TE		;[1633] RESTORE USAGE
		CAIN	TE,%US.C2	;[1633] SEE IF WE HAVE COMP-2
		LSH	CH,1		;[1633] YES - MULTIPLY SIZE BY 2
		POP	PP,TA		;[1633] RESTORE DATAB ENTRY
		SKIPA			;[1633]
	GTBDPB:	LDB	CH,DA.INS	;[1633] SIZE OF EACH ITEM
 REP 40/130	;15C4
	BADEOP:	MOVEI	DW,E.214
 WIT
	BADEOP:	SKIPE	COUNTF##	;[1631]Suppress this if we've had already had
		 POPJ	PP,		;[1631] a fatal error
		MOVEI	DW,E.214
 SUM 97153