Listing of file='ISS.020U' on disk='vmedia/701-2423D.wvd.zip'
# Sector 233, program filename = 'ISS.020U'
0010 REM ISS.020U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC.
0049 COM Z9$8,Z8$8,Z1$(25)8,Z2$(14)8,Z3$(14)1,Z8,Z9
: COM M1$16,P2,P3,P4
: DIM Z1$3,A$4,E$36
: DIM Z$(3)83,Z$16
: DIM D$48,I1$3,M$8
0120 % THIS MUST BE STATEMENT 120
0240 S1$="ISS.200SISS.254SISS.050S"
: LOAD DC T#0,<LEN(S1$)/8>S1$10,0BEG 270
0270 GOSUB '50(2)
: $UNPACK(F=HEX(A003500250025003A008A014))Z$(Z1)TO I1$,P2,P3,P4,M$,M1$
: GOSUB '60("LIST/CROSS-REFERENCE",6)
: GOSUB '61("FUNCTION",M1$,"81"," ")
: GOSUB '61("INPUT ADDRESS",I1$,"82","DISK")
: GOSUB '61("MODE",M$,"83"," ")
: GOSUB '62("MARGIN",P2,"84")
: GOSUB '62("LINE LENGTH",P4,"85")
0370 GOSUB '62("LINES/PAGE",P3,"86")
0390 GOSUB '70
: SELECT #1<I1$>
: GOSUB '42(M$)
0450 IF M1$="LIST"THEN 490
: LOAD DC T#0,"ISS.021U"
: ERRORGOTO 500
0490 LOAD DC T#0,"ISS.023U"
: ERRORGOTO 500
0500 PRINT AT(1,0);"RE-MOUNT ISS DISK AT ";S$;TAB(S0)
: GOSUB '254
: F9$="M"
: GOTO 450
0550 DEFFN'15
: RETURN CLEAR ALL
0570 PRINT AT(1,0,3*S0);
: GOTO 390
0630 DEFFN'81
: PRINT AT(13,0);"1 - LIST"
: PRINT "2 - CROSS-REFERENCE"
: PRINT "3 - LIST/CROSS-REFERENCE";
: GOSUB '200("1","3",1,0,"ENTER OPTION",1)
: D$="LIST CROSS-REFERENCE LIST/CROSS-REF. "
: Z$,M1$=STR(D$,Q9*16-15,16)
: PRINT AT(13,0,3*S0)
: RETURN
0770 DEFFN'82
: GOSUB '40("ENTER INPUT ADDRESS")
: Z$,I1$=Z1$
: RETURN
0820 DEFFN'83
: PRINT AT(13,0);"1 - ALL 3 - RANGE"
: PRINT "2 - PART 4 - INDIRECT"
: GOSUB '200("1","4",1,0,"ENTER OPTION",1)
: D$="ALL PART RANGE INDIRECT"
: Z$,M$=STR(D$,Q9*8-7,8)
: PRINT AT(13,0,3*S0)
: RETURN
0950 DEFFN'84
: GOSUB '200("1","10",2,0,"ENTER NUMBER OF SPACES FOR THE MARGIN (1-10)",1)
: P2,Z=Q9
: RETURN
1000 DEFFN'85
: GOSUB '200("70","128",3,0,"ENTER LINE LENGTH, INCLUDING MARGIN (70-128)",
1)
: P4,Z=Q9
: RETURN
1050 DEFFN'86
: GOSUB '200("10","55",2,0,"ENTER NUMBER OF LINES PER PAGE (10-55)",1)
: P3,Z=Q9
: RETURN
1120 DEFFN'51
: $PACK(F=HEX(A003500250025003A008A014))Z$(Z1)FROMI1$,P2,P3,P4,M$,M1$
: RETURN
1180 DEFFN'42(Z9$)
: Z9=0
: Z8$=" "
: IF Z9$="ALL"THEN 1310
: IF Z9$="RANGE"THEN 1360
: E$="MOUNT INPUT DISK"
1240 PRINT AT(1,0,S0);E$;
: GOSUB '254
: IF Z9$="INDIRECT"THEN 1440
: IF Z9$="PART"THEN 1550
: STOP "ERROR"
1310 Z1$(1)=ALL(HEX(00))
: Z2$(1)=ALL(HEX(FF))
: F9$="M"
: RETURN
1360 GOSUB '200(" "," ",8,0,"ENTER BEGINNING LIMIT FOR RANGE",2)
: Z1$(1)=Q6$
: GOSUB '200(" "," ",8,0,"ENTER ENDING LIMIT FOR RANGE",2)
: Z2$(1)=Q6$
: IF Z1$(1)>=Z2$(1)THEN GOSUB '113(1,"INVALID RANGE")
: F9$="M"
: RETURN
1440 SELECT #3<I1$>
1460 GOSUB '200(" "," ",8,0,"ENTER REFERENCE FILE NAME",2)
: Z8$=Q6$
: LIMITS T#1,Z8$,Z,Z,Z,Z
: ERRORE$="MOUNT INPUT DISK"
: PRINT HEX(07)
: GOTO 1240
1500 IF Z<1THEN GOSUB '113(2,"NOT AN ACTIVE FILE ON INPUT DISK")
: IF Z=1THEN GOSUB '113(2,"WRONG FILE TYPE")
: RETURN
1550 PRINT AT(11,20);"FILE NAMES"
: GOTO 1640
1580 Y1=12
: FOR Y=MAX(1,Z9-1)TO Z9
: PRINT AT(Y1,15);Y;" ";STR(Z1$(Y),1)
: Y1=Y1+1
: NEXT Y
1640 Y1=MIN(12+Z9,14)
: PRINT AT(Y1,0,63);
: PRINT AT(1,0);"ENTER FILE NAMES (0 = END)";TAB(50)
1680 PRINT AT(Y1,15);Z9+1;
: LINPUT ?Z1$(Z9+1)
: PRINT AT(3,0,50)
: IF Z1$(Z9+1)="0"THEN 1820
: LIMITS T#1,Z1$(Z9+1),Y,Y,Y,Y
: ERRORE$="MOUNT INPUT DISK"
: PRINT HEX(07)
: GOTO 1240
1730 IF Y<1THEN GOSUB '113(3,"NOT AN ACTIVE FILE ON INPUT DISK")
: IF Y=2THEN GOSUB '113(3,"NOT A PROGRAM FILE")
: MAT SEARCHZ1$(),=STR(Z1$(Z9+1),,8)TO A$STEP 8
: IF STR(A$,3,2)<>HEX(0000)THEN GOSUB '113(3,"DUPLICATE INPUT FILE NAME")
: Z9=Z9+1
: IF Z9<25THEN 1580
1820 PRINT AT(11,0,5*S0)
: PRINT AT(1,0,2*S0)
: Z8=0
: RETURN
1880 DEFFN'113(Y,E$)
: RETURN CLEAR
1900 PRINT HEX(07);AT(3,0,50);"RE-ENTER, ";E$
: ON YGOTO 1360,1460,1680
1950 DEFFN'31
: PRINT HEX(03)
: COM CLEAR Z9$
1980 LOAD DC T#0,"ISS.100M"
: ERRORGOTO 1990
1990 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$
: GOSUB '254
: GOTO 1980