Gcc cung cấp tùy chọn '-S' để lấy đầu ra assembler từ mã C/C++. Tùy chọn này hiển thị kết quả sau khi biên dịch nhưng trước khi gửi cho assembler.
Cú pháp: gcc –S program.cpp
Ví dụ
#include <iostream>
using namespace std;
int main() {
int x, y, sum;
x = 50;
y = 60;
sum = x + y;
cout << "Sum is: " << sum << endl;
return 0;
}
Đầu ra assembler (rút gọn)
.file "test_cpp.cpp" .text .section .rodata ... main: .LFB1493: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 ... movl $50, -12(%rbp) movl $60, -8(%rbp) movl -12(%rbp), %edx movl -8(%rbp), %eax addl %edx, %eax movl %eax, -4(%rbp) leaq .LC0(%rip), %rsi leaq _ZSt4cout(%rip), %rdi call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT ... movl $0, %eax leave .cfi_def_cfa 7, 8 ret .cfi_endproc ...