Как загрузить файлы.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.

Другие вопросы по тегам