qqun connait il l'algo crc 16 bits
Merci
qqun connait il l'algo crc 16 bits
Merci
Avant de poser une question, tout bon programmeur commence par faire une petite recherche. Google m'a donner un paquet de réponses en moins de 2 secondes.
ams.cern.ch/AMS/Dataformats/node26.html
a++
J'avais écrit cette fonction de calcul du CRC16 dans une trame en assembleur pour Delphi, si il y en a que ca intéresse...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 //CALCUL DU CRC16 OPTIMISE AVEC DE L'ASSEMBLEUR - - - ASM - - - - ASM - - - lgtrame:=Length(Trame); W_CRC16:=0; for k:=1 to trunc(lgtrame/2) do begin // Extraction de l'octet de la trame Octet[1]:=Trame[2*k-1]; Octet[2]:=Trame[2*k-1+1]; asm; //Récupération dans DX de l'octet à ajouter xor eax,eax xor edx,edx mov al,byte ptr Octet[1] sub al,48 cmp al,9 jle @c1_0_9 @c1_A_F: sub al,7 @c1_0_9: mov dx,ax shl edx,4 mov al,byte ptr Octet[2] sub al,48 cmp al,9 jle @c2_0_9 @c2_A_F: sub al,7 @c2_0_9: add dx,ax // Calcul du CRC16 avec le nouvel octet xor ebx,ebx mov bx, word ptr W_CRC16 xor bx,dx mov ecx,8 @DO: mov eax,ebx shr ebx,1 test eax,1 je @NoXor xor ebx,40961 @NoXor: loop @DO mov word ptr W_CRC16,bx end; end; end; CRC16:=W_CRC16;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager