我试图开发利用的bootloader 这个,但是当它时,它会显示:
disk read error!
Run Code Online (Sandbox Code Playgroud)
如果我忽略它,在后面的部分,它会显示我错误的内存映射.我也跟着其他一些消息来源但是徒劳无功.感觉就像我只是在复制他们正在做的事情.如果我做的甚至有点不同,每次都会产生一种新的错误.
我应该使用已经构建的引导加载程序还是该怎么做?
磁盘加载错误代码如下:
[org 0x7c00]
KERNEL_OFFSET equ 0x1000
mov [BOOT_DRIVE], dl
mov bp, 0x9000
mov sp, bp
mov bx, MSG_REAL_MODE
call print_string
call load_kernel
jmp $
print_string:
pusha
mov ah, 0x0e
loop:
mov al,[bx]
cmp al, 0
je return
int 0x10
inc bx
jmp loop
return:
popa
ret
disk_load:
push dx
mov ah, 0x02
mov al, dh
mov ch, 0x00
mov dh, 0x00
mov cl, 0x02
int 0x13
jc disk_error
pop dx
cmp dh, …Run Code Online (Sandbox Code Playgroud)