global mymemcmp
mymemcmp:
push ebp
xor eax,eax
mov ebp,esp
push edi
push esi
mov ecx,[ebp+0x10]
mov esi,[ebp+0x8]
shr ecx,2
mov edi,[ebp+0xc]
test ecx,ecx
repe cmpsd
jz end_func
sbb eax,eax
or eax,1
end_func:
pop esi
pop edi
pop ebp
ret
Собственно, какие есть подводные камни кроме выравнивания? Вызывается так же как и стандартная memcmp() - два указателя и длина.