Я пытаюсь сделать простой загрузчик, который будет работать с USB. После нескольких проблем, я попытался с помощью блока следующий код ASM (который я получил от MikeOS):Простой загрузчик USB
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, msg
call move
jmp $
msg db 'Whatever!', 0
move:
mov ah, 0Eh
.print:
lodsb
cmp al,0
je .Done
int 10h
jmp .print
.Done:
ret
times 510-($-$$) db 0
dw 0xAA55
Это привело к L печатается бесконечное число раз, когда я пытался загрузить его из USB :( Может кто-нибудь, дайте мне знать, что я делаю неправильно
Я копирую его в сектор 0, используя дд
Edit:.. Это как-то не работает на моем компьютере, но работает на моей сестры ноутбук . Кто-нибудь может подумать, почему?
Ваш код работает для меня: http://cl.ly/image/2H0E0Z3I0S3y –
Работает отлично, когда я пытаюсь запустить его из QEmu или Virtual Box, но проблема возникает, когда я перезагружаю компьютер, загружая его непосредственно из USB – Rikh