In the last episode (May 16), alexander said: > I'm using syscall number 4 write() to output data to stdout using x86 > assembly. When I try to output the following DWORD: 0x00003532 I get > the following output under Eterm and xterm: "25". Which is exactly > what I want. > > However when I do the very same under the console (using bash or sh. > It doesn't matter) I get this output: "25 ". > > I looked up the ASCII value for 00h and it says NUL. Doesn't that > mean that there shouldn't be any output at all?
Did you maybe forget to push the 3rd argument to write onto the stack before making the syscall? That's the number of bytes to write. If there happened to be a 4 on the stack, then write() would write 4 bytes starting at whatever buffer your 2nd argument points to. -- Dan Nelson [EMAIL PROTECTED] _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"