void * x_memset (void* dest, int nByte, size_t count)
{
__asm {
mov ecx, [count]
mov edi, [dest]
mov eax, [nByte]
mov ebx, ecx
shr ecx, 2
and ebx, 3
rep stosd
mov ecx, ebx
rep stosb
}
}
When using this stub:
int main ()
{
char str[] = "almost every programmer should know memset!";
x_memset (str,'-',6);
puts (str);
fflush(stdin);
getchar();
return 0;
}
The output with memset() is "------ every programmer should know memset!" the output with my function x_memset() is "-". Any advice?