Компиляция 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'

Ответы на вопрос(4)

Ваш ответ на вопрос