专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 信息/网络安全

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

发布时间:2011-07-03 07:09:27 文章来源:www.iduyao.cn 采编人员:星星草
求救!关于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;


希望给予我帮助。谢谢!! [email protected]
在线等。。。。

------解决方案--------------------
友情声援。

不过,即使是“紧急任务”,也不要轻易结贴,遇到重要问题一定要搞清楚。
------解决方案--------------------
up
------解决方案--------------------
帮顶下
------解决方案--------------------
支持一下
------解决方案--------------------
不懂,穷人来up捡分。。。
------解决方案--------------------
需要汇编的代码干什么呢???
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: