我已经进入了汇编操作系统开发,目前我正在设置一个两阶段引导加载程序。我已经设置了第一阶段,但是当我重置磁盘并读取第二个扇区时,我在屏幕上看到了一堆乱码。当我尝试调用应该在 加载的代码时0x1000,没有任何反应(据我所知)。我试图找到解决方案,但我发现的解决方案似乎都不起作用,而且我的运气越来越差。这是我的完整代码:
BITS 16
start:
mov ax, 07C0h
add ax, 288
mov ss, ax
mov sp, 4096
mov ax, 07C0h
mov ds, ax
call reset
call read_sector
jmp sector
text_string db "hello, world!", 0
sector equ 1000h
reset:
mov ah, 00h
mov dl, 00h
int 13h
read_sector:
; 1000h (used to be 07E0h, but changed as I realized that I probably needed to accomodate more space for the bootloader)
mov ax, sector
mov es, ax
mov ah, 02h …Run Code Online (Sandbox Code Playgroud)