Commodore VIC-20 / C64 / 128 und TheC64Mini, 101 tokenisierte BASIC-Bytes
Hier ist die verschleierte Auflistung mit den Schlüsselwortabkürzungen von Commodore BASIC:
0dEfnb(x)=sG(xaNb):inputa$:fOi=1tolen(a$):b=64:c$=mI(a$,i,1):fOj=0to6
1?rI(str$(fnb(aS(c$))),1);:b=b/2:nEj:?" ";:nE
Hier zur Erläuterung die nicht verschleierte symbolische Auflistung:
0 def fn b(x)=sgn(x and b)
1 input a$
2 for i=1 to len(a$)
3 let b=64
4 let c$=mid$(a$,i,1)
5 for j=0 to 6
6 print right$(str$(fn b(asc(c$))),1);
7 let b=b/2
8 next j
9 print " ";
10 next i
Die Funktion fn b
der Linie erklärt Null annimmt einen numerischen Parameter von x
dem AND
mit dem Wert von ed b
; SGN wird dann zum Konvertieren x and b
in 1
oder verwendet 0
.
Zeile eins akzeptiert eine Zeichenfolgeeingabe für die Variable a$
, und die Schleife beginnt (bezeichnet mit i
) mit der Länge dieser Eingabe. b
repräsentiert jedes Bit vom 6. bis zum 0. Bit. c$
Nimmt jedes Zeichen der Zeichenfolge an der Positioni
.
Zeile 5 startet die Schleife, um jede Bitposition zu testen; right$
wird in Zeile 6 verwendet, um ein Problem mit der automatischen Formatierung zu beheben, wenn Commodore BASIC eine Zahl anzeigt und die Ausgabe von fn b
in eine Zeichenfolge konvertiert . asc(c$)
konvertiert das aktuelle Zeichen in seinen ASCII-Code als Dezimalwert.
Zeile 7 repräsentiert den nächsten Bitwert. Die Schleife j
wird beendet, bevor ein Leerzeichen gedruckt wird. Dann wird die letzte Schleife i
beendet.