crc32.asm
来自「ASM 多种hash模块,汇编源码 MD2,4,5 SHA 等多种加密算法 」· 汇编 代码 · 共 43 行
ASM
43 行
.686
.model flat,stdcall
option casemap:none
.data
align 16
CRC32Table label dword
i = 0
crc = i
WHILE i LT 256
crc = i
REPT 8
crc = (crc shr 1) xor (0EDB88320h * (crc and 1))
ENDM
DD crc
i = i + 1
ENDM
.code
align 16
CRC32 proc uses esi lpBuffer:DWORD,dwBufLen:DWORD,dwCRC:DWORD
mov eax,dwCRC
mov ecx,dwBufLen
xor eax,-1
test ecx,ecx
mov esi,lpBuffer
jz @F
.repeat
xor al,[esi]
movzx edx,al
shr eax,8
mov edx,[CRC32Table+edx*4]
inc esi
xor eax,edx
dec ecx
.until zero?
@@: xor eax,-1
ret
CRC32 endp
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?