one simple question

Cordula's Web cpghost at cordula.ws
Thu Mar 4 00:16:48 PST 2004


> 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, at 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/



More information about the freebsd-questions mailing list