Google
 

Trailing-Edge - PDP-10 Archives - bb-jr93j-bb - 7,6/ap017/listou.c17
There are 10 other files named listou.c17 in the archive. Click here to see a list.
 REP 24/1	;17C1
	GLOBAL BIND LISTOV = #11^24 + 0^18 + #4554;	! Version Date:	3-Dec-86
 WIT
	GLOBAL BIND LISTOV = #11^24 + 0^18 + #4572;	! Version Date:	17-Aug-87
 INS 276/1	;17C2
	***** Begin V11 Development *****

 INS 316/1	;17C3

	***** End V11 Development *****

	4572	DCE	17-Aug-87
		Fix up the code which attempts to put out long polish (1072) blocks.
		This affects arrays in COMMON when long symbols have been seen, and
		when the array has a first dimension greater than 258.

	***** End Revision History *****

 REP 6/13	;17C4
	%4530%	MACRO LADD=100$;
 WIT
	%4572%	MACRO LADD=#100$, LSIXBIT=#010$, RHCHAIN=#000777$, ABSHALFWORD=0$;
 REP 91/13	;17C5
	%4530%				RDATWD = LADD^18 + 010 + (.SYM<SYMLENGTH>*2)-1;
	%4530%				ZNEWBLOCK(RLONGPOLISH);!NEXT WD IS GLOBAL REQUEST
	%4530%				INCR I FROM 0 TO .SYM<SYMPOINTER> - 1
 WIT

	![4572]				Add ,, (number or half-words) -1 , sixbit
	%4572%				RDATWD = LADD^18 + (.SYM<SYMLENGTH>*2 -1)^9 + LSIXBIT;
	%4572%				ZNEWBLOCK(RLONGPOLISH);

	![4572]				Put out the full (possibly long) common block name

	%4572%				INCR I FROM 0 TO .SYM<SYMLENGTH> - 1
 REP 100/13	;17C6
	%4530%				RDATWD = 001001^18 + #777777;
	%4530%				ZNEWBLOCK(RLONGPOLISH);
	%4530%				RDATWD = .INSTRUCTION<RIGHT>^18 + #000777;
	%4530%				ZNEWBLOCK(RLONGPOLISH);
	%4530%				RDATWD = (.HILOC+.HIORIGIN)^18;
	%4530%				ZNEWBLOCK(RLONGPOLISH);
 WIT

	![4572]				Add in the right half constant.
	![4572]				Left half zero to get absolute (no relocation).
	%4572%				RDATWD = ABSHALFWORD^18 + .INSTRUCTION<RIGHT>;
	%4530%				ZNEWBLOCK(RLONGPOLISH);

	![4572]				Right half chained fixup to current address.
	%4572%				RDATWD = RHCHAIN^18 +  (.HILOC+.HIORIGIN);
	%4530%				ZNEWBLOCK(RLONGPOLISH);

 SUM 247881