Запуск ОС на VirtualBox

Я использую VirtualBox 4.1.14 в Windows 7 и пытаюсь заставить его запустить мою тестовую ОС. Я использую приведенный ниже ассемблерный код и компилирую его с помощью

nasm -f bin -o boot.bin boot.asm

Я пытаюсь преобразовать полученный bin-файл в ISO, который может использовать VB4.1.14 (я не хочу платить деньги или иметь какие-либо ограничения от пробной программы). Я пытался загружать различные конвертеры, такие как bin2iso, но VB выдает разные ошибки всякий раз, когда я пытаюсь открыть полученный ISO внутри него, например VERR_NOT_SUPPORTED и другие.

Я бы предпочел, чтобы решение было инструментом командной строки, чтобы я мог использовать его в пакетном сценарии, чтобы ускорить тестирование.

BITS 16

start:
    mov ax, 07C0h       ; Set up 4K stack space after this bootloader
    add ax, 288     ; (4096 + 512) / 16 bytes per paragraph
    mov ss, ax
    mov sp, 4096

    mov ax, 07C0h       ; Set data segment to where we're loaded
    mov ds, ax


    mov si, text_string ; Put string position into SI
    call print_string   ; Call our string-printing routine

    jmp $           ; Jump here - infinite loop!


    text_string db 'This is my cool new OS!', 0


print_string:           ; Routine: output string in SI to screen
    mov ah, 0Eh     ; int 10h 'print char' function

.repeat:
    lodsb           ; Get character from string
    cmp al, 0
    je .done        ; If char is zero, end of string
    int 10h         ; Otherwise, print it
    jmp .repeat

.done:
    ret


    times 510-($-$$) db 0   ; Pad remainder of boot sector with 0s
    dw 0xAA55       ; The standard PC boot signature
5
задан hddh 13 May 2012 в 12:37
поделиться