制作批处理文件以编译Assembler

时间:2016-11-23 12:24:15

标签: batch-file assembly

我目前正在学习Assembler,他们使用的版本相当陈旧,包含3个文件,ASM.exe,LINK.exe,TD.EXE,它们通过DosBox运行。 基本上我需要做三个命令:

asm [filename].asm;
link [filename].obj;
td [filename]

为了编译,我不想制作我输入的批处理文件:run [filename]

所以它只会使用文件名并编译所有内容。

任何人都可以帮忙或者给我一个关于在哪里寻找这些信息的提示吗?

1 个答案:

答案 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建议