C64 için Püf Noktaları
Retro bilgisayarMAKİNE DİLİ
ON-GOTO Bu komutu kullanırken, alt programdan dönüşte A yazmacının içerdiği değer, bizi ilgilendirmeyecektir. Alt programdan geri dönmek için RTS yerine JMP komutunu kullanmak yeterli olacaktır. Mesela,
2000 LDA $96
2004 BNE $2009
2006 JMP $5000 ; sıcak yaz
2009 $64
200B BNE $2010
200D JMP $5020 ; çok sıcak yaz
20410CMP $78
2012 BNE $2017
2044 JMP $5038 ; ilik yaz
2047 NOP
Bütün alt programlar görevlerini tamamladıklarında $2017 nolu adrese JMP komutu ile geri dönecekler. Bu tür kullanımın bir sakıncası var; Eğer programda birçok JMP komutu kullanırsak, bir süre sonra neyin nereye atladığını karıştırabiliriz. Bu şekilde yazılmış ve birçok JMP komutu içeren bir programa bir süre sonra baktığımızda ne yapmış olduğumuzu anlamak zor olacaktır.
READ
Makine dilinde veri okumanın bir anlamı yoktur, çünkü değişken değerleri BASIC'de olduğu gibi DATA satırlarında yer almaz. Programlama sırasında, bizim için gerekli olacak verileri hafızada ayırmış olduğumuz bölgelere tablolar halinde yerleştiririz. BASIC'de READ komutunun amacı değişkenlere değerlerini yüklemek veya bir grup veriyi alıp başka bir yere taşımaktır. Bu tür işlemler makine diliyle uğraşırken bilgisayar tarafından değil, bizim tarafımızdan halledilir. Eğer bir veriye ihtiyaç duyarsak, bu veriyi aldığımız adresleri ve verinin nereye aktarılacağını bildirerek istediğimiz veriyi kullanırız. Makine diliyle program yaparken, değişkenlerimizi hangi adreslerde tuttuğumuzu devamlı olarak takip etmemiz gerekecektir.
REM Eğer makine dili programları bir assembler kullanarak hazırlıyorsak, program içinde alt rutinlerin ne yaptığını yazmak çok yararlı olur. Özellikle, aradan bir süre geçtikten sonra yapmış olduğumuz programın ne işe yaradığını anlamak kolaylaşır. Bunun için her satırın sonuna noktalı virgül koyup istediğimiz açıklamayı yazabiliriz. Assembler bu yazıları görmeyecektir.