У меня есть следующий фрагмент кода из книги, которую я сейчас читаю.Поэтому я создал ASM-файл и набрал точно.Затем использовал команду nasm (nasm -f elf test.asm
), затем попытался скомпилировать в исполняемый файл, используя gcc
(gcc test.o -o test
), затем я получил следующую ошибку.
Ошибка:
ld: предупреждение: игнорирование файла test.o, файл создан для неподдерживаемого формата файла, который не связан с архитектурой (x86_64)
Исходный код:
[BITS 16]
[SECTION .text]
START:
mov dx, eatmsg
mov ah, 9
int 21H
mov ax, 04C00H
int 21H
[SECTION .data]
eatmsg db "Eat at Joe's!", 13, 10, "$"
Я полагаю, что исходный код несовместим с процессорами текущего поколения (книга старая ...).
Как исправить этот исходный код для запуска вx86_64 процессоры?