Listing of file='UTILITY' on disk='vmedia/701-2048D.wvd.zip'
# Sector 812, program filename = 'UTILITY'
0010 REM UTILITY,00-00(04/21/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0020 GOSUB '99
: COM R1$8,R2$1,R3$2,R9$8,R9$(16)
: COM Q6$64,W$8,W3$3,W4$1,W$(3)8,Q4(3),Q5(3)
8225 DEFFN'242(W0,Q6$)
: IF W0<=0THEN 8245
: INIT(Q6$)Q6$
: PRINT STR(Q6$,1,W0);
8245 RETURN
8565 DEFFN'254
: GOSUB '248(2,0,1)
: GOSUB 8875
: INPUT "KEY RETURN(EXEC) TO RESUME ",Q6$
: W4$=Q6$
: GOSUB '248(1,0,3)
: Q6$=W4$
: RETURN
8605 DEFFN'243(Q6$,Q0)
: GOSUB 8830
8615 SELECT CO 205
: GOSUB 8875
: INPUT Q6$
: IF Q0=0THEN 8865
: IF LEN(Q6$)<=Q0THEN 8865
: GOSUB 8815
8650 DEFFN'244(Q0)
: GOSUB 8855
: GOSUB 8840
: GOTO 8615
8675 DEFFN'245(Q6$,Q2,Q3)
: Q0=ABS(Q2)+Q3+1
: GOSUB 8830
8690 IF ABS(Q2)+ABS(Q3)=0THEN 8710
: GOSUB '242(ABS(Q2)+2,HEX(09))
: PRINT "/"
: GOTO 8715
8710 PRINT ,," "
8715 GOSUB 8855
: SELECT CO 205
: Q9,W0=-1E-99
: GOSUB 8875
: INPUT Q9
: IF W0=Q9THEN 8755
: IF ABS(Q2)+Q3=0THEN 8805
: IF Q9>=0THEN 8790
: IF Q2<=0THEN 8790
8755 GOSUB 8815
8765 DEFFN'246(Q2,Q3)
: Q0=ABS(Q2)+Q3+1
: GOSUB 8855
: GOSUB 8840
: GOTO 8690
8790 IF ABS(Q9)>=10^ABS(Q2)THEN 8755
: W0=ABS(Q9*10^Q3)
: IF INT(W0)<>W0THEN 8755
8805 GOSUB '248(3,0,1)
: RETURN
8815 DEFFN'55
: GOSUB '248(3,0,1)
: PRINT "RE-ENTER"
: RETURN
8830 SELECT PRINT 005(64),CO 005
: PRINT HEX(010A);STR(Q6$,1);
8840 SELECT PRINT 005(64),CO 005
: GOSUB '242(Q0+2,"-")
: PRINT TAB(64)
8855 PRINT HEX(010A0A)
: RETURN
8865 PRINT HEX(0A);TAB(64)
: SELECT PRINT 005(64),CO 005
: RETURN
8875 Q6$=" "
: KEYIN Q6$,8875,8875
: RETURN
8885 DEFFN'248(Q6,Q7,Q8)
: GOSUB 8950
: IF Q8<1THEN 8935
: GOSUB 8935
: SELECT PRINT 205
: PRINT TAB(64-Q7)
: IF Q8<2THEN 8935
: FOR W0=2TO Q8
: PRINT HEX(0A);TAB(64)
: NEXT W0
8935 PRINT HEX(01)
: GOSUB '242(Q7,HEX(09))
: GOSUB '242(Q6,HEX(0A))
8950 SELECT PRINT 005(64),CO 005
: RETURN
9015 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$)
9095 ADD(STR(R3$,1,1),STR(R3$,2,1))
: R3=VAL(R3$)
: R3=R3-INT(R3/R4)*R4
: R5=R3
9135 DATA LOAD BA T#R9,(R3,R)R9$()
: R6=0
: FOR R7=1TO 16
: IF R3<>0THEN 9175
: IF R7<>1THEN 9175
: R7=2
9175 R2$=STR(R9$(R7),1,1)
: IF R2$=HEX(00)THEN 9220
: IF R2$=HEX(10)THEN 9205
: IF R2$<>HEX(11)THEN 9225
9205 IF STR(R9$(R7),9,8)<>R9$THEN 9225
: R6=R7
9220 R7=16
9225 NEXT R7
: IF R2$=HEX(00)THEN 9290
: IF R6<>0THEN 9290
: R2$=HEX(00)
: R3=R3-1
: IF R3=R5THEN 9290
: IF R3>=0THEN 9135
: R3=R4-1
: GOTO 9135
9290 RETURN
9902 DEFFN'97(Q6$)
: STR(Q6$,4)=HEX(00300131023203330434053506360737083809390A410B420C430D440E
450F462020)
: $TRAN(Q6$<2,2>,Q6$<4,14>)R
: IF STR(Q6$,2,1)>HEX(0F)THEN 9916
: IF STR(Q6$,3,1)>HEX(0F)THEN 9916
: ROTATE(STR(Q6$,2,1),4)
9909 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 9916
: Q6$="Y"
: RETURN
9916 Q6$="N"
: F$="N"
: RETURN
9921 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