Compago

...free knowledge

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Manuali Programmazione Mini guida alla compilazione col NASM assembler sotto linux

Mini guida alla compilazione col NASM assembler sotto linux

E-mail Stampa PDF

Per creare un file eseguibile partendo da un file sorgente in assembler sarà necessaria prima la compilazione per creare un file .o e successivamente una fase di linking dove si possono collegare più file compilati ed eventuali librerie. Per fare ciò nella fase di compilazione useremo il NASM, mentre per la fase di link potremo usare il comando gcc o il comando ld.
Ricordo il comando per procurarsi sotto debian il compilatore:

sudo apt-get install nasm

E dando per scontato che gli altri programmi li abbiate già installati passiamo ai comandi necessari per la creazione dell'eseguibile:

nasm -f elf -o programma.o programma.asm
gcc -s -o programma programma.o

oppure col comando ld:

nasm -f elf -o programma.o programma.asm
ld -s -o programma programma.o

In tutti e due i casi il parametro -o è seguito dal nome del file di output, il parametro "-f elf "specifica il formato del file
oggetto, il parametro -s ordina di effettuare la pulizia(strip) delle funzioni inutili dal file binario di uscita.

Per facilitare questo processo di creazione ci costruiamo un file di script chiamato crea.sh e dentro ci mettiamo uno dei metodi di compilazione descritti prima:

#!/bin/sh 
nasm -f elf -o $1.o $1.asm
ld -s -o $1 $1.o
rm $1.o -f

Per renderlo eseguibile:

chmod +x crea.sh

Ora per compilare un programmino in assembler, ad esempio ciao.asm, dovrei solo scrivere:

crea.sh ciao



Ultimo aggiornamento ( Sabato 19 Giugno 2010 16:44 )  
Loading

Login