- 论坛徽章:
- 0
|
1 .file "struct.c"
2 .section .rodata
3 .LC0:
4 .string "%d\n"
5 .text
6 .globl main
7 .type main, @function
8 main:
9 leal 4(%esp), %ecx
10 andl $-16, %esp
11 pushl -4(%ecx)
12 pushl %ebp
13 movl %esp, %ebp
14 pushl %ecx
15 subl $36, %esp
16 movb $1, -5(%ebp)
17 movzbl -5(%ebp), %eax
18 sall $7, %eax
19 sarb $7, %al //为啥这里是算术右移?
20 movsbl %al,%eax
21 movl %eax, 4(%esp)
22 movl $.LC0, (%esp)
23 call printf
24 call getchar
25 movl $0, %eax
26 addl $36, %esp
27 popl %ecx
28 popl %ebp
29 leal -4(%ecx), %esp
30 ret
31 .size main, .-main
32 .ident "GCC: (GNU) 4.1.0 (SUSE Linux)"
33 .section .note.GNU-stack,"",@progbits |
|