' Rapid-Q by William Yu (c)1999-2000                                             .
' ================================================================================
' Upload_il_tuo_script_su_Rapidq.it

' crc32.asm

; Copyright (c) 2002
; Pavel "EvilOne" Minayev
;
; Permission to use, copy, modify, distribute and sell this software
; and its documentation for any purpose is hereby granted without fee,
; provided that the above copyright notice appear in all copies and
; that both that copyright notice and this permission notice appear
; in supporting documentation.  Author makes no representations about
; the suitability of this software for any purpose. It is provided
; "as is" without express or implied warranty.

bits 32

segment .text
start:
   enter 0, 0
   ; load arguments into registers
    mov ebx, [ebp+16]   ; CRC-table
    mov ecx, [ebp+12]   ; string length
   mov esi, [ebp+08]   ; string
   ; initialize
   mov eax, 0xFFFFFFFF
   xor edx, edx
calcbyte:
   ; process a single byte:
   ; crc = table[(unsigned char)crc ^ byte] ^ (crc >> 8)
   mov dl, al
   xor dl, [esi]
   shr eax, 8
   xor eax, [ebx+edx*4]
   inc esi
   loop calcbyte
   ; clean up and return
   leave
   ret 16



' ===============================================================================
'                      2003 Holyguard.net - 2007_Abruzzoweb
