Trailing-Edge
-
PDP-10 Archives
-
AP-4172F-BM
-
3a-sources/xr3n.bli
There are 18 other files named xr3n.bli in the archive. Click here to see a list.
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
! OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
!COPYRIGHT (C) 1972,1973,1974,1977,1978 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 01754
EXTERNAL OUTPUT;
!FILENAE: H3XREF.BLI
!DATE: 10 JULY 73 MGM/FLD
%3.2% GLOBAL BIND H3XRV=2; !MODULE VERSION NUMBER
OWN NUMPLINE, ! NUMBER OF ENTRIES PER LINE
NUMTLINE; ! NUMBER OF ENTRIES ALREADY ON THIS LINE
FORWARD XINS,XPRINLEV;
ROUTINE XSORT =
BEGIN
LOCAL T1,T2,T3;
INCR I FROM 0 TO HTSIZE -1 DO
IF (T1_.XHT[.I]) NEQ 0 THEN
BEGIN
XHT[.I]_0;
DO (
XINS(.T1);
T1_.XT[.T1,2]<0,18>;
) UNTIL .T1 EQL 0;
END;
END;
ROUTINE XFIX(PTR)=
BEGIN
LOCAL T1;
T1_XT[.PTR,-1]<1,7>;
INCR I FROM 1 TO 10 DO IF SCANI(T1) EQL #177 THEN
REPLACEN(T1,0);
END;
ROUTINE XOUTSTN(I)=
IF NOT .LSTFLG THEN
BEGIN EXTERNAL OUTPUT; LOCAL P,N,C; MACHOP ILDB=#134;
P_ST[.I,-1]<1,7>; N_0;
WHILE (C_ILDB(3,P)) NEQ 0 AND .N LSS 10 DO (OUTPUT(2,.C);N_.N+1);
.N
END;
ROUTINE XINS(PTR)=
BEGIN
LOCAL T1,T2,T3;
XFIX(.PTR); ! CLEAN UP RUBOUTS
IF .XHED EQL 0 THEN (XHED_.PTR; XT[.PTR,3]<18,18>_0;RETURN);
IF .XT[.PTR,0] LSS .XT[.XHED,0] THEN
(XT[.PTR,3]<18,18>_.XHED;XHED_.PTR;RETURN);
IF .XT[.PTR,0] EQL .XT[.XHED,0] THEN
IF .XT[.PTR,1] LSS .XT[.XHED,1] THEN
(XT[.PTR,3]<18,18>_.XHED; XHED_.PTR; RETURN);
T1_.XHED;
DO (T2_.T1; T1_.XT[.T1,3]<18,18>) UNTIL
(IF .T1 EQL 0 THEN 1 ELSE IF .XT[.PTR,0] EQL .XT[.T1,0] THEN
.XT[.PTR,1] LSS .XT[.T1,1] ELSE
.XT[.PTR,0] LSS .XT[.T1,0]);
XT[.PTR,3]<18,18>_.T1;
XT[.T2,3]<18,18>_.PTR;
END;
ROUTINE XNEWTIT=
BEGIN
EXTERNAL XR2COMPACT;
LOCAL GOAL;
IF .XR2COMPACT THEN
BEGIN
OUTSTR("Modul",5);
OUTSTR("e ",5);
OUTSTR(" ",2);
END;
OUTSTR("Ident",5);
OUTSTR("ifier",5);
OUTSTR(" BL ",5);
OUTSTR("Decl ",5);
!5.200.41 .....
OUTSTR("TYP U",5);
OUTSTR("SED",3);
! ..... 5.200.41
NEWLINE();
IF .XR2COMPACT
THEN GOAL=8
ELSE GOAL=6;
INCR I FROM 1 TO .GOAL DO OUTSTR("-----",5);
END;
ROUTINE XNEWLINE=
BEGIN
NEWLINE();
IF .NLINES EQL 0 THEN (XNEWTIT();NEWLINE());
END;
!5.200.40 .....
ROUTINE XR2TIT=
BEGIN
INCR I FROM 1 TO 10 DO OUTSTR("!XREF",5);
NEWLINE();
END;
! .... 5.200.40
ROUTINE XPRINT(X,Y) =
BEGIN
%5.200.30 .... %
ROUTINE OUTNUMITEM(N)=
BEGIN
IF .N<17,1> THEN (N_-(.N+#777777^18);CHAR_"R")
ELSE CHAR_" ";
%3.20% OUTNUM(.N/16,10,5,0);OUTPUT(2,.CHAR)
END;
% ... 5.200.30%
! 5.200.40 ...
EXTERNAL XR2COMPACT,XR3COMPACT;
ROUTINE OUTXID(X,Y)=
BEGIN
! 5.200.41 .... TO PRINT OUT DECLARED TYPES
LOCAL DTYP;
BIND DECLTYP=PLIT(
" UNK"," NIL"," GLO"," OWN"," EXT",
" LOC"," BND"," PRM"," RTN"," EXP",
" G-R"," FUN"," S-F"," PLT"," LBL",
" FWD"," REG"," G-A"," G-P"," ",
4:" "," STR",
" MCR"," LXM",3:" ",
" "," "," MCH"," SPF"," ABS",
" SPU"," PTR"," LNK");
! .....