我正在完成一个小项目,我想到(感谢Tinkernut)使用Assembly制作一个小型操作系统。我是从头开始制作的,当我完成主要文件时,我想到将一些程序添加到操作系统中。所以我 制作了edit.asm文件(注意:空格是代码的一部分):
; ------------------------------------------------------------------
; RhalexOS Text Editor
; ------------------------------------------------------------------
BITS 16
%INCLUDE 'rhalexdev.inc'
ORG 32768
(其他所有内容都已删除,因为它与手头的问题无关)
但是当我这样做时(我确实安装了NASM):nasm edit.asm -o edit.bin
我明白了: edit.bin.7:无法打开包含文件'rhalexdev.inc'
我被困在这里一个小时。请帮助我。
答案 0 :(得分:0)
哦,天哪。截图确实揭示了问题。问题是您没有在与rhalexdev.inc
相同的目录中进行编译。
在尝试使用c:\Documents and Settings\Administrator\Desktop\OS Making\programs\
进行编译之前,您需要更改为nasm edit.asm -o edit.bin
目录,或者在尝试编译-i
时需要提供c:\Program Files\nasm
包含路径。 -i
解决方案的问题是您必须引用或转义包含路径名来处理目录名称中的空格。
我要做的是在c:\Documents and Settings\your_account\My Documents\nasm
(或您选择的任何名称)下创建一个目录。然后将所有源文件从c:\Documents and Settings\Administrator\Desktop\OS Making\programs\
复制到c:\Documents and Settings\your_account\My Documents\nasm
。然后在c:\Documents and Settings\your_account\My Documents\nasm
发出nasm edit.asm -o edit.bin
命令。
我不建议在Program Files
或Administrator\Desktop
目录中进行编译。你可以,而不是我推荐的。
如果您想要内置c:\Program Files\nasm
,那么您需要尝试以下内容:
nasm edit.asm -o edit.bin -i'c:\Documents and Settings\Administrator\Desktop\OS Making\programs\'
如上所述,尾随\
或空格已转义:
nasm edit.asm -o edit.bin -ic:\Documents\ and\ Settings\Administrator\Desktop\OS\ Making\programs\
我怀疑这会解决你的问题。