Listing of file='XREF010A' on disk='vmedia/701-2048D.wvd.zip'
# Sector 366, program filename = 'XREF010A' 0010 REM XREF010A,00-00(03/24/76),12003A - COPYRIGHT WANG LABS. INC., 1976 0160 COM N1$(40)8,F,M$4,N$8,C,P2,P3,P4,P9,P5 : COM R1$8,R2$1,R3$2,R9$8,R9$(16),I$3 : DIM B$(1)2,Q6$64 : INIT(20)N1$() : PRINT HEX(03) : DATA LOAD DC OPEN T#0,"XREFF010" : DATA LOAD DC #0,I$,F,M$,P2,P3,P4,P9 : GOSUB 710 : PRINT HEX(03) : GOSUB 1710 0310 GOSUB '243("ARE THE PARAMETERS OK? (Y/N)",1) : IF Q6$="Y"THEN 1040 : IF Q6$="N"THEN 360 : GOSUB 2090 : GOTO 310 0360 F$="N" 0390 GOSUB '245("ENTER THE NUMBER OF THE ITEM TO BE CHANGED. (0 = END)",1,0) : IF Q9=0THEN 1040 : IF Q9<7THEN 440 : GOSUB 2090 : GOTO 390 0440 ON Q9GOSUB 480,690,610,790,870,950 : GOSUB 1710 : GOTO 390 0480 GOSUB '248(11,0,0) : PRINT ,"FUNCTIONS AVAILABLE" : PRINT ," 1 - LIST" : PRINT ," 2 - CROSS REFERENCE" : PRINT ," 3 - LIST/CROSS REFERENCE" 0530 GOSUB '245("ENTER THE NUMBER OF THE FUNCTION DESIRED.",1,0) : IF (Q9-1)*(Q9-2)*(Q9-3)=0THEN 570 : GOSUB 2090 : GOTO 530 0570 P9=3-SGN(3-Q9)*Q9 : GOSUB '248(11,0,4) : RETURN 0610 GOSUB '243("ENTER THE DESIRED MODE. (ALL OR PART)",4) : IF Q6$="ALL"THEN 660 : IF Q6$="PART"THEN 660 : GOSUB 2090 : GOTO 610 0660 M$=Q6$ : RETURN 0690 GOSUB '243("ENTER THE INPUT ADDRESS.",3) : I$=Q6$ 0710 IF STR(I$,1,1)="B"THEN 750 : IF STR(I$,1,1)<>"3"THEN 760 : GOSUB '97(I$) : IF Q6$="N"THEN 760 0750 RETURN 0760 GOSUB 2090 : GOTO 690 0790 GOSUB '245("ENTER THE NUMBER OF SPACES FOR THE MARGIN. (1-10)",2,0) : IF Q9<1THEN 820 : IF Q9<11THEN 840 0820 GOSUB 2090 : GOTO 790 0840 P2=Q9 : RETURN 0870 GOSUB '245("ENTER THE LINE LENGTH, INCLUDING MARGIN. (70-130)",3,0) : IF Q9<70THEN 900 : IF Q9<131THEN 920 0900 GOSUB 2090 : GOTO 870 0920 P4=Q9 : RETURN 0950 GOSUB '245("ENTER THE NUMBER OF LINES PER PAGE. (10-55)",2,0) : IF Q9<10THEN 980 : IF Q9<56THEN 1000 0980 GOSUB 2090 : GOTO 950 1000 P3=Q9 : RETURN 1040 IF F$=" "THEN 1150 : GOSUB '243("DO YOU WISH TO SAVE THESE VALUES AS THE SYSTEM DEFAULTS? Y/ N",1) : IF Q6$="N"THEN 1150 : IF Q6$="Y"THEN 1100 : GOSUB 2090 : GOTO 1040 1100 DATA LOAD DC OPEN T#0,"XREFF010" : DATA SAVE DC #0,I$,F,M$,P2,P3,P4,P9 : DATA SAVE DC END 1150 GOSUB '98(1170,2,I$) : LOAD DC T#0,"SELECT"1170,1170 1170 % SELECT #2 GOES HERE 1200 IF M$="ALL"THEN 1680 : PRINT HEX(010A);"MOUNT INPUT PLATTER";TAB(64) : GOSUB '254 : P5=0 1260 PRINT HEX(010A);"ENTER THE NAME OF FILE #";P5+1," (0 = END)";TAB(64) : GOSUB '244(8) : IF Q6$=" "THEN 1260 : N$=Q6$ : MAT SEARCHN1$(),=STR(N$,1,8)TO B$()STEP 8 : IF B$(1)=HEX(0000)THEN 1390 : GOSUB '248(3,0,1) 1360 PRINT "FILE - ";N$;" - IS A DUPLICATE FILE NAME" : GOTO 1260 1390 IF N$="0"THEN 1550 : GOSUB '229(2,N$) : IF R2$<>HEX(10)THEN 1440 : IF STR(R9$(R6),1,2)=HEX(1080)THEN 1480 1440 GOSUB '248(3,0,1) : PRINT "FILE - ";N$;" - NOT AN ACTIVE PROGRAM FILE." : GOTO 1260 1480 P5=P5+1 : N1$(P5)=N$ : PRINT HEX(01);"INPUT FILE = ";N$;TAB(63) : IF P5<40THEN 1260 1550 IF P5>0THEN 1650 : PRINT HEX(030A);"NUMBER OF FILES = 0" : GOSUB '254 1580 DEFFN'15 : COM CLEAR N1$() : PRINT HEX(030A) : PRINT "REMOUNT ISS PLATTER IF REMOVED.";TAB(64) : GOSUB '254 : LOAD DC T#0,"START040" 1650 PRINT HEX(01);TAB(64) : PRINT "REMOUNT ISS PLATTER IF REMOVED.";TAB(64) : GOSUB '254 1680 LOAD DC T#0,"XREF010B" 1710 GOSUB '248(4,0,0) : PRINT ,"ISS LIST/CROSS REFERENCE UTILITY" : PRINT : PRINT " 1. FUNCTION = "; : ON P9-1GOTO 1780,1800 : PRINT "CROSS REFERENCE"; : GOTO 1810 1780 PRINT "LIST"; : GOTO 1810 1800 PRINT "LIST/CROSS REFERENCE"; 1810 PRINT TAB(40);"4. MARGIN =";P2;TAB(64) : PRINT " 2. INPUT ADDRESS = ";I$;TAB(40);"5. LINE LENGTH =";P4;TAB(64) : PRINT " 3. MODE = ";M$;TAB(40);"6. LINES/PAGE =";P3;TAB(64) : GOSUB '248(11,0,5) : RETURN 1860 DEFFN'229(R9,R9$) : DATA LOAD BA T#R9,(0,R3)R9$() : AND (STR(R9$(1),2,1),7F) : R4=VAL(STR(R9$(1),2,1)) : R1$=R9$ : XOR (STR(R1$,2),R1$) : R2$=STR(R1$,8,1) : R3$=HEX(0000) : ADDC(R3$,R2$) : ADDC(R3$,R2$) : ADDC(R3$,R2$) 1870 ADD(STR(R3$,1,1),STR(R3$,2,1)) : R3=VAL(R3$) : R3=R3-INT(R3/R4)*R4 : R5=R3 1880 DATA LOAD BA T#R9,(R3,R)R9$() : R6=0 : FOR R7=1TO 16 : IF R3<>0THEN 1890 : IF R7<>1THEN 1890 : R7=2 1890 R2$=STR(R9$(R7),1,1) : IF R2$=HEX(00)THEN 1910 : IF R2$=HEX(10)THEN 1900 : IF R2$<>HEX(11)THEN 1920 1900 IF STR(R9$(R7),9,8)<>R9$THEN 1920 : R6=R7 1910 R7=16 1920 NEXT R7 : IF R2$=HEX(00)THEN 1930 : IF R6<>0THEN 1930 : R2$=HEX(00) : R3=R3-1 : IF R3=R5THEN 1930 : IF R3>=0THEN 1880 : R3=R4-1 : GOTO 1880 1930 RETURN 1940 DEFFN'242(W0,Q6$) : IF W0<=0THEN 1960 : IF W0=1THEN 1950 : STR(Q6$,2)=STR(Q6$,1,W0-1) 1950 PRINT Q6$; 1960 RETURN 1970 DEFFN'254 : GOSUB '248(2,0,1) : INPUT "KEY RETURN(EXEC) TO RESUME ",Q6$ : W4$=Q6$ : GOSUB '248(1,0,3) : Q6$=W4$ : RETURN 1980 DEFFN'243(Q6$,Q0) : GOSUB 2100 1990 SELECT CO 205 : Q6$=" " : INPUT Q6$ : IF Q0=0THEN 2130 : IF LEN(Q6$)<=Q0THEN 2130 : GOSUB 2090 2000 DEFFN'244(Q0) : GOSUB 2120 : GOSUB 2110 : GOTO 1990 2010 DEFFN'245(Q6$,Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 2100 2020 IF ABS(Q2)+ABS(Q3)=0THEN 2030 : GOSUB '242(ABS(Q2)+2,HEX(09)) : PRINT "/" : GOTO 2040 2030 PRINT ,," " 2040 GOSUB 2120 : SELECT CO 205 : Q9,W0=-1E-99 : INPUT Q9 : IF W0=Q9THEN 2050 : IF ABS(Q2)+Q3=0THEN 2080 : IF Q9>=0THEN 2070 : IF Q2<=0THEN 2070 2050 GOSUB 2090 2060 DEFFN'246(Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 2120 : GOSUB 2110 : GOTO 2020 2070 IF ABS(Q9)>=10^ABS(Q2)THEN 2050 : W0=ABS(Q9*10^Q3) : IF INT(W0)<>W0THEN 2050 2080 GOSUB '248(3,0,1) : RETURN 2090 GOSUB '248(3,0,1) : PRINT "RE-ENTER" : RETURN 2100 SELECT PRINT 005(64),CO 005 : PRINT HEX(010A);STR(Q6$,1); 2110 SELECT PRINT 005(64),CO 005 : GOSUB '242(Q0+2,"-") : PRINT TAB(64) 2120 PRINT HEX(010A0A) : RETURN 2130 PRINT HEX(0A);TAB(64) : SELECT PRINT 005(64),CO 005 : RETURN 2140 DEFFN'248(Q6,Q7,Q8) : GOSUB 2160 : IF Q8<1THEN 2150 : GOSUB 2150 : SELECT PRINT 205 : Q6$=" " : PRINT STR(Q6$,Q7+1) : IF Q8<2THEN 2150 : FOR W0=2TO Q8 : PRINT HEX(0A);STR(Q6$,1) : NEXT W0 2150 PRINT HEX(01) : GOSUB '242(Q7,HEX(09)) : GOSUB '242(Q6,HEX(0A)) 2160 SELECT PRINT 005(64),CO 005 : RETURN 2190 DEFFN'97(Q6$) : STR(Q6$,4)=HEX(00300131023203330434053506360737083809390A410B420C430D440E 450F462020) : $TRAN(Q6$<2,2>,Q6$<4>)R : IF STR(Q6$,2,1)>HEX(07)THEN 2330 : IF STR(Q6$,3,1)>HEX(07)THEN 2330 : ROTATE(STR(Q6$,2,1),4) 2260 STR(Q6$,4,1)=STR(Q6$,2,1) : OR (STR(Q6$,4,1),STR(Q6$,3,1)) : $GIO(02000316122273404400,Q6$) : IF STR(Q6$,8,1)<>HEX(00)THEN 2330 : Q6$="Y" : RETURN 2330 Q6$="N" : F$="N" : RETURN 2380 DEFFN'98(Q8,Q9,Q6$) : R9$(1)=HEX(20FF0000A5D7313331300D0000FE) : PACK(####)STR(R9$(1),3,2)FROMQ8 : CONVERT Q9TO STR(R9$(1),7,1),(#) : STR(R9$(1),8,3)=Q6$ : LIMITS T#0,"SELECT",Q8,Q9,Q9 : DATA SAVE BA T#0,(Q8+1,Q9)R9$() : RETURN