Hàng hóa VIC-20 / C64 / 128 và TheC64Mini, 101 byte BASIC được mã hóa
Dưới đây là danh sách bị xáo trộn bằng cách viết tắt từ khóa BASore 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
Ở đây cho mục đích giải thích là danh sách biểu tượng không bị che giấu:
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
Các chức năng fn b
tuyên bố trên dòng zero chấp nhận một tham số số của x
được AND
ed với giá trị b
; SGN sau đó được sử dụng để chuyển đổi x and b
sang 1
hoặc 0
.
Dòng một chấp nhận đầu vào chuỗi cho biến a$
và vòng lặp bắt đầu (ký hiệu là i
) với độ dài của đầu vào đó. b
đại diện cho mỗi bit từ bit thứ 6 đến 0. c$
lấy mỗi ký tự của chuỗi ở vị trí i
.
dòng 5 bắt đầu vòng lặp để kiểm tra từng vị trí bit; right$
được sử dụng trong dòng 6 để loại bỏ vấn đề định dạng tự động khi BASore BASIC hiển thị một số, chuyển đổi đầu ra fn b
thành chuỗi; asc(c$)
chuyển đổi ký tự hiện tại thành mã ascii của nó dưới dạng giá trị thập phân.
Dòng 7 đại diện cho giá trị bit tiếp theo. Vòng lặp j
được kết thúc trước khi in một khoảng trắng, sau đó vòng lặp cuối cùng i
kết thúc.