Konversi C ke Assembly dengan GCC

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.

About The Author

Gabung Bersama +30.000 Pembaca Kami!

Daftarkan email anda untuk mendapatkan artikel terbaru dari Situstarget.com.

Proses pendaftaran hampir selesai, mohon cek email Anda dan Klik tombol konfirmasi.

Pin It on Pinterest

Share This