Gönderen Konu: muhasebe programi  (Okunma sayısı 17728 defa)

muhasebe programi

« Yanıtla #15 : 13.12.2006 14:59:05 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Kod: [Seç]
a += (j << 2);
bunu unutmuşum
 
Kod: [Seç]
      lda Rj
       asl
       asl
       clc
       adc Ra
       sta Ra

muhasebe programi

« Yanıtla #16 : 13.12.2006 15:05:09 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Bu arada Endo bir uyarıda bulundu. Aşağıdaki kodda işaretlenen SEC komutuna gerek yok çünkü carry flag zaten set orda
 
Kod: [Seç]
[LEFT]loop   lda Ri
      cmp Rj
      beq out
      lda Ri
      cmp Rj
      bcs lighter
      [B][COLOR=red]sec[/COLOR][/B]
      sbc Rj
      sta Ri
      jmp loop
lighter
      lda Rj
      sec
      sbc Ri
      sta Rj
      jmp loop
out[/LEFT]

ışaretli satırı uçurabilirsiniz. Kalsa da problem değil, 1 byte uzatır yalnızca :)

muhasebe programi

« Yanıtla #17 : 13.12.2006 15:24:45 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
ellerinine (ellerinize) saglik.. yine tahminimden daha kucuk code'lar cikti.. niyeyse daha uzun bisi bekliyordum ve c64'u kucumsedigim icin utandim :)

muhasebe programi

« Yanıtla #18 : 13.12.2006 15:58:28 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
64'de asm kodları çok uzun olmaz. 256b falan kasılabilir kolayca.
8086'ya göre kod uzunluğu açısından en büyük dezavantajı tek bir komutla (mov) load/store yapılamamasıdır. Bu tür işlemler için lda,sta ldx,stx, ldy,sty gibi iki komut gerekir.
Bir de sonradan eklenen "shr ax,2" gibi birden fazla shiftingi tek komutla halletme özelliği de yok ancak yanlış bilmiyorsam eskiden 8086 standartlarında da bu yoktu sonradan eklendi.
Kıyaslama tabii ki kod uzunluğu açısından. Yoksa MMX, FPU v.s. olayına hiç girmeyelim commodore assemblerında mul, div v.s. bile yok bırakın fsin'i cartı curtu.