亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 8位c51 crc 校驗原程序.txt

?? c51經(jīng)典子程序代碼全集
?? TXT
字號:
用【 小 | 中 | 大 】字體瀏覽 
C51編程:哪位大俠有8位C51 CRC 校驗原程序,給我一份行嗎?謝謝,拜托!hnqjl@263.net [hnqjl] [12次] 01-11-26 上午 10:05:13

給你一份,money [haotz] [44次] 01-11-26 上午 10:25:12 
/*  CRC-32b version 1.03 by Craig Bruce, 27-Jan-94
**
**  Based on "File Verification Using CRC" by Mark R. Nelson in Dr. Dobb's
**  Journal, May 1992, pp. 64-67.  This program DOES generate the same CRC
**  values as ZMODEM and PKZIP
**
**  v1.00: original release.
**  v1.01: fixed printf formats.
**  v1.02: fixed something else.
**  v1.03: replaced CRC constant table by generator function.
*/

#include <stdio.h>

int main();
unsigned long getcrc();
void crcgen();

unsigned long crcTable[256];

/****************************************************************************/
int main( argc, argv )
    int argc;
    char *argv[];
{
    int    i;
    FILE   *fp;
    unsigned long crc;

    crcgen();
    if (argc < 2) {
        crc = getcrc( stdin );
        printf("crc32 = %08lx for <stdin>\n", crc);
    } else {
        for (i=1; i<argc; i++) {
            if ( (fp=fopen(argv[i],"rb")) == NULL ) {
                printf("error opening file \"%s\"!
\n",argv[i]);
            } else {
                crc = getcrc( fp );
                printf("crc32 = %08lx for \"%s\"\n",
                    crc, argv[i]);
                fclose( fp );
            }
        }
    }
    return( 0 );
}

/****************************************************************************/
unsigned long getcrc( fp )
    FILE *fp;
{
    register unsigned long crc;
    int c;

    crc = 0xFFFFFFFF;
    while( (c=getc(fp)) != EOF ) {
        crc = ((crc>>8) & 0x00FFFFFF) ^ crcTable[ (crc^c) & 
0xFF ];
    }
    return( crc^0xFFFFFFFF );
}

/****************************************************************************/
void crcgen( )
{
    unsigned long    crc, poly;
    int    i, j;

    poly = 0xEDB88320L;
    for (i=0; i<256; i++) {
        crc = i;
        for (j=8; j>0; j--) {
            if (crc&1) {
                crc = (crc >> 1) ^ poly;
            } else {
                crc >>= 1;
            }
        }
        crcTable[i] = crc;
    }
}



我有匯編的,要不要? [smiletan] [4次] 01-11-26 上午 10:29:20 

你這是CRC-32! [smiletan] [8次] 01-11-26 上午 10:31:07 

8位的叫BCH [haotz] [5次] 01-11-26 上午 10:36:40 

要!我可以將它改成C51,謝謝! [hnqjl] [2次] 01-11-26 上午 10:45:04 

請看: [smiletan] [35次] 01-11-26 上午 10:53:43 
;
;****************************************************************************
;
;  Purpose:
;    Calculate CRC-8 Values.  Uses The CCITT-8 Polynomial, Expressed As
;    X^8 + X^5 + X^4 + 1
;
;  Date:
;    08/03/93
;
;  Author:
;    John C. Wren
;
;  Modications:
;    02/04/97 - Added Description Fields For Archive
;
;  Processor:
;    Generic 8031
;
;  Assembler:
;    Avocet AVA51
;
;  Dependencies:
;    None
;
;  Files:
;    None
;
;  Philosophic:
; 
;****************************************************************************
;
;  Includes
;
;        %include "equates.inc"
        seg    code
;
;****************************************************************************
;
;  Publics
;
        public    CRC8_ADD_B
;
;****************************************************************************
;
;  Description:
;    Calculates Value In Acc Into The Running CRC In 'B'
;
;  Entry Requirements:
;    Acc Has Value To Add To CRC
;    'B' Contains Running CRC Value
;
;  On Exit:
;    'B' Has Updated CRC Value
;
;  Affected:
;    PSW.CY, B
;
;  Stack:
;    0 Bytes, Not Including Called Routines
;
;  Comments:
;    Depending On Whether Space Or Speed Is Needed, Point This Jump To
;    Code Needed And Comment Out The Other Block.  This Allows A Standard
;    Entry Point To Be Used.
;
CRC8_ADD_B    proc
        jmp    CRC8_ADD_CALC        ; Use Fast Method
        endproc
;
;****************************************************************************
;
;  Description:
;    Calculates Value In Acc Into The Running CRC In 'B', Using The Table
;    Method.  (Faster But Larger)
;
;  Entry Requirements:
;    Acc Has Value To Add To CRC
;    'B' Contains Running CRC Value
;
;  On Exit:
;    'B' Has Updated CRC Value
;
;  Affected:
;    PSW.CY, B
;
;  Stack:
;    3 Bytes, Not Including Called Routines
;
;  Comments:
;    None
;
CRC8_ADD_TABLE    proc
        push    dph            ; Save DPH
        push    dpl            ; Save DPL
        push    acc            ; Save Acc
;
        mov    dptr,#CRC8_DATA        ; Point To Table
        xrl    a,b            ; XOR In CRC
        movc    a,@a+dptr        ; Get New CRC Byte
        mov    b,a            ; Store Back
;
        pop    acc            ; Recover Acc
        pop    dpl            ; Recover DPL
        pop    dph            ; Recover DPH
        ret                ; Return To Caller
        endproc
;
;****************************************************************************
;
;  Description:
;    Calculates Value In Acc Into The Running CRC In 'B', Using The 
;    Calculation Method (Slower But Smaller).
;
;  Entry Requirements:
;    Acc Has Value To Add To CRC
;    'B' Contains Running CRC Value
;
;  On Exit:
;    'B' Has Updated CRC Value
;
;  Affected:
;    PSW.CY, B
;
;  Stack:
;    3 Bytes, Not Including Called Routines
;
;  Comments:
;    None
;
CRC8_ADD_CALC    proc
        push    acc            ; Save Acc
        push    0            ; Save R0
        push    acc            ; Save Value
        mov    r0,#8            ; Number Bits In 
Byte
;
l?p1        xrl    a,b            ; Calculate CRC
        rrc    a            ; Move To Carry
        mov    a,b            ; Get The Last CRC 
Value
        jnc    l?p2            ; Skip If Data == 0
        xrl    a,#18h            ; Update The CRC 
Value
;
l?p2        rrc    a            ; Position The New 
CRC
        mov    b,a            ; Store The New CRC
        pop    acc            ; Get The Remaining 
Bits
        rr    a            ; Position The Next 
Bit
        push    acc            ; Save The 
Remaining Bits
        djnz    r0,l?p1            ; Repeat For 8 Bits
;
        pop    acc            ; Clean Up Stack
        pop    0            ; Recover R0
        pop    acc            ; Recover Acc
        ret                ; Return To Caller
        endproc
;
;****************************************************************************
;
;  Data For Table Method
;
CRC8_DATA    db    000h, 05eh, 0bch, 0e2h, 061h, 03fh, 0ddh, 083h
        db    0c2h, 09ch, 07eh, 020h, 0a3h, 0fdh, 01fh, 041h
        db    09dh, 0c3h, 021h, 07fh, 0fch, 0a2h, 040h, 01eh
        db    05fh, 001h, 0e3h, 0bdh, 03eh, 060h, 082h, 0dch
        db    023h, 07dh, 09fh, 0c1h, 042h, 01ch, 0feh, 0a0h
        db    0e1h, 0bfh, 05dh, 003h, 080h, 0deh, 03ch, 062h
        db    0beh, 0e0h, 002h, 05ch, 0dfh, 081h, 063h, 03dh
        db    07ch, 022h, 0c0h, 09eh, 01dh, 043h, 0a1h, 0ffh
        db    046h, 018h, 0fah, 0a4h, 027h, 079h, 09bh, 0c5h
        db    084h, 0dah, 038h, 066h, 0e5h, 0bbh, 059h, 007h
        db    0dbh, 085h, 067h, 039h, 0bah, 0e4h, 006h, 058h
        db    019h, 047h, 0a5h, 0fbh, 078h, 026h, 0c4h, 09ah
        db    065h, 03bh, 0d9h, 087h, 004h, 05ah, 0b8h, 0e6h
        db    0a7h, 0f9h, 01bh, 045h, 0c6h, 098h, 07ah, 024h
        db    0f8h, 0a6h, 044h, 01ah, 099h, 0c7h, 025h, 07bh
        db    03ah, 064h, 086h, 0d8h, 05bh, 005h, 0e7h, 0b9h
        db    08ch, 0d2h, 030h, 06eh, 0edh, 0b3h, 051h, 00fh
        db    04eh, 010h, 0f2h, 0ach, 02fh, 071h, 093h, 0cdh
        db    011h, 04fh, 0adh, 0f3h, 070h, 02eh, 0cch, 092h
        db    0d3h, 08dh, 06fh, 031h, 0b2h, 0ech, 00eh, 050h
        db    0afh, 0f1h, 013h, 04dh, 0ceh, 090h, 072h, 02ch
        db    06dh, 033h, 0d1h, 08fh, 00ch, 052h, 0b0h, 0eeh
        db    032h, 06ch, 08eh, 0d0h, 053h, 00dh, 0efh, 0b1h
        db    0f0h, 0aeh, 04ch, 012h, 091h, 0cfh, 02dh, 073h
        db    0cah, 094h, 076h, 028h, 0abh, 0f5h, 017h, 049h
        db    008h, 056h, 0b4h, 0eah, 069h, 037h, 0d5h, 08bh
        db    057h, 009h, 0ebh, 0b5h, 036h, 068h, 08ah, 0d4h
        db    095h, 0cbh, 029h, 077h, 0f4h, 0aah, 048h, 016h
        db    0e9h, 0b7h, 055h, 00bh, 088h, 0d6h, 034h, 06ah
        db    02bh, 075h, 097h, 0c9h, 04ah, 014h, 0f6h, 0a8h
        db    074h, 02ah, 0c8h, 096h, 015h, 04bh, 0a9h, 0f7h
        db    0b6h, 0e8h, 00ah, 054h, 0d7h, 089h, 06bh, 035h
;
;****************************************************************************
;
        end


好象跟我原來用過的不太一樣,8位CRC校驗的校驗字是否為07H,謝謝! [hnqjl] [6次] 01-11-26 上午 11:17:00 
 

 
點擊這里回復(fù)這篇貼子>>
_____________________________________________________________________________
Copyright?,C51BBS論壇 2000-2002 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合夜色一区| 国产 日韩 欧美大片| 欧美视频日韩视频| 亚洲国产乱码最新视频| 欧洲av在线精品| 偷拍日韩校园综合在线| 日韩欧美国产高清| 精品一区二区av| 国产欧美一二三区| 91影院在线观看| 亚洲高清免费在线| xnxx国产精品| 99热这里都是精品| 亚洲一区二区三区国产| 日韩欧美高清一区| 懂色av中文一区二区三区| 亚洲欧洲www| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲高清免费一级二级三级| 日韩欧美国产成人一区二区| 国产精品69毛片高清亚洲| 国产精品萝li| 欧美日本一区二区三区四区 | 国产不卡在线视频| 国产精品国产自产拍在线| 欧美午夜精品电影| 国产一区欧美一区| 亚洲视频在线一区二区| 777精品伊人久久久久大香线蕉| 狠狠色丁香婷婷综合久久片| 国产精品第13页| 欧美日韩亚洲不卡| 国产jizzjizz一区二区| 亚洲国产综合91精品麻豆| 26uuu亚洲综合色| 欧美在线免费观看亚洲| 国产精品伊人色| 亚洲一区免费观看| 国产丝袜欧美中文另类| 欧美日韩aaa| 成人av电影在线网| 久久国内精品自在自线400部| 亚洲欧洲精品成人久久奇米网| 日韩一级高清毛片| 在线精品视频一区二区三四 | 午夜精品在线视频一区| 国产精品欧美久久久久无广告| 欧美老肥妇做.爰bbww| 国产凹凸在线观看一区二区| 天天射综合影视| 日韩一区在线播放| 久久久亚洲午夜电影| 欧美日韩久久久一区| av日韩在线网站| 国产精品亚洲成人| 蜜桃av噜噜一区| 亚洲chinese男男1069| 亚洲色图制服丝袜| 久久亚洲免费视频| 日韩欧美专区在线| 欧美精品99久久久**| 色婷婷综合五月| 波多野结衣在线一区| 国产精品综合av一区二区国产馆| 天天操天天色综合| 一区二区三区欧美日| 亚洲欧洲精品一区二区三区不卡| 欧美精品一区二区三区蜜桃视频| 欧美日韩mp4| 欧美日韩国产影片| 欧美日韩免费观看一区二区三区| 91欧美激情一区二区三区成人| 福利一区二区在线| 国内精品第一页| 精品综合免费视频观看| 久久超碰97人人做人人爱| 日本成人在线视频网站| 日本不卡在线视频| 免费观看日韩av| 免费在线看一区| 蜜臀精品久久久久久蜜臀 | 美女一区二区三区在线观看| 偷拍自拍另类欧美| 蜜臀va亚洲va欧美va天堂| 日韩精品电影在线| 亚洲成人免费看| 美腿丝袜亚洲色图| 国产真实乱对白精彩久久| 国产一区二区三区综合| 国产黄色成人av| a级高清视频欧美日韩| 99精品久久免费看蜜臀剧情介绍| 欧美日韩高清一区二区三区| 欧美中文字幕一二三区视频| 欧美日韩aaa| 精品va天堂亚洲国产| 国产日韩影视精品| 亚洲图片激情小说| 亚洲高清一区二区三区| 免费在线观看日韩欧美| 国产精品99久久久久久久女警 | 欧美日本一区二区在线观看| 欧美一卡2卡3卡4卡| 日韩欧美中文字幕一区| 久久久99久久| 日韩理论片一区二区| 亚洲综合色成人| 日本午夜精品视频在线观看| 狠狠色综合播放一区二区| 国产乱码精品1区2区3区| av动漫一区二区| 欧美日本在线播放| 国产日韩精品视频一区| 亚洲精品v日韩精品| 日韩av一二三| www.一区二区| 日韩一区二区三免费高清| 国产午夜亚洲精品羞羞网站| 一区二区三区在线播放| 国产麻豆精品95视频| 色伊人久久综合中文字幕| 91精品国产综合久久福利软件| 中文字幕av一区二区三区高| 日韩中文字幕一区二区三区| 粉嫩绯色av一区二区在线观看| 欧美高清精品3d| 中文字幕日本乱码精品影院| 麻豆精品新av中文字幕| 一本色道久久综合亚洲91| 精品1区2区在线观看| 一区二区三区**美女毛片| 国产乱码精品一区二区三区av| 欧美三级在线看| 国产精品女人毛片| 国产自产视频一区二区三区| 在线观看国产精品网站| 欧美激情一二三区| 国产真实乱偷精品视频免| 欧美日韩电影一区| 日韩毛片在线免费观看| 激情综合网激情| 在线播放一区二区三区| 亚洲精品午夜久久久| 成人中文字幕在线| 久久一留热品黄| 免费高清在线一区| 91精品久久久久久久99蜜桃| 一区二区三区中文在线观看| 成人高清av在线| 国产亚洲美州欧州综合国| 久久国内精品自在自线400部| 欧美日高清视频| 亚洲成人免费看| 欧美日韩亚洲另类| 亚洲自拍偷拍九九九| 色婷婷综合久久久中文一区二区| 中文字幕在线不卡视频| 国产成人综合精品三级| 2021国产精品久久精品 | 精品午夜久久福利影院| 91精品国产一区二区三区蜜臀| 亚洲第一会所有码转帖| 欧美视频在线观看一区| 亚洲激情网站免费观看| 91浏览器在线视频| 亚洲欧美日韩国产成人精品影院| eeuss国产一区二区三区| 中文字幕第一区| eeuss鲁片一区二区三区在线观看| 国产网站一区二区| 岛国精品一区二区| 中日韩av电影| 91一区二区在线| 亚洲午夜电影在线| 欧美精品色一区二区三区| 麻豆精品精品国产自在97香蕉 | 在线中文字幕一区二区| 亚洲欧美日韩电影| 欧美日韩激情一区| 另类小说色综合网站| 2021国产精品久久精品| 粉嫩欧美一区二区三区高清影视 | 日本高清不卡aⅴ免费网站| 一区二区视频免费在线观看| 欧美丝袜自拍制服另类| 免费成人美女在线观看.| 精品国产一区二区三区不卡| 福利视频网站一区二区三区| 亚洲欧美欧美一区二区三区| 欧美日韩一区二区在线视频| 日韩精彩视频在线观看| 久久精品一区二区三区四区| 成人动漫一区二区| 亚洲一区二区精品视频| 精品欧美乱码久久久久久1区2区| 国产精品主播直播| 一区二区三区91| wwwwxxxxx欧美| 色88888久久久久久影院野外| 秋霞午夜鲁丝一区二区老狼|