我目前正在学习Assembler,他们使用的版本相当陈旧,包含3个文件,ASM.exe,LINK.exe,TD.EXE,它们通过DosBox运行。 基本上我需要做三个命令:
asm [filename].asm;
link [filename].obj;
td [filename]
为了编译,我不想制作我输入的批处理文件:run [filename]
所以它只会使用文件名并编译所有内容。
任何人都可以帮忙或者给我一个关于在哪里寻找这些信息的提示吗?
答案 0 :(得分:4)
如果您只提供没有扩展名的文件名,那么批处理可能如下所示:
IF [%1]==[] (
echo WRONG SYNTAX: run ^<filename^>
exit /b 1
)
asm %1.asm
IF ERRORLEVEL 1 (
echo ERROR: Could not assemble file. Abandonned execution!
exit /b 1
)
link %1.obj
IF ERRORLEVEL 1 (
echo ERROR: Could not link %1.obj. Abandonned execution!
exit /b 1
)
td %1
正如@LotPings在评论中提到的那样,允许路径操作的扩展无法工作。在开始执行之前检查参数是否存在更安全,并且在开始每个步骤之前检查错误级别为David wohlferd建议