Как загрузить файлы.BAS из операционной системы сборки
Мне нужно загрузить некоторые базовые (.bas) файлы изнутри моего загрузчика.
Мой загрузчик очень прост, и все, что он должен делать, это отображать некоторый текст, загружать файл.bas в память и выполнять его.
(Я очень новичок в сборке, и пока не до конца понимаю, поэтому вам, возможно, придется кое-что объяснить.)
Вот мой простой код (все, что он делает, это отображает текст):
BITS 16
start:
mov ax, 07C0h
add ax, 288
mov ss, ax
mov sp, 4096
mov ax, 07C0h
mov ds, ax
mov si, text_string
call print_string
jmp $
text_string db 'MyOS BootLoader...', 10, 13
db 'Looking For Kernel..., 10, 13
; *** INSERT .BAS LOADING CODE HERE :D ***
print_string:
mov ah, 0Eh
.repeat:
lodsb
cmp al, 0
je .done
int 10h
jmp .repeat
.done:
ret
times 510-($-$$) db 0
dw 0xAA55
(Мой код основан на MikeOS Майком Сондерсом (находится здесь))
Буду признателен, если кто-нибудь сможет мне помочь.:)
1 ответ
Мой загрузчик очень прост, и все, что он должен делать, это отображать некоторый текст, загружать файл.bas в память и выполнять его.
Это сложнее, чем вы думаете. Для запуска программы BASIC требуется переводчик. Если вы не используете настоящий ПК IBM с BASIC в ПЗУ (чего не было с 1980-х годов), вам потребуется включить переводчик в свой загрузочный сектор. (Который не собирается соответствовать.)
Подумайте о загрузке исполняемого файла другого типа - например, файла COM.