|
From: Tom H. <to...@co...> - 2006-01-15 18:26:33
|
In message <43C...@fa...>
Ivan Novick <in...@fa...> wrote:
> Here is the assembly code:
> #################################################################
> .text
> .global _start
> _start:
>
> movl $0,%ebx
> movl $1,%eax
> int $0x80
> #################################################################
int 0x80? I thought you said this was 64 bit code? That isn't how you
do a system call in 64 bit code.
> Valgrind gives the following message
>
> vex amd64->IR: unhandled instruction bytes: 0xCD 0x80 0x0 0x0
> ==20956== Your program just tried to execute an instruction that Valgrind
> ==20956== did not recognise. ......
> ==20956== Process terminating with default action of signal 4 (SIGILL):
> dumping core
> ==20956== Illegal opcode at address 0x4000F2
> ==20956== at 0x4000F2: (within hw.optim)
Because int 0x80 is not handled on amd64 so the 0xCD 0x80 instruction
is not recognised.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|