Dyskusja:Inkrementacja i dekrementacja liczb wielobajtowych

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 14:26, 4 wrz 2011
Mono (Dyskusja | wkład)
(inne inc)
← Previous diff
Wersja z dnia 14:31, 4 wrz 2011
Mono (Dyskusja | wkład)
(inny dec)
Next diff →
Linia 8: Linia 8:
?ret: ?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. [[Użytkownik:Mono|Mono]] 16:26, 4 wrz 2011 (CEST) 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. [[Użytkownik:Mono|Mono]] 16:26, 4 wrz 2011 (CEST)
 +
 +Analogicznie dekrementacja:
 + ldx #-n-1
 + ?chk:
 + inx
 + lda data-$100+n,x
 + beq ?dec
 + ?dec:
 + dec data-$100+n,x
 + dex
 + bne ?dec
 +[[Użytkownik:Mono|Mono]] 16:31, 4 wrz 2011 (CEST)

Wersja z dnia 14:31, 4 wrz 2011

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 ?dec
?dec:
  dec data-$100+n,x
  dex
  bne ?dec

Mono 16:31, 4 wrz 2011 (CEST)