Не компилируется код на Ассемблере
ORG 0x7C00 ; Загрузка по адресу 0x7C00
[BITS 16] ; Установка 16-битного режима
section kernel ; Секция кода
;extern blaz ; Объявление внешней функции
start:
mov ax, 0x07C0 ; Загрузка сегмента данных
mov ds, ax
mov es, ax
jmp start32
start32:
[BITS 32]
mov esp, 0x100000 ; Инициализация стека
;call blaz
;mov eax, blaz ; Вызов функции blaz
jmp $ ; Бесконечный цикл
times 510 - ($ - $$) db 0
dw 0xAA55
есть примерно такой код, оно прекрасно компилируется с помощью
nasm -f bin bootloader.asm -o bootloader.o
до тех пор пока я не добавлю
extern blaz
call blaz
;или
mov eax, blaz
тут я ловлю ошибку bootloader.asm:18: error: binary output format does not support external references
Хорошо, понятно, пользуемся nasm -f elf bootloader.asm -o bootloader.o
- которая позволяет нам ловить внешние ссылки, но , в итоге я получаю бесконечный ответ в
bootloader.asm:1: error: parser: instruction expected
пожалуйста, подскажите возможные причины