Dyskusja:Suma kontrolna SIO
From Atariki
(Różnice między wersjami)
| Wersja z dnia 09:43, 19 sty 2011 Xxl (Dyskusja | wkład) (prpopozycja) ← Previous diff |
Wersja z dnia 11:45, 19 sty 2011 Mono (Dyskusja | wkład) (szybsze crc) Next diff → |
||
| Linia 12: | Linia 12: | ||
| [[Użytkownik:Xxl|Xxl]] 10:43, 19 sty 2011 (CET) | [[Użytkownik:Xxl|Xxl]] 10:43, 19 sty 2011 (CET) | ||
| + | |||
| + | A nie szybciej: | ||
| + | <pre> | ||
| + | ldx #0 | ||
| + | txa | ||
| + | clc | ||
| + | ?loop: adc data,x | ||
| + | adc data+$100,x ;w przypadku 512bps | ||
| + | inx | ||
| + | bne ?loop ;bpl w przypadku 128bps | ||
| + | adc #0 | ||
| + | sta chksum | ||
| + | </pre> | ||
| + | ? [[Użytkownik:Mono|Mono]] 12:45, 19 sty 2011 (CET) | ||
Wersja z dnia 11:45, 19 sty 2011
to jest chyba bardziej czytelne, krotsze i szybsze
LDX #$00
TXA
CLC
CRC ADC DATA,X
ADC #$00
INX
BNE CRC
STA CHKSUM
Xxl 10:43, 19 sty 2011 (CET)
A nie szybciej:
ldx #0
txa
clc
?loop: adc data,x
adc data+$100,x ;w przypadku 512bps
inx
bne ?loop ;bpl w przypadku 128bps
adc #0
sta chksum
? Mono 12:45, 19 sty 2011 (CET)
