Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Operating system Qemu从软盘挂起、引导加载程序引导_Operating System_Kernel_Qemu_Bootloader - Fatal编程技术网

Operating system Qemu从软盘挂起、引导加载程序引导

Operating system Qemu从软盘挂起、引导加载程序引导,operating-system,kernel,qemu,bootloader,Operating System,Kernel,Qemu,Bootloader,我有一个非常简单的引导程序,我正试图在linux中通过qemu运行它 但qemu闲置并显示“从软盘启动” 我不知道如何使它工作! 我已经包括了引导加载程序代码和makefile脚本 下面是引导加载程序的代码 org 0 bits 16 jmp boot1 bootmsg db "Preparing to Load Operating System", 0x0a,0x0d,0x0 print: or al,al jz .printdone lodsb mov ah,0x0e int 0x10 j

我有一个非常简单的引导程序,我正试图在linux中通过qemu运行它

但qemu闲置并显示“从软盘启动”

我不知道如何使它工作! 我已经包括了引导加载程序代码和makefile脚本

下面是引导加载程序的代码

org 0
bits 16
jmp boot1

bootmsg db "Preparing to Load Operating System", 0x0a,0x0d,0x0
print:
or al,al
jz .printdone
lodsb
mov ah,0x0e
int 0x10
jmp print


.printdone:
ret



boot1:
cli
mov ax,0x07c0

mov ds,ax
mov es,ax
mov ax,0x0000
mov ss,ax
mov sp,0x07c0
sti

mov si,bootmsg
call print
hlt



times 510-($-$$) db 0
dw 0xAA55
这是我的Makefile脚本

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

boot.img: boot.bin
    dd if=/dev/null of=boot.img count=1 bs=512
    dd if=boot.bin of=boot.img conv=notrunc

qemu: boot.img
    qemu -fda boot.img
clean: 
    rm *.bin *.img
检查前检查

bootmsg db "Preparing to Load Operating System", 0x0a,0x0d,0x0
print:
lodsb
or al,al
jz .printdone

mov ah,0x0e
int 0x10
jmp print


.printdone:
 ret