Используя objdump -S --disassemble hello
, я получаю примерно такой результат:
000000000000064a <main>:
64a: 55 push %rbp
64b: 48 89 e5 mov %rsp,%rbp
64e: 48 83 ec 10 sub $0x10,%rsp
652: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%rbp)
659: c7 45 f8 01 00 00 00 movl $0x1,-0x8(%rbp)
660: 8b 55 f4 mov -0xc(%rbp),%edx
663: 8b 45 f8 mov -0x8(%rbp),%eax
666: 01 d0 add %edx,%eax
668: 89 45 fc mov %eax,-0x4(%rbp)
66b: 8b 45 fc mov -0x4(%rbp),%eax
66e: 89 c6 mov %eax,%esi
670: 48 8d 3d 9d 00 00 00 lea 0x9d(%rip),%rdi # 714 <_IO_stdin_used+0x4>
677: b8 00 00 00 00 mov $0x0,%eax
67c: e8 9f fe ff ff callq 520 <printf@plt>
681: b8 00 00 00 00 mov $0x0,%eax
686: c9 leaveq
687: c3 retq
688: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
68f: 00
Что в соответствующих столбцах? Я получаю это в самом конце после того, как #
- это комментарий. Что означает 55
для push
?