首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 安全技术 > 服务器安全 >

!关于CRC的。见者有份,UP给分。

2012-03-26 
求救!关于CRC的。见者有份,UP给分。。。我手头有个紧要的任务就是,能够对0C数据产生14 3A的CRC码,对5D D8 00 0

求救!关于CRC的。见者有份,UP给分。。。
我手头有个紧要的任务就是,能够对0C数据产生14 3A的CRC码,对5D D8 00 0F E2 10 00 06 7F 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00产生F2 6B的CRC码。导师给了我一个delphi7生成的exe文件,能够生成对应数据的相应CRC码,现在要我用C语言编程实现这个功能。 我目前知道的是他好像用的是CCITT_CRC16的反转多项式。
另外:还给了段汇编代码, 但没怎么看懂。。。


procedure CCITT_CRC16(var Source; ALength: Longint; var ACRC16: Word); pascal;
var
  CRC : Array[0..255] of Word;
asm
  PUSH ESI
  PUSH EDI
  PUSH EBX

  LEA edi,CRC
  xor bx,bx  
@@1:
  mov ecx,8  
  mov ax,bx  

@@2:
  shr ax,1  
  jnc @@3  
  xor ax,08408h
@@3:
  loop @@2
  stosw  
  inc bx  
  cmp bx,0100h  
  jnz @@1

  MOV ESI,Source  
  MOV ECX,ALength
  MOV EDX,ACRC16
  JCXZ @@5  
  MOV DX,[EDX]
  NOT DX  
  XOR EBX,EBX  
  LEA EDI,CRC
@@4:
  LODSB
  MOV BL,DL
  XOR BL,AL
  SHR DX,8
  XOR DX,[EBX*2+EDI]
  LOOP @@4
  NOT DX
  MOV EBX,ACRC16
  MOV [EBX],DX
@@5:
  POP EBX
  POP EDI
  POP ESI
end;


希望给予我帮助。谢谢!! 493288977@163.com
在线等。。。。

[解决办法]
友情声援。

不过,即使是“紧急任务”,也不要轻易结贴,遇到重要问题一定要搞清楚。
[解决办法]
up
[解决办法]
帮顶下
[解决办法]
支持一下
[解决办法]
不懂,穷人来up捡分。。。
[解决办法]
需要汇编的代码干什么呢???

热点排行