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

📄 adler32.inc

📁 The dinamyc link library that contains an implementation of SHA1, SHA512, CRC32, CRC32b, Adler32, Tw
💻 INC
字号:

; ----------------------------------------------------- ;
;    Adler32 checksum algorithm                         ;
; ----------------------------------------------------- ;

align 4
proc Adler32_Init,Adler32:PDWORD
     mov eax,[Adler32]
     mov dword [eax],1
     ret
endp

align 4
proc Adler32_Update uses ebx esi,Buffer:PBYTE,BufSize:DWORD,Adler32:PDWORD
     mov esi,[Buffer]
     mov ecx,[BufSize]
     mov ebx,[Adler32]
     mov ebx,[ebx]
     mov edx,ebx
     shr edx,16
     shl ebx,16
     shr ebx,16
     xor eax,eax
     jecxz .a32_end
.a32_loop:
     mov al,[esi]
     add ebx,eax
     cmp ebx,$FFF1
     jb @f
     sub ebx,$FFF1
@@:  add edx,ebx
     cmp edx,$FFF1
     jb @f
     sub edx,$FFF1
@@:  inc esi
     loop .a32_loop
.a32_end:
     shl edx,16
     add edx,ebx
     mov eax,[Adler32]
     mov [eax],edx
     ret
endp

⌨️ 快捷键说明

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