Skip site navigation (1)Skip section navigation (2)
Date:      Thu,  4 Mar 2004 09:16:12 +0100 (CET)
From:      Cordula's Web <cpghost@cordula.ws>
To:        skuma17@yahoo.com
Cc:        freebsd-questions@freebsd.org
Subject:   Re: one simple question
Message-ID:  <20040304081612.48B2940893@fw.farid-hajji.net>
In-Reply-To: <20040303181343.0fafed01@bear.bflony.adelphia.net> (message from chungwei Hsiung on Wed, 3 Mar 2004 18:13:43 %2B0000)
References:  <20040303181343.0fafed01@bear.bflony.adelphia.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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/



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