Listing of file='SORT400B' on disk='vmedia/701-2425A.wvd.zip'
# Sector 277, program filename = 'SORT400B'
0200 REM SORT400B,08/09/77,COPYRIGHT WANG LABS.1976
0240 DIM V9$2,T9$2,T0$(4)60,T1$30,T7$30,T4$3,Q2$2,Q3$2,V5$(4)1,V8$1,V1$8,V2$2,
V3$2,V6$1,T2$2,T8$(4)1,Q0$4,V4$(4)2,V2$(4)2,T$(3)48
0545 ADDC(V9$,V0$)
: DATA LOAD DA T#F(2),(V9$,V9$)T9$,T0$()
: RETURN
0655 V9$=T2$
: FOR T3=T0TO 1STEP -1
: GOSUB 545
: T2$(T3)=T9$
: MAT SEARCHT0$()<1,V7>,>STR(T1$,1,T4)TO J$()STEP T5
: T=VAL(STR(J$(1),2))-T5
: IF T>0THEN 720
: T=V1
0720 $UNPACK(F=V4$)T0$()<T>TO T7$,T4$
: V9$=T4$
: BIN(STR(T$,T3))=T
: NEXT T3
: RETURN
0830 T4=VAL(STR(V1$,5))
: T5=T4+3
: V6=VAL(STR(V1$,6))
: V7=T5*V6
: V1=V7-T5+1
: V4$=HEX(A000A003)
: BIN(STR(V4$,2))=T4
: RETURN
1275 T=T+T5
: IF T>V1THEN 1365
: $UNPACK(F=V4$)T0$()<T>TO T7$,T4$
: IF T7$>HEX(FF)THEN 1365
: BIN(T$)=T
1295 GOSUB 2540
: GOTO 4285
1365 T3=1
1370 T3=T3+1
: IF T3>T0THEN 2480
: V9$=T2$(T3)
: GOSUB 545
: T=VAL(STR(T$,T3))
: T=T+T5
: IF T>V1THEN 1370
: $UNPACK(F=V4$)T0$()<T>TO T7$,T4$
: IF T7$>HEX(FF)THEN 1370
1420 BIN(STR(T$,T3))=T
: IF T3=1THEN 1295
: V9$=T4$
: GOSUB 545
: $UNPACK(F=V4$)T0$()TO T7$,T4$
: T3=T3-1
: T=1
: T2$(T3)=T9$
: GOTO 1420
2020 STR(Z$,5,1)="K"
: CONVERT JTO STR(Z$,6,1),(#)
: N$(2)=Z$
: IF O9$(2)=" "THEN 2060
: GOSUB '229(F(2),Z$)
: E=3
: IF R<>2THEN 7020
2060 LIMITS T#F(2),Z$,T,V,T3
: GOSUB '43(T)
: V0$=X1$
: ON F-2GOTO 2230,2160
: DATA LOAD DA T#F(2),(V0$,V9$)T,T$()
: T1$=HEX(5001A002A002A0020004A001A002A002A001)
: $UNPACK(F=T1$)T$(2)TO T0,T2$,Q2$,V2$,V6$,V3$,Q3$,V8$
: V1$=STR(T$(2),18)
: GOTO 2340
2160 GOSUB '215(F$(2),1)
: DATA LOAD DA T#F(2),(V0$,V9$)Q2$,Q3$,V5$(),V8$,V1$,V2$,V3$,V6$,T2$,T0,T8$
(),Q0$,V4$(),V2$()
: IF POS(Q0$=41)+POS(Q0$=58)>0THEN 2500
: V0=POS(Q0$=20)
: IF V0=0THEN 2500
: STR(Q0$,V0,1)="R"
: INIT(FF)V4$(V0)
: GOTO 2340
2230 DATA LOAD DA T#F(2),(V0$,V9$)Q2$,Q3$,V5$(1),V8$,X1$,V1$,V2$,V3$,V6$,T2$,T
0
: V0=1
2340 GOSUB 830
: T1$=A$
: GOSUB 655
: IF T1$<>T7$THEN 1275
: IF T4$<HEX(FF)THEN 1295
: GOTO 1275
2480 GOSUB 2540
: E=11
: GOTO 7020
2500 GOSUB 2540
: E=39
: GOTO 7020
2540 IF F<>4THEN 2570
: DATA SAVE DA T$#F(2),(V0$,V9$)Q2$,Q3$,V5$(),V8$,V1$,V2$,V3$,V6$,T2$,T0,T8
$(),Q0$,V4$(),V2$()
: GOSUB '215(F$(2),0)
2570 RETURN
4285 PRINT "STARTING KEY TO BE SORTED ";
: GOSUB '36(A$)
: PRINT "ENDING KEY (NOT SORTED) ";
: GOSUB '36(E$)
: X=VAL(T4$)*256+VAL(STR(T4$,2))
: I(4)=I(1)+X
: I(3)=VAL(Q2$)*256+VAL(STR(Q2$,2))+VAL(V6$)
: E=4
: IF B<>VAL(V8$)THEN 7020
: GOTO 5710
4510 DEFFN'36(T1$)
: IF POS(T1$<20)+POS(T1$>7A)>0THEN 4530
: PRINT T1$
: RETURN
4530 PRINT "HEX ";
: X=T4
: IF T4<13THEN 4550
: X=12
4550 HEXPRINT STR(T1$,1,X)
: RETURN