Commodore 64 Assembler'ında kodun başlangıç adresi değiştiği zaman basic kodunun da buna göre değişmesi gerekir. Bu yüzden başlangıç adresi değiştiğinde kodda en az iki yeri değiştirmek gerekir. Bu problemi halleden ufak bir örnek yaptım. Büyük birşey değil. Belki birilerinin işine yarar.
BASIC_START = $0801
CODE_START = $080d
!to "dummy.prg",cbm
* = BASIC_START
!byte 12,8,0,0,158
!if CODE_START >= 10000 {!byte 48+((CODE_START/10000)%10)}
!if CODE_START >= 1000 {!byte 48+((CODE_START/1000)%10)}
!if CODE_START >= 100 {!byte 48+((CODE_START/100)%10)}
!if CODE_START >= 10 {!byte 48+((CODE_START/10)%10)}
!byte 48+(CODE_START % 10),0,0,0
* = CODE_START
[COLOR=blue] lda $d012
lsr
lsr
sta $d020
sta $d021
jmp CODE_START[/COLOR]
CODE_START sabitini değiştirdiğinizde hem basic autorun kodu buna göre üretilecek, hem de kod hafızada o adrese yerleşecektir.
Not: Mavi renk ile işaretlenmiş bölge örnek bir kod parçasıdır. Siz kendi kodunuzu bu bölümü silerek yazabilir ya da kendinize template oluşturabilirsiniz.