Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 05 Mar 2004 13:43:04 -0500
From:      Chungwei Hsiung <skuma17@yahoo.com>
To:        freebsd-hackers@freebsd.org
Subject:   A simple question
Message-ID:  <4048CA38.6040203@yahoo.com>

next in thread | raw e-mail | index | archive | help
Hello..
 I am super new to this list, and I have a simple question that I don't 
know why it does that. I have a simple test program. I compile it, and 
gdb to disassemble main. I got the following..

0x80481f8 <main>:       push   %ebp
0x80481f9 <main+1>:     mov    %esp,%ebp
0x80481fb <main+3>:     sub    $0x8,%esp
0x80481fe <main+6>:     and    $0xfffffff0,%esp
0x8048201 <main+9>:     mov    $0x0,%eax
0x8048206 <main+14>:    sub    %eax,%esp
0x8048208 <main+16>:    movl   $0x804a6ce,0xfffffff8(%ebp)
0x804820f <main+23>:    movl   $0x0,0xfffffffc(%ebp)
0x8048216 <main+30>:    sub    $0x4,%esp
0x8048219 <main+33>:    push   $0x0
0x804821b <main+35>:    lea    0xfffffff8(%ebp),%eax
0x804821e <main+38>:    push   %eax
0x804821f <main+39>:    pushl  0xfffffff8(%ebp)
0x8048222 <main+42>:    call   0x804823c <execve>
0x8048227 <main+47>:    add    $0x10,%esp
0x804822a <main+50>:    mov    $0x0,%eax
0x804822f <main+55>:    leave
0x8048230 <main+56>:    ret

I don't know if at line 5, we move zero to %eax. why do we need to sub 
%eax, %esp? why do we need to substract 0 from the stack pointer??
Any help is really appreciated.

best regards
Chungwei



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4048CA38.6040203>