例えば、こんなコード /* f1.c */ int add(int a, int b) { return a+b; } int main(int argc, char *argv[]) { int c = add(1, 2); return 0; } を書いて、 $ gcc -S f1.c -o f1.s とすると、f1.s は .text .globl _add _add: pushl %ebp movl %esp, %ebp subl $8, %esp movl 12(%ebp), %eax addl 8(%ebp), %eax leave ret .globl _main _main: pushl %ebp movl %esp, %ebp subl $40, %esp movl $2, 4(%esp) movl $1, (%esp) call _add movl %eax, -12(