Dyskusja:Inkrementacja i dekrementacja liczb wielobajtowych

From Atariki

Revision as of 14:36, 4 wrz 2011; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

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) Nieco inaczej z dec:

 ldx #-n-1

?dec:

 inx
 beq ?ret
 lda data-$100+n,x
 sne
 jsr ?dec
 dec data-$100+n,x
 dex

?ret:

 rts

Niestety angażuje stos :/ (mając tę procedurkę myślałem, jak ją przerobić na iteracyjną, ale zrobiłem to za szybko - dlatego usunąłem poprzednie przemyślenia). Mono 16:36, 4 wrz 2011 (CEST)

Personal tools