Come compilare in assembly con GCC

Il compilatore gcc mi permette di compilare un codice scritto in assembly.

Ad esempio, scrivo un sorgente in linguaggio assembly usando la sintassi IA32 AT&T.

.LC0:
.string "a=%d"
.text
.globl main
.type main, @function
main:
.LFB0:
pushq %rbp
movq %rsp, %rbp
movl $5, %ebx
movl %ebx, %esi
movl $.LC0, %edi
call printf
movl $0, %eax
leave
ret

Poi salvo il sorgente nel file di testo prova.s

A questo punto assemblo il codice assembly in linguaggio macchina tramite il compilatore gcc.

gcc -c prova.s -o prova.o

Il compilatore crea un file oggetto prova.o in linguaggio macchina tramite l'assembler

Per eseguire il programma devo trasformare l'oggetto in eseguibile

gcc prova.o -o prova

Il compilatore assembla e collega i moduli in un unico file eseguibile prova.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Linguaggio assembly