Dyskusja:Inkrementacja i dekrementacja liczb wielobajtowych: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Mono (dyskusja | edycje)
inny dec
Mono (dyskusja | edycje)
mNie podano opisu zmian
Linia 14: Linia 14:
   inx
   inx
   lda data-$100+n,x
   lda data-$100+n,x
   beq ?dec
   beq ?chk
  ?dec:
  ?dec:
   dec data-$100+n,x
   dec data-$100+n,x

Wersja z 4 wrz 2011, 15:31

A co myślałbyś o takim fragmencie:

  ldx #-n-1
?loop:
  inx
  beq ?ret
  inc data-$100+n,x
  beq ?loop
?ret:

gdzie n to ilość bajtów w liczbie LSB..MSB, analogicznie oczywiście można zastępując inx na dex potraktować liczby MSB..LSB. Dla ZPG obcinamy -$100. Mono 16:26, 4 wrz 2011 (CEST)

Analogicznie dekrementacja:

  ldx #-n-1
?chk:
  inx
  lda data-$100+n,x
  beq ?chk
?dec:
  dec data-$100+n,x
  dex
  bne ?dec

Mono 16:31, 4 wrz 2011 (CEST)