Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

Help CRC

- - - - -
  • Please log in to reply
No replies to this topic

#1
diaconuliviu

diaconuliviu

    Senior Member

  • Grup: Senior Members
  • Posts: 4,772
  • Înscris: 19.01.2005
Vreau sa calculez CRC pentru un sir de valori hexa dintr-o memorie dupa o anumita formula gasita si folosita si de producatori.

i:integer;
CRC:word;
Hig,Low:byte;
bin[$0,$9F]:array of bytes;

  


i:=$0;
    CRC:=$AAAA;
    while i<$7E do

    begin //CRC cicle
   //writeln('I= ',i);

    CRC:=CRC xor ((bin[i+$1] shl $8) or bin[i]);

   //Writeln(' XORCRC  ',CRC);

    //CRC:=(CRC + CRC) or (CRC shr $F);

CRC:=(CRC shl $1) or (CRC shr $F);
   //Writeln('   ORCRC  ',CRC);

    i:=i+$2;



    end;  //CRC cicle

    Hig:=Hi(CRC);
    Low:=Lo(CRC);

    bin[$7E]:=Hig;
    bin[$7F]:=Low;


Primii octeti sint 00 40.
Deja dupa prima iteratie CRC trece de $FFFF si creste in continuare, cind de fapt, la final ar trebui sa fie doi octeti;
Unde gresesc?
Am folosit Free Pascal IDE

Multumesc

Edited by diaconuliviu, 25 May 2016 - 14:44.


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate