⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adler32.asm

📁 ASM 多种hash模块,汇编源码 MD2,4,5 SHA 等多种加密算法 还有其他赠送内容
💻 ASM
字号:
.686
.model flat,stdcall
option casemap:none

.const

ADLER32_BASE equ 65521 ; largest prime smaller than 65536
ADLER32_NMAX equ 5552 ; largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1

.code

align dword
Adler32 proc uses edi esi ebx lpBuffer:DWORD, dwBufLen:DWORD, dwAdler:DWORD
	mov eax,dwAdler
	mov ecx,dwBufLen
	mov ebx,dwAdler
	and eax,0FFFFh
	shr ebx,16
	mov esi,lpBuffer
	jmp @F
	.repeat
		mov edi,ADLER32_NMAX
		.if ecx<edi
			mov edi,ecx
		.endif
        sub ecx,edi
		.repeat
			movzx edx,byte ptr [esi]
			add eax,edx
			inc esi
			add ebx,eax
			dec edi
		.until ZERO?
        mov edi,ADLER32_BASE
        xor edx,edx
        div edi
        push edx
        mov eax,ebx
        xor edx,edx
        div edi
        mov ebx,edx
        pop eax
@@:		test ecx,ecx
	.until ZERO?
	shl ebx,16
	add eax,ebx
	ret
Adler32 endp

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -