Dyskusja:Inkrementacja i dekrementacja liczb wielobajtowych
From Atariki
(Różnice między wersjami)
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)