CRC, XOR i ST62..
Masz problem? Zapytaj na forum elektroda.pl
From: Marcin Wolcendorf <wolcendo_at_nospam_free.polbox.pl>
Subject: CRC, XOR i ST62..
Date: Sun, 05 Dec 1999 09:41:32 +0100
Witam,
Mam problem- muszę policzyć CRC-8 (wielomian generujący: x^8+x^2+x+1
) na ww procku. Właściwie mam już jakiś pomysł, ale...
Czy macie (a jeśli tak, czy moglibyście się podzielić :-)) ) jakąś
szybką realizację algorytmu liczącego CRC-8 (nie mam miejsca na 256
bajtową tablicę- max. 16). I pytanie związane- liczenie XOR-a. Ale nie
tablicowo, przynajmniej nie zupełnie (zresztą- 'zupełnie', to by wyszło
tak z 32k... a ten procek tyle pamięci nie ma). Tak, wiem,
xor(x,y)=nand( nand( nand(x,y),x), nand( nand( x,y),y)). Śliczne. A
jakie krótkie... Może można inaczej?
Tak swoją drogą- kto wpadł na pomysł, żeby procesor nie miał xor-a
ani or-a? Ani przesuwania w prawo?
--
Pozdrawiam,
Marcin Wolcendorf
'And all you touch, and all you see
Is all your life will ever be'
(C) by Waters, Gilmour, Wright
From: "PT" <tprzemko_at_nospam_friko4.onet.pl>
Subject: Re: CRC, XOR i ST62..
Date: Mon, 06 Dec 1999 21:04:34 GMT
W jednej z ostatnich EP jest króciutki programik liczący xor , dosłownie
kilka linii
Bym przytoczył ale nie mam w zasięgu ręki, jak nikt wcześniej nie pomoże to
we wtorek myślę że uda mi się znaleźć.
tprzemko_at_nospam_poczta.onet.pl
From: Marcin Wolcendorf <wolcendo_at_nospam_free.polbox.pl>
Subject: Re: CRC, XOR i ST62..
Date: Tue, 07 Dec 1999 06:12:15 +0100
Witam,
PT wrote:
W jednej z ostatnich EP jest króciutki programik liczący xor , dosłownie
kilka linii
Bym przytoczył ale nie mam w zasięgu ręki, jak nikt wcześniej nie pomoże to
we wtorek myślę że uda mi się znaleźć.
Byłbym wdzięczny- ciekawi mnie, jak inni to zrobili. Mój pomysł wygląda
tak:
;procedura xor,
;liczy xor z v i w
;uzywajac do tego a i y.
;wynik w a.
xor_vw
ld a,v
and w
com a
ld y,a
and v
com a
ld v,a
ld a,w
and y
com a
and v
com a
ret
Może można krócej? Z mniejszym zużyciem zasobów?
Oczywiscie y, v i w można zastąpić dowolnymi innymi komórkami.
--
Pozdrawiam,
Marcin Wolcendorf
'And all you touch, and all you see
Is all your life will ever be'
(C) by Waters, Gilmour, Wright
From: "PT" <klopsik_at_nospam_kki.net.pl>
Subject: Re: CRC, XOR i ST62..
Date: Tue, 07 Dec 1999 06:20:30 GMT
Znalazłem
ld a,arg1
and a,arg2
com a
ld mask,a
and a,arg1
and a,arg2
and a,mask
ret
EP 7/99 strona 68
powodzenia
tprzemko_at_nospam_poczta.onet.pl
From: Marcin Wolcendorf <wolcendo_at_nospam_free.polbox.pl>
Subject: Re: CRC, XOR i ST62..
Date: Wed, 08 Dec 1999 04:33:44 +0100
Witam,
PT wrote:
Znalazłem
ld a,arg1
and a,arg2
com a
ld mask,a
and a,arg1
and a,arg2
and a,mask
ret
EP 7/99 strona 68
Dzięki za pomoc. :-)
Nie mam tej EP-ki przed nosem, ale jak na to patrzę, to to nie może
dobrze działać... Bo to jest AND(NAND(a,b),a,b,NAND(a,b)). Czyli AND(x,
NOT(x)). Czyli 0. Bardzo to wydłużony 'clr a'. Jeśli dobrze przepisałeś
(a tak właśnie przyjmuję), to AVT znowu coś 'pomyliło'... Hi, znalazłem
EP-kę. Faktycznie, dobrze przepisałeś. Jest zchrzanione.
Moje po przepisaniu oczywiście działać nie będzie, bo zapomniałem
wstawić 'a' w niektórych operacjach (które i tak na niczym innym nie
działają- po co takie udziwnienie to nie wiem). Za to po poprawce
polegającej na uzupełnieniu rozkazów, żeby asembler nie krzyczał-
działa.
--
Pozdrawiam,
Marcin Wolcendorf
'And all you touch, and all you see
Is all your life will ever be'
(C) by Waters, Gilmour, Wright