Date: Tue, 13 Mar 2001 09:55:38 -0500 From: Jake Burkholder <jburkholder0829@home.com> To: "Nickolay A. Kritsky" <nkritsky@internethelp.ru> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: FreeBSD asm problem Message-ID: <20010313145538.4791EBA69@cr66388-a.rchrd1.on.wave.home.com> In-Reply-To: Message from "Nickolay A. Kritsky" <nkritsky@internethelp.ru> of "Tue, 13 Mar 2001 17:32:07 %2B0300." <00b701c0abca$624b7630$0600a8c0@ibmka.internethelp.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
> Hi all! > It seems to me that you guys are my last hope, but if i am asking in the > wrong place - sorry. > > I wrote my first asm program for FreeBSD: > > section .code > global _start > _start: > push dword envp > push dword argvp > push dword fname > mov eax,59 ; execve > int 80h > hlt ; i should never get here > > section .data > fname db '/bin/sh',0 > envp dd 0 > argvp dd 0 > ;End of program > > after compiling and linking i run it and got SIGBUS error > when run under gdb i can see that int 80h returns with eax=2 (ENOENT? does > it mean file not found?) > > I have a feeling that i have missed something very important. > www.int80h.org is a good reference for this kind of stuff. You need to push an additional dword onto the stack after fname. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010313145538.4791EBA69>