Because it executes your two instruction and then continues with executing
invalid instructions after your program. Try adding
movl $0, %eax
movl %eax, %ebx
int $0x80
to call exit(0) at the end.
Have a nice fortnight
-- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth "They'll release Windows 96 when 95 finishes loading."- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu