跟俺的差不多啊
复制内容到剪贴板
代码:
[color=blue]-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[4227 0] #[/color] cat foo.c
#include <stdio.h>
int main()
{
int n = 32;
printf("%d\n", -1 << n);
return 0;
}
[color=blue]-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[4227 0] #[/color] gcc -S foo.c
[color=blue]-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[4227 0] #[/color] cat foo.s
.file "foo.c"
.section .rodata
.LC0:
.string "%d\n"
.text
.globl main
.type main, @function
main:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
andl $-16, %esp
movl $0, %eax
addl $15, %eax
addl $15, %eax
shrl $4, %eax
sall $4, %eax
subl %eax, %esp
movl $32, -4(%ebp)
movl -4(%ebp), %ecx
movl $-1, %eax
sall %cl, %eax
movl %eax, 4(%esp)
movl $.LC0, (%esp)
call printf
movl $0, %eax
leave
ret
.size main, .-main
.ident "GCC: (GNU) 4.0.3 (Ubuntu 4.0.3-1ubuntu5)"
.section .note.GNU-stack,"",@progbits
[color=blue]-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[4227 0] #[/color] o