crc校驗(yàn)程序源代碼_第1頁(yè)
crc校驗(yàn)程序源代碼_第2頁(yè)
crc校驗(yàn)程序源代碼_第3頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。程序源代碼disp macro mlea dx,mmov ah,9int 21hODHendm:顯示字符的宏定義stack1 segment para stack stackdb 200 dup (0)stack1 endsdata1 segmentstr0 DB OAH,ODH,*Sstr1 DB 0AH,0DH *S頁(yè)腳內(nèi)容1CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。str2 DB 0AH,0DH, *NNNNNN

2、NNNDNBNN=-s NNNNNNNNNNNNNNNNNNNN*$str3 DB 0AH,0DH, *zNNN-(NNNNKsNNNNz-*$str4 DB 0AH,0DH, *=NNNBsNNN zNNN= NNNN+*Sstr5 DB 0AH,0DH, *BNNNNND-NBNzNNN +NBN=zNBNz*Sstr6 DB 0AH,0DH, *sNNN hNNN(zNNN- +NNNDBNNN-*Sstr7 DB 0AH,0DH, *NNNDNNNzNNNz*Sstr8 DB 0AH,0DH, *sNNN zNNNhzzDNNNBzNBN zNNNNNNNBBz-*Sstr9 DB 0

3、AH,0DH, *S頁(yè)腳內(nèi)容2CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。Str10 DB 0AH,0DH, *sNNN+ zNNNNNNNND=NNNz zNNN=sNNNDNNNB sNBN- =NNNhNNNz(NNNB*SStr11 DB 0AH,0DH, *SStr12 DB 0AH,0DH, *NNNN(*SStr13 DB 0AH,0DH, *BBNNz=NNNNssNNN DNNN+ hNNNDzNNN NNN- NNND-*SStr14 DB 0AH,0DH, *SStr15 DB 0AH,0DH, *NNNN

4、NNNNNNsNNNBNBNKNNNNNNNNNN*SStr16 DB 0AH,0DH *SStr17 DB 0AH,0DH,*S頁(yè)腳內(nèi)容3CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。Str18 DB 0AH,0DH, *SStr19 DB 0AH,0DH, * Press s to start the programme*SStr20 DB 0AH,0DH, * Press q to quit the programme*SStr21 DB 0AH,0DH, * Press c to clear the programme*S

5、Str22 DB 0AH,0DH, * Cyclic Redundancy Check Programme BULID BY tl*SStr23 DB 0AH,0DH,*S:LOGO及提示Str_enter db 0ah,0dh,$Crc16 table label word:00hdw 00000h, 0C0C1h, 0C181h, 00140h, 0C301h, 003C0h, 00280h, 0C241hdw 0C601h, 006C0h, 00780h, 0C741h, 00500h, 0C5C1h, 0C481h, 00440h頁(yè)腳內(nèi)容4CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redu

6、ndancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。dw 0CC01h, 00CC0h, 00D80h, 0CD41h, 00F00h, 0CFC1h, 0CE81h, 00E40hdw 00A00h, 0CAC1h, 0CB81h, 00B40h, 0C901h, 009C0h, 00880h, 0C841h: 20hdw 0D801B, 018C0H, 01980H, 0D941H, 01B00H, 0DBC1H, 0DA81H, 01A40Hdw 01E00H, 0DEC1H, 0DF81H, 01F40H, 0DD01H, 01DC0H, 01C80H, 0DC41Hdw

7、01400H, 0D4C1H, 0D581H, 01540H, 0D701H, 017C0H, 01680H, 0D641Hdw 0D201H, 012C0H, 01380H, 0D341H, 01100H, 0D1C1H, 0D081H, 01040H: 40hdw 0F001H, 030C0H, 03180H, 0F141H, 03300H, 0F3C1H, 0F281H, 03240Hdw 03600H, 0F6C1H, 0F781H, 03740H, 0F501H, 035C0H, 03480H, 0F441Hdw 03C00H, 0FCC1H, 0FD81H, 03D40H, 0FF

8、01H, 03FC0H, 03E80H, 0FE41Hdw 0FA01H, 03AC0H, 03B80H, 0FB41H, 03900H, 0F9C1H, 0F881H, 03840H: 60hdw 02800H, 0E8C1H, 0E981H, 0294OH, 0EB01H, 02BC0H, 02A80H, 0EA41Hdw 0EE01H, 02EC0H, 02F80H, 0EF41H, 02D00H, 0EDC1H, 0EC81H, 02C40Hdw 0E401H, 024C0H, 02580H, 0E541H, 02700H, 0E7C1H, 0E681H, 02640H頁(yè)腳內(nèi)容5CRC

9、即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。dw 02200H, 0E2C1H, 0E2C1H, 0E381H, 02340H, 0E101H, 021COH, 02080H, 0E041H: 80hdw 0A001H, 060C0H, 06180H, 0A141H, 06300H, 0A3C1H, 0A281H, 06240Hdw 06600H, 0A6C1H, 0A781H, 06740H, 0A501H, 065C0H, 06480H, 0A441Hdw 06C00H, 0ACC1H, 0AD81H, 06D40H, 0AF01

10、H, 06FC0H, 06E80H, 0AE41Hdw 0AA01H, 06AC0H, 06B80H, 0AB41H, 06900H, 0A9C1H, 0A881H, 06840H:A0hdw 07800H, 0B8C1H, 0B981H, 07940H, 0BB01H, 07BC0H, 07A80H, 0BA41Hdw 0BE01H, 07EC0H, 07F80H, 0BF41H, 07D00H, 0BDC1H, 0BC81H, 07C40Hdw 0B401H, 074C0H, 07580H, 0B541H, 07700H, 0B7C1H, 0B681H, 07640Hdw 07200H,

11、0B2C1H, 0B381H, 07340H, 0B101H, 071C0H, 07080H, 0B041H:C0hdw 05000H,090C1H,09181H,05140H,09301H,053C0H,05280H,09241Hdw 09601H,056C0H,05780H,09741H,05500H,095C1H,09481H,05440Hdw 09C01H,05CC0H,05D80H,09D41H,05F00H,09FC1H,09E81H,05E40Hdw 05A00H,09AC1H,09B81H,05B40H,09901H,059C0H,05880H,09841H頁(yè)腳內(nèi)容6CRC即循

12、環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。:E0hdw 08801H,048C0H,04980H,08941H,04B00H,08BC1H,08A81H,04A40Hdw 04E00H,08EC1H,08F81H,04F30H,08D01H,04DC0H,04C80H,08C41Hdw 04E00H,084C1H,08581H,04540H,08701H,047C0H,04680H,08641Hdw 08201H,042C0H,04380H,08341H,04100H,081C1H,08081H,04040H;CRC16 TABLEda

13、ta_buf DB 200 dup(?),$crc dw ?len dw ?info db 0AH,0DH,TheCRC Code is : $info_input db 0AH,0DH,Pleaseinput the string :$data1 endscode segmentassume cs:code,ds:data1,ss:stack1START頁(yè)腳內(nèi)容7CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。Main proc fardisplay_logmov ax,data1mov ds,axdisp str0disp st

14、r1disp str2disp str3disp str4disp str5disp str6disp str7disp str8disp str9disp str10disp str11頁(yè)腳內(nèi)容8CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。disp str12disp str13disp str14disp str15disp str16disp str17disp str18disp str19disp str20disp str21disp str22disp str23;顯示 LOGO及提示信息choose_functi

15、on:mov ah,8int 21h;cmp 頁(yè)腳內(nèi)容9CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。jz startp;為則跳到 startpcmp al,pjz quit;為q則跳到 quitcmp alcjz clear;為c則跳到 cleardisp str_error否則顯示錯(cuò)誤信息jmp display_logstartp:disp info_input;提示輸入call windows_main;調(diào)用 windows_main開始計(jì)算jmp display_logclear:call clear_screen;調(diào)用

16、clear_screen清屏jmp display_logquit:mov ah,4ch頁(yè)腳內(nèi)容10CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。int 21h;結(jié)束retmain endpclear_screen proc ;清屏push axpush bxpush cxpush dxmov ah,6mov al,0mov ch,0mov cl,0mov dh,24mov dl,79mov bh,7int 10h頁(yè)腳內(nèi)容11CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選

17、定。mov dh,1mov dl,1mov ah,2mov bh,0int 10hpop dxpop cxpop bxpop axretclear_screen endpwindows_main proc nearlea di,data_bufcall get_string 調(diào)用 get_string讀取輸入字符lea si,data_bufcall cal_len ;調(diào)用 cal_len計(jì)算讀取字符長(zhǎng)度頁(yè)腳內(nèi)容12CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。lea si,data_bufcall cal_crc16 ;調(diào)用 c

18、al_crc計(jì)算 CRCdisp infomov bx,crccall Hex_Ascii ;調(diào)用 Hex_Ascii轉(zhuǎn)化成 16進(jìn)制cal:mov ah,6hmov dl,0ffhint 21hcmp al,0dh;如果檢測(cè)到回車則跳出jz exit2jmp calexit2:retwindows_main endp;查表法計(jì)算 CRC頁(yè)腳內(nèi)容13CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。;入口:DS:SI=buffer地址;CX buffer=長(zhǎng)度DX= CRC的初始值;出口:DX=CRCcal_crc16 proc ne

19、arpush cxpush dxmov cx,lenmov dx,0call crc16mov 初始化入口出口pop dxpop cxretcal_crc16 endpcrc16 proc near頁(yè)腳內(nèi)容14CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。push cxpush bxpush sicrc16_loop:xor ax,axmov al,siinc sixor al,dlshl ax,1mov bx,axmov ax,bx+crc16_tablexor al dhmov dx,axdec cxjnz crc16_loop;查表pop si頁(yè)腳內(nèi)容15CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。pop bxpop cxretcrc16 endpget_string proc 讀取字符串input:mov ah,1int 21hcmp al,0dhjz exit3mov di,alinc dijmp inputexit3:inc dimov DS:di,$頁(yè)腳內(nèi)容16CRC即循環(huán)冗余校驗(yàn)碼(Cyclic R

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論