http://noname.c64.org/csdb/release/?id=103840Burada bu 6 byte'ı 4 byte olarak kullanıyorum. $f6 ya da $ff olmak durumunda sondaki byte ancak $ed olan byte değişebiliyor. Dolayısıyla şu çalışıyor örneğin;
!to "tricky.prg",cbm
* = $0326
!word start
start:
lda #$f6 ; ya da $ff
...
Aklınızda bulunsun.
En fazla 18-19 byte civarı kod yazacaksanız $007e trickini de kullanabilirsiniz.
18 byte örneği (load address hariç):
!to "very_short_1.prg",cbm
* = $7e
loop
inc $d020
inc $d021
inc $d020
inc $d021
inc $d020
jmp loop
19 byte örneği (load address hariç):
!to "very_short_2.prg",cbm
* = $7e
loop
inc $d020
inc $d021
inc $d020
inc $d021
inc $d020
nop
nop
bcs loop
ılk örnek 19 byte olarak kullanıldığında sondaki jmp'ın high byte adresi bozuluyor ancak ikinci örnekte aynı adresteki byte bozulmuyor. Yani biraz kullandığınız opcodelara göre de maksimum sınırınız değişebiliyor. Çok sakat ve aşırı sınırlı bir autorun yöntemidir ancak $0326'ya göre 4 byte daha kısa, benim kullandığım $0326 trickine göre de 2 byte daha kısa sonuç verir, load address harici hiç byte harcamaz.