-


1 CRC.c


Microsoft Visual C++ ( Ox  "cl.exe /Ox crc.c") obj :

 

.text:00000000 _CRC proc near

.text:00000000

.text:00000000 var_1 = dword ptr -1

.text:00000000 arg_0 = dword ptr 7

.text:00000000 arg_4 = dword ptr 0Bh

.text:00000000

.text:00000000 51 push ecx

.text:00000001 8B 54 24 0C mov edx, [esp+1+arg_4]

.text:00000005 32 C9 xor cl, cl

.text:00000007 33 C0 xor eax, eax

.text:00000009 88 4C 24 00 mov byte ptr [esp+1+var_1], cl

.text:0000000D 85 D2 test edx, edx

.text:0000000F 7E 16 jle short loc_27

.text:00000011 53 push ebx

.text:00000012 56 push esi

.text:00000013 8B 74 24 10 mov esi, [esp+9+arg_0]

.text:00000017

.text:00000017 loc_17:

.text:00000017 8A 1C 30 mov bl, [eax+esi]

.text:0000001A 02 CB add cl, bl

.text:0000001C 40 inc eax

.text:0000001D 3B C2 cmp eax, edx

.text:0000001F 7C F6 jl short loc_17

.text:00000021 5E pop esi

.text:00000022 88 4C 24 04 mov byte ptr [esp+5+var_1], cl

.text:00000026 5B pop ebx

.text:00000027

.text:00000027 loc_27:

.text:00000027 8B 44 24 00 mov eax, [esp+1+var_1]

.text:0000002B 25 FF 00 00+ and eax, 0FFh

.text:00000030 F7 D8 neg eax

.text:00000032 59 pop ecx

.text:00000033 C3 retn

.text:00000033 _CRC endp