@
pkookp8 环境:4.13.0-37-generic gcc version 5.4.0 20160609
```
两次未优化的汇编代码:
```
Dump of assembler code for function main:
0x0000000000400546 <+0>: push %rbp
0x0000000000400547 <+1>: mov %rsp,%rbp
0x000000000040054a <+4>: sub $0x10,%rsp
0x000000000040054e <+8>: mov -0x10(%rbp),%rax
0x0000000000400552 <+12>: mov %rax,%rsi
0x0000000000400555 <+15>: mov $0x400604,%edi
0x000000000040055a <+20>: mov $0x0,%eax
0x000000000040055f <+25>: callq 0x400430 <__isoc99_scanf@plt>
0x0000000000400564 <+30>: movq $0x0,-0x8(%rbp)
0x000000000040056c <+38>: mov $0x0,%eax
0x0000000000400571 <+43>: leaveq
0x0000000000400572 <+44>: retq
```
```
Dump of assembler code for function main:
0x0000000000400546 <+0>: push %rbp
0x0000000000400547 <+1>: mov %rsp,%rbp
0x000000000040054a <+4>: sub $0x20,%rsp
0x000000000040054e <+8>: mov -0x18(%rbp),%rax
0x0000000000400552 <+12>: mov %rax,%rsi
0x0000000000400555 <+15>: mov $0x400604,%edi
0x000000000040055a <+20>: mov $0x0,%eax
0x000000000040055f <+25>: callq 0x400430 <__isoc99_scanf@plt>
0x0000000000400564 <+30>: movq $0x0,-0x10(%rbp)
0x000000000040056c <+38>: movq $0x0,-0x8(%rbp)
0x0000000000400574 <+46>: mov $0x0,%eax
0x0000000000400579 <+51>: leaveq
0x000000000040057a <+52>: retq
End of assembler dump.
```
-0x18(%rbp)和 -0x10(%rbp)的值,一个是非法的一个是合法的