Ho un programma scritto in linguaggio assembly a 32 bit ... Ora non riesco a compilarlo su sistema operativo a 64 bit. Nella nostra scuola sono specifici e il programma deve essere scritto nella versione a 32 bit. Ecco il mio programma:Compilando 32 bit Assembler su ubuntu a 64 bit
bits 32
extern _printf
global _start
section .data
message db "Hello world!!", 10, 0
section .text
_start:
pushad
push dword message
call _printf
add esp, 4
popad
ret
Qualche idea? Ho provato tanti modi per compilarlo. uscita di errore dopo la compilazione:
nasm -f elf64 vaja4.asm
ld vaja4.o -o vaja4
./vaja4
uscita:
vaja4.o: In function `_start':
vaja4.asm:(.text+0x7): undefined reference to `_printf'
non dovrebbe essere printf non _printf? – iabdalkader
Stesso errore: vaja4.o: nella funzione 'start ': vaja4.asm :(. Testo + 0x7): riferimento non definito a' printf' – Klemenko