Untuk mengonversi file source bahasa C ke assembly menggunakan GCC adalah dengan menggunakan options -S.
#include <stdio.h> int main() { printf("Hello worldn"); return 0; }
Misal nama filenya hello.c, maka gunakan perintah gcc -S coba.c
nama file outputnya sama dengan file input, yg membedakan adalah ekstensinya
kalau file inputnya coba.c, file outputnya adalah coba.s
dari potongan kode diatas akan menghasilkan kode assembly seperti ini
.file "coba.c" .section .rodata .LC0: .string "Hello world" .text .globl main .type main, @function main: pushl %ebp movl %esp, %ebp andl $-16, %esp subl $16, %esp movl $.LC0, (%esp) call puts movl $0, %eax leave ret .size main, .-main .ident "GCC: (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]" .section .comment.SUSE.OPTs,"MS",@progbits,1 .string "ospwg" .section .note.GNU-stack,"",@progbits
Pada kode assembly diatas terdapat beberapa tulisan SUSE karena saya menggunakan distro openSUSE, tulisan tersebut bisa berbeda tergantung distro yang digunakan.