Assembly 使用nasm和qemu运行引导加载程序时出现问题

Assembly 使用nasm和qemu运行引导加载程序时出现问题,assembly,nasm,qemu,bootloader,protected-mode,Assembly,Nasm,Qemu,Bootloader,Protected Mode,我有一个汇编语言代码,我切换到保护模式,然后在屏幕上打印“Hello World”。我已将此代码保存在名为boot2.asm的文件中。我需要帮助运行和测试代码,因为我无法通过原始编码者自己给出的命令来完成 我使用的命令是: nasm -f bin boot2.asm && qemu-system-x86_64 -fda boot.bin 我应该在cmd中运行这个命令,对吗?我的计算机中也安装了NASM和QEMU。如果要从文件boot2.asm创建名为boot.bin的文件,则需

我有一个汇编语言代码,我切换到保护模式,然后在屏幕上打印“Hello World”。我已将此代码保存在名为boot2.asm的文件中。我需要帮助运行和测试代码,因为我无法通过原始编码者自己给出的命令来完成

我使用的命令是:

nasm -f bin boot2.asm && qemu-system-x86_64 -fda boot.bin

我应该在cmd中运行这个命令,对吗?我的计算机中也安装了NASM和QEMU。

如果要从文件
boot2.asm
创建名为
boot.bin
的文件,则需要通过
-o boot.bin
选项指示
NASM
执行此操作。否则,
nasm
只会生成一个名为
boot2
的文件,这不是您想要的。因此,固定命令行是

nasm -f bin -o boot.bin boot2.asm && qemu-system-x86_64 -fda boot.bin

有关更多信息,请参阅。

如果要从文件
boot2.asm
创建名为
boot.bin
的文件,则需要通过
-o boot.bin
选项指示
nasm
执行此操作。否则,
nasm
只会生成一个名为
boot2
的文件,这不是您想要的。因此,固定命令行是

nasm -f bin -o boot.bin boot2.asm && qemu-system-x86_64 -fda boot.bin

有关更多信息,请参阅。

nasm
将生成一个名为
boot2.bin
的输出文件,但您似乎启动了一个名为
boot.bin
的文件。你确定这是正确的吗?我尝试创建boot2.bin位,上面写着,“qemu-system-x86_64:-fda boot2.bin:无法打开'boot2.bin':系统找不到指定的文件。“我正在使用cmd运行此顺便说一句,在切换到桌面文件夹后,该文件确实在其中创建了一个名为boot2但扩展名为.bin的文件,然后我手动添加了扩展并执行了qemu命令,除了它应该打印出两件事而不是一件事之外,工作正常。我正在将代码添加到问题本身,看看您是否可以帮助解决这个问题。您需要
-o boot2.bin
用于NASM,否则它将输出到
boot2
(否
.bin
)@xxxxxxxxxxxx请每个问题只问一个问题。你原来的问题已经解决了。考虑对你的新问题提出一个新问题。此外,如果您希望人们帮助您编写代码,请解释代码应该做什么并对其进行注释!如果没有注释,很难理解您的逻辑。
nasm
将生成一个名为
boot2.bin
的输出文件,但您似乎启动了一个名为
boot.bin
的文件。你确定这是正确的吗?我尝试创建boot2.bin位,上面写着,“qemu-system-x86_64:-fda boot2.bin:无法打开'boot2.bin':系统找不到指定的文件。“我正在使用cmd运行此顺便说一句,在切换到桌面文件夹后,该文件确实在其中创建了一个名为boot2但扩展名为.bin的文件,然后我手动添加了扩展并执行了qemu命令,除了它应该打印出两件事而不是一件事之外,工作正常。我正在将代码添加到问题本身,看看您是否可以帮助解决这个问题。您需要
-o boot2.bin
用于NASM,否则它将输出到
boot2
(否
.bin
)@xxxxxxxxxxxx请每个问题只问一个问题。你原来的问题已经解决了。考虑对你的新问题提出一个新问题。此外,如果您希望人们帮助您编写代码,请解释代码应该做什么并对其进行注释!没有评论,很难理解你的逻辑。