Searching \ for '8 Bit CRC' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/method/errors.htm?key=crc
Search entire site for: '8 Bit CRC'.

Truncated match.
PICList Thread
'8 Bit CRC'
1998\06\29@181354 by Jack Trudeau

picon face
I am looking for a fast non-table driven 8 bit CRC algorithm.
Any help appreciated.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

1998\06\30@105213 by g.daniel.invent.design

flavicon
face
Jack Trudeau wrote:
>
> I am looking for a fast non-table driven 8 bit CRC algorithm.
> Any help appreciated.
>
> ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com

Hi Jack,
Dallas use an 8 bit CRC check on their touch button series.   Without a
table, speed is going to be slower, best to process data in parallel
with read/write routine if bit banged.   Dallas have non PIC code on
their CD, I PICed it in a couple of nights.

1998\06\30@105216 by Andy David

flavicon
face
> I am looking for a fast non-table driven 8 bit CRC algorithm.
> Any help appreciated.

       Andy Warren's page:

       http://pw2.netcom.com/~fastfwd/answers.html

       has an example non-table driven 16-CRC routine, under answer #76.


       You should also read:

       ftp://ftp.rocksoft.com/clients/rocksoft/papers/crc_v3.txt

       for a very readable and understandable explanation of CRCs.
       The author of this paper has a web site at:

       http://www.ross.net/crc/

       which could also be useful to you (you can get his CRC paper from
       here also).



- Andy.

----------------------------------------------------------
Andrew David, Software Manager, Ultronics Ltd, Cheltenham.
spam_OUTakdavidTakeThisOuTspamUltronics.co.uk          http:\\http://www.ultronics.com
----------------------------------------------------------

1998\06\30@115127 by Philippe

flavicon
face
At 13:03 29/06/98 PDT, you wrote:
>I am looking for a fast non-table driven 8 bit CRC algorithm.
>Any help appreciated.

Take a look at UMPS, and load DS1820 example for 16C84, there is
a small program (non optimized) to compute a 8-bit DOW CRC. UMPS
demo is downloadable from:

       http://www.sistudio.com/umps

You will find more information browsing the Application note 27 from
DALLAS Semiconductor available from their web site:

       http://www.dalsemi.com

Regards,
       Philippe.

 +--------------------------------------------------------+
 |  Virtual Micro Design                                  |
 |  Technopole Izarbel,                                   |
 |  64210 BIDART                                          |
 |  FRANCE                                                |
 |                                                        |
 |  Phone: ++33 559.438.458   Fax: ++33 559.438.401       |
 |                                                        |
 | E-Mail: .....p.techerKILLspamspam@spam@idls.izarbel.tm.fr                    |
 | URL:    http://www.sistudio.com/umps                   |
 +--------------------------------------------------------+


'8 Bit CRC'
1998\07\01@004249 by Andy Kunz
flavicon
face
At 01:03 PM 6/29/98 PDT, you wrote:
>I am looking for a fast non-table driven 8 bit CRC algorithm.
>Any help appreciated.

You requested mutually-exclusive constraints.

Try this:

where "tCRC" is a BYTE.

tCRC CRC (tCRC OldCRC, BYTE Delta)
       {
       BYTE    i;
       tCRC    f;

       for (i=0; i < 8; i++)
               {
               f = 1 & (Delta ^ OldCRC);
               OldCRC >>= 1;
               Delta >>= 1;
               if (f)
                       OldCRC ^= (BYTE) 0x8c;
               }
       return (OldCRC);
       }


==================================================================
Andy Kunz - Statistical Research, Inc. - Westfield, New Jersey USA
==================================================================

1998\07\01@013744 by Sergey V. Nazarov

flavicon
face
At 01:03 PM 6/29/98 PDT, you wrote:
>I am looking for a fast non-table driven 8 bit CRC algorithm.
>Any help appreciated.

Below text of the procedure is intended for creation 16-bit CRC non-tabled,
it is possible to alter under 8-bit.

cblock         0x30
               AH,AL,DH,DL,BH,BL,CX;
endc

....
.....
code
.....

CRC_IT
       clrw
       movwf   AH      ;
       movf    AL,0            ;
       xorwf   DH              ;
       movf    AH,0            ;
       xorwf   DL              ;
       movlw   08h             ;
       movwf   CX              ;
_C2:
       movf    DH,0            ;
       movwf   BH              ;
       movf    DL,0            ;
       movwf   BL              ;
       clrw                    ;
       bcf     Status,C        ;
       rlf     DL              ;
       rlf     DH              ;
       btfss   BH,7            ;
       goto    _C3             ;
       movlw   10h             ;
       xorwf   DH              ;
       movlw   21h             ;
       xorwf   DL              ;
_C3:
       decfsz  CX              ;
       goto    _C2             ;
       return

Original source for x86

; Written by Chris Barrett (3:690/660.25)
; The following non table-based routine produces the same CRC16's
; as required by the EMSI standard so I assume it's correct.
; Released into the Public Domain

; Pass    - DS:SI = pointer to the buffer
;         - CX    = length of the buffer
; Returns - DX    = CRC16 of the buffer
IDEAL
SEGMENT  code BYTE PUBLIC
        ASSUME cs:code
        MODEL TPASCAL

PUBLIC   UpdateCRC16
PROC     UpdateCRC16 FAR inBUF:DWORD,inlen:WORD Returns result:word

        PUSH DS

        lds    si,[inbuf]    ; ds:si := ^inbuf
        mov    cx,[inlen]    ; cx := inlen

        CLD                      ; Move forward through the buffer

        SUB  DX,DX               ; CRC := 0000h

C1:      LODSB                    ; AL := byte at DS:SI
        SUB  AH,AH

        XCHG AH,AL               ; AX := 256 * AL
        XOR  DX,AX               ; CRC := CRC xor AX

        PUSH CX
        MOV  CX,8

C2:      MOV  BX,DX
        SHL  DX,1

        AND  BX,8000h
        JZ   C3

        XOR  DX,1021h
C3:      LOOP C2
        POP  CX

        LOOP C1

        MOV    [RESULT],dx

        POP  DS

        RET
ENDP
ENDS
END

More... (looser matching)
- Last day of these posts
- In 1998 , 1999 only
- Today
- New search...