thank you very much for the reply
yes and I am using gcc 3.2.2
if you "gdb" the executable and "disassemble main"
you will see the line like that
but if you use gcc -S something.s something.c
it won't appear in the assembly code

and I google around, I think it does the alignment for optimization
purpose, in that case the memory access will be faster according to the
article.

best regards,
Chungwei

--- Cordula's Web <[EMAIL PROTECTED]> wrote:
> > I compile a test C file. I notice there are a few lines at the
> > beginning of the assembly code. I want to know what it means, but
> > can't figure out one of them. Can anyone tell me what the
> > following line does please?
> > 
> > and    $0xfffffff0,%esp
> 
> Hmmm, when I compile the simplest possible C file:
> 
> -------------------------------
> int
> main (int argc, char *argv[])
> {
>   return 0;
> }
> --------------------------------
> 
> I get this:
> 
> --------------------------------
>       .file   "test1.c"
>       .version        "01.01"
> gcc2_compiled.:
> .text
>       .p2align 2,0x90
> .globl main
>               .type            main,@function
> main:
>       pushl %ebp
>       movl %esp,%ebp
>       xorl %eax,%eax
>       jmp .L2
>       .p2align 2,0x90
> .L2:
>       leave
>       ret
> .Lfe1:
>               .size            main,.Lfe1-main
>       .ident  "GCC: (GNU) c 2.95.4 20020320 [FreeBSD]"
> 
> --------------------------------
> 
> No such thing as:
> 
> and    $0xfffffff0,%esp
> 
> Are you using gcc 3.3.x?
> 
> Anyway, this code looks like it would align the stack
> the stack pointer...
> 
> > best regards
> > Chungwei
> 
> -- 
> Cordula's Web. http://www.cordula.ws/
> 


=====
bear
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to