Компиляция 32-битного Ассемблера на 64-битной Ubuntu [дубликат]
На этот вопрос уже есть ответ здесь:
Сборка 32-разрядных двоичных файлов в 64-разрядной системе (набор инструментов GNU) 2 ответаУ меня есть программа, написанная на 32-битном ассемблере ... Теперь я могуСкомпилируйте его на 64-битной ОС. В нашей школе они специфичны, и программа должна быть написана в 32-битной версии. Вот моя программа:
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
Любая идея? Я пробовал так много способов, чтобы скомпилировать это. Ошибка вывода после компиляции:
nasm -f elf64 vaja4.asm
ld vaja4.o -o vaja4
./vaja4
выход:
vaja4.o: In function `_start':
vaja4.asm:(.text+0x7): undefined reference to `_printf'