Konversi C ke Assembly dengan GCC

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

SubscribeSekarang!

Dapatkan akses eksklusif untuk tips digital marketing, panduan teknologi, dan masih banyak lagi!

Proses pendaftaran hampir selesai, mohon cek email Anda, dan klik link konfirmasi pendaftaran newsletter Anda.

Pin It on Pinterest