home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1993 November
/
64er_Magazin_93-11_1993_Markt__Technik_de_Side_A.d64
/
hyper-fak.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
12KB
|
863 lines
100 +$801
500 ;******* variablen *******
510 ; tabellen
520 tab(add=$f20
530 tab(zweilo=$120
540 tab(zweihi=$ff50
550 tab(mtab=$400
560 ; fakultaet
570 tab(fak=$1200
580 tab(n=fak-6
590 tab(store=n-9
600 tab(x=$f00
610 ; multiplikation
620 tab(precision=$90
630 tab(mal=$92
640 tab(z1=mal+1+13
650 tab(z0=mal+11+13
660 ; carry 0-4 = uebertrag
670 tab(c0=mal+9+13
680 tab(c1=mal+17+13
690 tab(c2=mal+24+13
700 tab(c3=mal+31+13
710 tab(c4=mal+38+13
720 ; ausgabe
730 ; $ac als zeiger
740 tab(null=$57
750 tab(kommaflag=$58
760 tab(fac2=x-10
1000 step"@:hyper-fak 3.2,p,w"
1500 ;******* basic-zeile *******
1510 fn17,8,<(1993),>(1993),$9e
1520 not"2061"
1530 fn0,0
2000 ;***** 'interpreter-schleife' ****
2010 mid$#<(nmi);nmi auf
2020 len#>(nmi);rti
2030 (NULL)$318
2040 (NULL)$319
2050 (NULL)$fffa
2060 (NULL)$fffb
2070 mid$#0
2080 len#2
2090 (NULL)$7a
2100 (NULL)$7b
2110 in1 (NULL)$0073
2120 (NULL)in1
2130 in0 (NULL)$0079
2140 (NULL)
2150 (NULL)in3
2160 (NULL)$0073
2170 (NULL)in5
2180 (NULL)pa1
2190 str$#$99
2200 (NULL)in4
2210 (NULL)
2220 (NULL)#$93
2230 (NULL)in2
2240 str$#2
2250 (NULL)in2
2260 ; load/save
2270 mid$#<(lsdo)
2280 len#>(lsdo)
2290 (NULL)$328
2300 (NULL)$329
2310 (NULL)$0079
2320 (NULL)$a7ed
2330 (NULL)in0
2340 in2 (NULL)$b3ae;undef
2350 in3 (NULL)info
2360 in4 (NULL)ausgabe
2370 in5 (NULL)ini
2380 (NULL)in0
2390 ;******* bcd nach x holen *******
2400 getx peek#0
2410 (NULL)x
2420 (NULL)x+1
2430 (NULL)x+2
2440 (NULL)x+3
2450 (NULL)$0079
2460 (NULL)ge2
2470 ge0 len#4
2480 (NULL)
2490 (NULL)
2500 (NULL)
2510 (NULL)
2520 (NULL)ge1
2530 right$x+3
2540 ge1 (NULL)
2550 (NULL)x
2560 (NULL)x+1
2570 (NULL)x+2
2580 (NULL)illegal
2590 (NULL)
2600 (NULL)ge1
2610 (NULL)$0073
2620 (NULL)ge0
2630 ge2 peekx+3
2640 (NULL)
2650 illegal (NULL)$b248
3000 ;******* fakultaet besorgen ******
3010 ;======= parameter holen
3020 ; x wert holen
3030 pa1 (NULL)getx
3040 (NULL)in5
3050 peekx+2
3060 tan#$10
3070 (NULL)illegal
3080 ; precision holen
3090 (NULL)$0079
3100 (NULL)pa2
3110 (NULL)$e200
3120 (NULL)
3130 (NULL)pa2
3140 (NULL)
3150 val#>(fak)
3160 (NULL)pa3
3170 pa2 mid$#$ff
3180 pa3 (NULL)precision
3190 (NULL)neu;rechnen
3200 (NULL)in0
3210 ;******* fakultaet berechnen *****
3220 neu (NULL)
3230 right$$d030;2 mhz
3240 peek#11;schirm
3250 (NULL)$d011;aus
3260 peek#52
3270 (NULL)1;ram
3280 (NULL)
3290 ;======= mal-routine kopieren
3300 tohilfe=ende+1-ma0+1
3310 len#<(hilfe)
3320 co mid$ma0-1,y
3330 (NULL)mal-1,y
3340 (NULL)
3350 (NULL)co
3360 ;======= tabellen generieren
3370 ; add := x - n - 2
3380 ta0 (NULL)
3390 mid$x
3400 (NULL)n
3410 (NULL)c0
3420 mid$x+1
3430 (NULL)n+1
3440 (NULL)
3450 mid$x+2
3460 (NULL)n+2
3470 (NULL)ta1
3480 ; x-n<0 => n:=0
3490 (NULL)ini
3500 (NULL)ta0
3510 ta1 peekstore+3
3520 (NULL)ta2
3530 (NULL)
3540 (NULL)ta3
3550 (NULL)
3560 (NULL)ta3
3570 mid$c0
3580 (NULL)ta3
3590 ; n! fertig und x-n=0 => ende
3600 (NULL)ganzfertig
3610 ; n! nicht fertig => weiterrechnen
3620 ta2 mid$store
3630 (NULL)c0
3640 mid$store+1
3650 (NULL)c1
3660 mid$store+2
3670 (NULL)c2
3680 (NULL)gencop
3690 mid$store+4
3700 (NULL)c0
3710 mid$store+5
3720 (NULL)c1
3730 mid$store+6
3740 (NULL)c2
3750 mid$store+7
3760 (NULL)c3
3770 mid$store+8
3780 (NULL)c4
3790 (NULL)alt
3800 (NULL)neu
3810 ta3 mid$c0
3820 (NULL)
3830 (NULL)ta4
3840 ; x-n ungerade => fak:=fak*(n+1)
3850 ; => n:=n+1
3860 (NULL)malnplus1
3870 (NULL)ta0
3880 ta4 (NULL)
3890 (NULL)
3900 (NULL)#2
3910 (NULL)c0
3920 (NULL)
3930 (NULL)#0
3940 (NULL)c1
3950 (NULL)
3960 (NULL)#0
3970 (NULL)c2
3980 (NULL)gencop
3990 ; x retten
4000 mid$x
4010 (NULL)
4020 mid$x+1
4030 (NULL)
4040 mid$x+2
4050 (NULL)
4060 ; mtab := x * (n+1)
4070 mid$#$9b
4080 (NULL)x+4
4090 mid$#>(x)
4100 (NULL)z1+1
4110 (NULL)z0+1
4120 mid$#$60;=rts
4130 (NULL)<(mal+ma5-ma0)
4140 (NULL)malnplus1
4150 mid$#$b1;=lda(),y
4160 (NULL)<(mal+ma5-ma0)
4170 (NULL);n:=x
4180 (NULL)n+2
4190 (NULL)
4200 (NULL)n+1
4210 (NULL)
4220 (NULL)n
4230 mid$x
4240 (NULL)c0
4250 mid$x+1
4260 (NULL)c1
4270 mid$x+2
4280 (NULL)c2
4290 mid$x+3
4300 (NULL)c3
4310 mid$x+4
4320 (NULL)c4
4330 alt (NULL)gentab
4340 mid$$2e
4350 (NULL)z0+1
4360 mid$mtab+800+$99
4370 (NULL)re0
4380 ;======= fakultaets-berechnung
4390 ; mal-routine modifizieren
4400 rechne mid$mtab+640+$99
4410 str$#$99
4420 (NULL)re1
4430 re0 mid$#$bd;=lda ab,x
4440 (NULL)c4+3
4450 mid$#<(mtab+800)
4460 (NULL)c4+4
4470 ; precision ueberpruefen
4480 ; d.h. z0+1/z1+1 setzen
4490 re1 peek#>(fak)
4500 lenz0+1
4510 (NULL)z0+1
4520 re2 atnprecision
4530 (NULL)re4
4540 (NULL)re4
4550 right$fak-2
4560 (NULL)re3
4570 right$fak-1
4580 re3 (NULL)
4590 (NULL)
4600 (NULL)re2
4610 re4 (NULL)z1+1
4620 ; z0/z1 setzen
4630 len#0
4640 peekz0
4650 (NULL)z0
4660 (NULL)re5
4670 (NULL)
4680 (NULL)
4690 re5 mid$fak,y;endnullen
4700 (NULL)re6
4710 (NULL)
4720 (NULL)re5
4730 (NULL)
4740 re6 (NULL)z1;weg und
4750 (NULL)
4760 (NULL)
4770 (NULL)
4780 valfak-3;merken
4790 (NULL)fak-3
4800 (NULL)re7
4810 right$fak-2
4820 (NULL)re7
4830 right$fak-1
4840 re7 (NULL)
4850 ; multiplizieren
4860 (NULL)mal
4870 ; tabellen verknuepfen
4880 peek#$99
4890 re8 (NULL)
4900 mid$mtab,x
4910 valadd,x
4920 (NULL)mtab,x
4930 mid$mtab+160,x
4940 valadd+160,x
4950 (NULL)mtab+160,x
4960 mid$mtab+320,x
4970 valadd+320,x
4980 (NULL)mtab+320,x
4990 mid$mtab+480,x
5000 valadd+480,x
5010 (NULL)mtab+480,x
5020 (NULL)re9
5030 mid$mtab+640,x
5040 val#0
5050 (NULL)mtab+640,x
5060 mid$mtab+800,x
5070 val#0
5080 (NULL)mtab+800,x
5090 re9 (NULL)
5100 mid$add,x
5110 (NULL)zweilo,x
5120 (NULL)add,x
5130 mid$add+160,x
5140 (NULL)zweihi,x
5150 (NULL)add+160,x
5160 (NULL)re10
5170 mid$add+320,x
5180 (NULL)#0
5190 (NULL)add+320,x
5200 mid$add+480,x
5210 (NULL)#0
5220 (NULL)add+480,x
5230 (NULL)fertig
5240 re10 (NULL)
5250 (NULL)#1
5260 (NULL)
5270 (NULL)re8
5280 ; flackern
5290 peek#55
5300 (NULL)1
5310 right$53280
5320 ; stop-taste abfragen
5330 (NULL)$f6bc
5340 (NULL)$f6ed
5350 (NULL)break
5360 peek#52
5370 (NULL)1
5380 (NULL)rechne
5390 break mid$add+1
5400 (NULL)store
5410 mid$add+160+1
5420 (NULL)store+1
5430 mid$add+320+1
5440 (NULL)store+2
5450 mid$mtab+1
5460 (NULL)store+4
5470 mid$mtab+160+1
5480 (NULL)store+5
5490 mid$mtab+320+1
5500 (NULL)store+6
5510 mid$mtab+480+1
5520 (NULL)store+7
5530 mid$mtab+640+1
5540 (NULL)store+8
5550 (NULL)fertig
5560 (NULL)info
5570 fertig mid$add+480+$99
5580 (NULL)store+3
5590 ganzfertig (NULL)
5600 len#0
5610 fe0 mid$(z0),y
5620 right$z0
5630 (NULL)fe1
5640 right$z0+1
5650 fe1 str$#$9b
5660 (NULL)fe0
5670 mid$z0
5680 peekz0+1
5690 (NULL)$2d
5700 (NULL)$2e
5710 (NULL)
5720 len#hilfe
5730 peek#55;rom
5740 (NULL)1
5750 fe2 (NULL)mal-1,y
5760 (NULL)
5770 (NULL)fe2
5780 (NULL)$98
5790 (NULL)$e518
5800 mid$#0
5810 (NULL)$d030;1 mhz
5820 (NULL)
5830 (NULL)
5840 ;******* mal (n+1), n:=n+1 *******
5850 malnplus1 (NULL)
5860 mid$n
5870 val#1
5880 (NULL)n
5890 (NULL)c0
5900 mid$n+1
5910 val#0
5920 (NULL)n+1
5930 (NULL)c1
5940 mid$#0
5950 (NULL)c3
5960 (NULL)c4
5970 (NULL)z0
5980 (NULL)z1
5990 valn+2
6000 (NULL)n+2
6010 (NULL)c2
6020 (NULL)gentab
6030 (NULL)mal
6040 ;******* tabelle generieren ******
6050 gentab len#0
6060 (NULL)mtab
6070 (NULL)mtab+160
6080 (NULL)mtab+320
6090 (NULL)mtab+480
6100 (NULL)mtab+640
6110 (NULL)mtab+800
6120 (NULL)
6130 (NULL)
6140 ge3 mid$mtab-1,y
6150 valc0
6160 (NULL)mtab,y
6170 (NULL)mtab+6,y
6180 mid$mtab+160-1,y
6190 valc1
6200 (NULL)mtab+160,y
6210 (NULL)mtab+160+6,y
6220 mid$mtab+320-1,y
6230 valc2
6240 (NULL)mtab+320,y
6250 (NULL)mtab+320+6,y
6260 mid$mtab+480-1,y
6270 valc3
6280 (NULL)mtab+480,y
6290 (NULL)mtab+480+6,y
6300 mid$mtab+640-1,y
6310 valc4
6320 (NULL)mtab+640,y
6330 (NULL)mtab+640+6,y
6340 mid$mtab+800-1,y
6350 val#0
6360 (NULL)mtab+800,y
6370 (NULL)mtab+800+6,y
6380 (NULL)
6390 val#1
6400 (NULL)
6410 (NULL)ge3
6420 (NULL)
6430 ;******* add und zwei gen/kopieren
6440 gencop mid$#0
6450 (NULL)c3
6460 (NULL)c4
6470 (NULL)gentab
6480 peek#0
6490 ge5 mid$mtab,x
6500 (NULL)add,x
6510 mid$mtab+$100,x
6520 (NULL)add+$100,x
6530 mid$mtab+$180,x
6540 (NULL)add+$180,x
6550 (NULL)
6560 (NULL)ge5
6570 ; vorbelegungen fuer m-tab-gen
6580 (NULL)x+3
6590 (NULL)z0
6600 (NULL)z1
6610 ; zwei := 2
6620 mid$#2
6630 (NULL)c0
6640 (NULL)c1
6650 (NULL)c2
6660 (NULL)gentab
6670 ge6 mid$mtab,x
6680 (NULL)zweilo,x
6690 mid$mtab+160,x
6700 (NULL)zweihi,x
6710 (NULL)
6720 tan#154
6730 (NULL)ge6
6740 (NULL)
6750 ;******* multiplikation *******
6760 ;======= carry := 0
6770 ma0 len#0
6780 (NULL)c0
6790 (NULL)c1
6800 (NULL)c2
6810 (NULL)c3
6820 (NULL)c4
6830 (NULL)
6840 ma1 peekfak,y
6850 (NULL)ma4
6860 ma2 mid$mtab,x
6870 val#0
6880 (NULL)fak,y
6890 mid$mtab+160,x
6900 val#0
6910 (NULL)c0
6920 mid$mtab+320,x
6930 val#0
6940 (NULL)c1
6950 mid$mtab+480,x
6960 val#0
6970 (NULL)c2
6980 mid$mtab+640,x
6990 val#0
7000 (NULL)c3
7010 (NULL)ma3
7020 fn>(mtab+800)
7030 ; bzw. lda mtab+800,x
7040 val#0
7050 (NULL)c4
7060 ma3 (NULL)
7070 (NULL)ma1
7080 right$z1+1
7090 right$z0+1
7100 (NULL)ma1
7110 ma4 right$z1
7120 mid$(z1),y
7130 chr$z1
7140 str$#$9b
7150 (NULL)ma2
7160 (NULL)z0
7170 len#0
7180 mid$c0
7190 (NULL)(z0),y
7200 (NULL)
7210 mid$c1
7220 (NULL)(z0),y
7230 (NULL)
7240 mid$c2
7250 (NULL)(z0),y
7260 (NULL)
7270 mid$c3
7280 (NULL)(z0),y
7290 (NULL)
7300 mid$c4
7310 (NULL)(z0),y
7320 ma5 mid$(z0),y
7330 (NULL)ma6
7340 (NULL)
7350 (NULL)ma5
7360 ma6 (NULL)
7370 mid$#0
7380 (NULL)(z0),y
7390 (NULL)
7400 mid$#$9b
7410 (NULL)(z0),y
7420 ende (NULL)
8000 ;******* n:=0, fak:=1 *******
8010 ini mid$#0
8020 len#9+6+2
8030 in6 (NULL)store-1,y
8040 (NULL)
8050 (NULL)in6
8060 chr$store+3
8070 (NULL)
8080 (NULL)fak
8090 mid$#$9b
8100 (NULL)fak+2
8110 mid$#<(fak+3)
8120 len#>(fak+3)
8130 (NULL)$2d
8140 (NULL)$2e
8150 (NULL)
8160 ;******* fakultaet laden/saven ***
8170 lsdo mid$$9d;direkt-
8180 (NULL)ls0;modus ?
8190 (NULL)
8200 (NULL)
8210 str$#$fb
8220 (NULL)load
8230 str$#$30
8240 (NULL)save
8250 ls0 (NULL)$f6ed;ja
8260 save mid$#<(store+1)
8270 len#>(store+1)
8280 (NULL)$ac
8290 (NULL)$ad
8300 mid$n
8310 (NULL)$95
8320 sa1 (NULL)getbcd
8330 (NULL)$eddd
8340 (NULL)$fcdb
8350 (NULL)$fcd1
8360 (NULL)sa1
8370 (NULL)
8380 (NULL)
8390 (NULL)$f63f
8400 load mid$#<(store)
8410 len#>(store)
8420 (NULL)$ae
8430 (NULL)$af
8440 len#0
8450 lo1 (NULL)$ee13
8460 (NULL)
8470 peek#52
8480 (NULL)1
8490 (NULL)($ae),y
8500 peek#55
8510 (NULL)1
8520 (NULL)
8530 right$$ae
8540 (NULL)lo2
8550 right$$af
8560 lo2 (NULL)$90
8570 (NULL)lo1
8580 (NULL)$f528
10000 ;******* auskunft *******
10010 info (NULL)printn
10020 mid$store+3
10030 (NULL)inf1
10040 peek#0
10050 (NULL)strout
10060 (NULL)stellen
10070 (NULL)$aabc
10080 (NULL)$a474
10090 inf1 peek#<(t2-texte)
10100 (NULL)strout
10110 peekstore+2
10120 lenstore+1
10130 mid$store
10140 (NULL)print
10150 (NULL)$a474
10160 ;******* fakultaet ausgeben ******
10170 ausgabe mid$store+3
10180 (NULL)info
10190 (NULL)$0073
10200 (NULL)$b79e
10210 (NULL)$ba;ga
10220 (NULL)$e200
10230 (NULL)$b9;sa
10240 (NULL)stellen
10250 ; auszugebende stellenzahl -> fac
10260 (NULL)$aefd
10270 (NULL)$ad8a
10280 peek#0
10290 (NULL)$b7;kein name
10300 (NULL)
10310 (NULL)$b8;file-nr
10320 peek$ba
10330 (NULL)au1
10340 (NULL)$ffc0
10350 peek#1
10360 (NULL)$ffc9
10370 peek$9a
10380 au1 (NULL)$9a
10390 ; user-port ansteuerung ermoegl.
10400 mid$#$ff
10410 (NULL)$dd03
10420 mid$#$3f
10430 (NULL)$dd02
10440 ; bsout installieren
10450 mid$#<(bsout)
10460 len#>(bsout)
10470 (NULL)$326
10480 (NULL)$327
10490 (NULL)printn
10500 peek#<(t3-texte)
10510 (NULL)strout
10520 mid$$61
10530 (NULL)au2
10540 ; fac mit stellenanzahl vergl.
10550 mid$#<(fac2)
10560 len#>(fac2)
10570 (NULL)$bc5b
10580 au2 (NULL)kommaflag
10590 (NULL)
10600 mid$#255
10610 (NULL)null
10620 (NULL)setend
10630 (NULL)nextbcd
10640 (NULL)nextbcd
10650 ; null am anfang abfangen
10660 (NULL)
10670 asc#$f0
10680 (NULL)au5
10690 (NULL)au4
10700 au3 (NULL)komma
10710 (NULL)nextbcd
10720 (NULL)au7
10730 (NULL)
10740 au4 (NULL)
10750 (NULL)
10760 (NULL)
10770 (NULL)
10780 (NULL)pr0
10790 (NULL)sub1
10800 (NULL)au6
10810 (NULL)komma
10820 au5 (NULL)
10830 (NULL)pr00
10840 (NULL)sub1
10850 (NULL)au3
10860 fn$24
10870 au6 (NULL)
10880 au7 (NULL)nullen
10890 (NULL)
10900 (NULL)
10910 (NULL)au8
10920 ; exponent=nullen+stellen-1
10930 mid$#<(fac2)
10940 len#>(fac2)
10950 (NULL)$b867
10960 (NULL)sub1
10970 au8 mid$$61
10980 (NULL)au9
10990 ; exponent mit '*10^' ausgeben
11000 peek#<(t4-texte)
11010 (NULL)strout
11020 (NULL)$aabc
11030 (NULL)
11040 (NULL)au10
11050 au9 (NULL)$aad7;cr
11060 au10 (NULL)
11070 (NULL)au11
11080 ; 'stellen:' ... ausgeben
11090 peek#<(t5-texte)
11100 (NULL)strout
11110 (NULL)nullen
11120 mid$#<(fac2)
11130 len#>(fac2)
11140 (NULL)$b867
11150 (NULL)$aabc
11160 au11 (NULL)$ffcc
11170 mid$#1
11180 (NULL)$ffc3
11190 (NULL)in0
11200 komma mid$kommaflag
11210 (NULL)ko1
11220 mid$#"."
11230 (NULL)bsout
11240 (NULL)kommaflag
11250 ko1 (NULL)
15000 ;******* n ausgeben *******
15010 printn peekn+2
15020 lenn+1
15030 mid$n
15040 ;******* x/y/a ausgeben (bcd) ****
15050 print (NULL)
15060 mid$#0
15070 (NULL)null
15080 (NULL)
15090 (NULL)printbyte
15100 (NULL)
15110 (NULL)printbyte
15120 (NULL)
15130 (NULL)printbyte
15140 mid$null
15150 (NULL)pr2
15160 mid$#$30
15170 (NULL)bsout
15180 ;******* bcd-byte ausgeben *******
15190 printbyte (NULL)
15200 (NULL)
15210 (NULL)
15220 (NULL)
15230 (NULL)
15240 (NULL)pr0
15250 (NULL)
15260 pr00 asc#15
15270 ;******* ziffer ausgeben *******
15280 ; null=0: keine 0, sonst null>127
15290 ; null>127: normale ausgabe
15300 pr0 peeknull
15310 (NULL)pr1
15320 (NULL)
15330 (NULL)pr2
15340 chr$null
15350 pr1 (NULL)#$30
15360 ;******* ascii ausgeben *******
15370 bsout (NULL)
15380 mid$$9a
15390 (NULL)bs1
15400 (NULL)$f1cb
15410 bs1 mid$#$10
15420 bs2 (NULL)$dd0d
15430 (NULL)bs2
15440 (NULL)
15450 (NULL)
15460 (NULL)$dd01
15470 mid$$dd00
15480 (NULL)#4
15490 (NULL)$dd00
15500 asc#$fb
15510 (NULL)$dd00
15520 (NULL)
15530 (NULL)
15540 pr2 (NULL)
15550 ;******* string ausgeben *******
15560 strout mid$texte,x
15570 (NULL)str1
15580 (NULL)bsout
15590 (NULL)
15600 (NULL)strout
15610 str1 (NULL)
15620 texte not"!, ziffern im ram:"
15630 t2 not"!, fehlende *:"
15640 t3 not"!="
15650 t4 not"*10^"
15660 t5 not"stellen:"
15670 ;******* stellenanzahl -> fac/fac2
15680 stellen (NULL)setend
15690 (NULL)nextbcd
15700 len$ac
15710 mid$$ad
15720 (NULL)#>(fak)
15730 (NULL)$b395
15740 (NULL)mal2
15750 (NULL)nextbcd
15760 ; 1.ziffer=0 => fac:=fac-1
15770 str$#$10
15780 (NULL)st1
15790 (NULL)sub1
15800 st1 peek#<(fac2)
15810 len#>(fac2)
15820 (NULL)$bbd4
15830 ;******* nullenanzahl -> fac *****
15840 nullen mid$fak-3
15850 peekfak-2
15860 lenfak-1
15870 (NULL)$64
15880 (NULL)$63
15890 (NULL)$62
15900 mid$#0
15910 (NULL)$6f
15920 (NULL)$65
15930 peek#129+23
15940 (NULL)
15950 (NULL)$bc4f
15960 ;******* fac:=fac*2 *******
15970 mal2 (NULL)$bc0c
15980 mid$$61
15990 (NULL)$b86a
16000 ;******* fac:=fac-1 *******
16010 sub1 mid$#<($b9bc)
16020 len#>($b9bc)
16030 (NULL)$b850
16040 (NULL)$bfb4
16050 mid$$61
16060 (NULL)
16070 ;******* ($ac) auf fak-ende ******
16080 setend len$2d
16090 mid$$2e
16100 (NULL)$ac
16110 (NULL)$ad
16120 ;******* naechstes bcd-byte ******
16130 ; clc => alle gelesen
16140 nextbcd chr$$ac
16150 len$ac
16160 atn#255
16170 (NULL)getbcd
16180 chr$$ad
16190 mid$$ad
16200 str$#>(fak)
16210 (NULL)ge4
16220 ;******* bcd-byte lesen *******
16230 getbcd (NULL)
16240 len#52
16250 (NULL)1
16260 len#0
16270 mid$($ac),y
16280 len#55
16290 (NULL)1
16300 (NULL)
16310 (NULL)
16320 ge4 (NULL)
16330 nmi (NULL)
60000 <