I want the call to the strcmp function to return 0, which means
int strncmp(const char *s1, const char *s2, size_t n);
const char *s1
and const char *s2
should contain the same string. If s2
points to the string "hello" and n
is 4, how can I pass to s1
a decimal value that will also correspond to hello
?
8049e87: c7 44 24 08 04 00 00 movl $0x4,0x8(%esp) // 4
8049e8e: 00
8049e8f: c7 44 24 04 80 bd 04 movl $0x804bd80,0x4(%esp) // the constant is "hello"
8049e96: 08
8049e97: 89 04 24 mov %eax,(%esp) // The contents of %eax are a decimal (%d)
8049e9a: e8 61 ec ff ff call 8048b00 <strncmp@plt>
8049e9f: 85 c0 test %eax,%eax // I want this to be 0!
I tried passing in the decimal value for "h" in ASCII, and it seemed to be the right direction, but not fully.