Я пытался использовать некоторые учебные пособия по сборке в Интернете, и большинство из них не работают для меня.Я использую NASM и VirtualBox (не могу заставить работать Bochs), и такие вещи работают так:
[BITS 16]
[ORG 0x7C00]
push 0xB800
pop es
mov byte [es:0],'A'
mov byte [es:1],0x1F
jmp $
times 510-($-$$) db 0
dw 0xAA55
, но это не так:
[BITS 16]
[ORG 0x7C00]
mov ah,0x09
mov al,'A'
mov bh,0
mov bl,0x1F
mov cx,1
int 0x10
jmp $
times 510-($-$$) db 0
dw 0xAA55
IЯ использую этот пакетный скрипт, который я сделал:
:: Compile with NASM ::
@echo off
echo Compiling boot.asm to boot.bin
cd C:/Users/Christian/Desktop/Assembly
C:/nasm/nasm -f bin boot.asm -o boot.bin
:: Copy to a floppy image with bfi ::
echo Creating boot.img
cd C:/Users/Christian/Desktop/Assembly
timeout 1 >nul
C:/Users/Christian/Desktop/Assembly/bfi -b=boot.bin -t=4 -l="Boot" -f=boot.img
:: Start Virtual Machine ::
echo Starting Virtual Machine "Test"
timeout 1 >nul
"C:\Program Files\Oracle\VirtualBox\VBoxManage" controlvm "Test" poweroff
"C:\Program Files\Oracle\VirtualBox\VBoxManage" startvm "Test"
Есть идеи, почему это не работает?
Я также попробовал ndisasm -b 16 boot.img, как и предлагалось, ноон просто многократно выводит div dh?(это на рабочей версии)