【发布时间】:2021-03-30 01:20:59
【问题描述】:
我有一个汇编语言代码,我在其中切换到保护模式,然后在屏幕上打印“Hello World”。我已将此代码保存在名为 boot2.asm 的文件中。我需要帮助来运行和测试代码,因为我无法通过原始编码器自己给出的命令来做到这一点。
我使用的命令是:
nasm -f bin boot2.asm && qemu-system-x86_64 -fda boot.bin
我应该在 cmd 中运行这个命令,对吧?我的电脑上也安装了 NASM 和 QEMU。
【问题讨论】:
-
nasm将生成一个名为boot2.bin的输出文件,但您似乎启动了一个名为boot.bin的文件。你确定这是正确的吗? -
我尝试创建 boot2.bin 位它说,“qemu-system-x86_64: -fda boot2.bin: 无法打开 'boot2.bin': 系统找不到指定的文件。”在切换到文件所在的桌面文件夹后,我正在使用 cmd 运行这个 btw
-
它确实创建了一个名为 boot2 的文件,没有 .bin 扩展名,然后我手动添加了扩展名并执行了 qemu 命令,工作正常,除了它应该打印出两件事而不是一个,我正在将代码添加到问题本身,看看您是否可以提供帮助
-
NASM 需要
-o boot2.bin,否则它会输出到boot2(没有.bin)。 -
@xxxxxxxxxxxxxx 每个问题只问一个问题。你原来的问题已经解决了。考虑为您的新问题提出一个新问题。此外,如果您希望人们帮助您编写代码,请解释代码应该做什么并评论它!没有 cmets,很难理解你的逻辑。
标签: assembly nasm qemu bootloader protected-mode