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