Tôi có chương trình được viết bằng ngôn ngữ lắp ráp 32 bit ... Bây giờ tôi không thể biên dịch nó trên hệ điều hành 64 bit. Trên trường của chúng tôi họ là cụ thể và chương trình phải được viết trong phiên bản 32 bit. Đây là chương trình của tôi:Biên dịch 32 bit Assembler trên 64 bit ubuntu
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
Bất kỳ ý tưởng nào? Tôi đã thử rất nhiều cách để biên dịch điều đó. Lỗi đầu ra sau khi biên dịch:
nasm -f elf64 vaja4.asm
ld vaja4.o -o vaja4
./vaja4
đầu ra:
vaja4.o: In function `_start':
vaja4.asm:(.text+0x7): undefined reference to `_printf'
không phải là printf không _printf? – iabdalkader
Lỗi tương tự: vaja4.o: Trong hàm 'bắt đầu ': vaja4.asm: (. Văn bản + 0x7): tham chiếu không xác định đối với' printf' – Klemenko