第一段程序:
@ECHO OFF 注释:不显示当前及后续命令行
C:\Users\123\DOS\clock\ml /c /Zd /Zi main.asm 注释:运行该目录下的ml.exe,编译main.asm文件
set str=main.asm 注释: str=main.asm
set str=%str:~0,-4% 注释: 截取main.asm文件从第0个字符到第倒数第4个字符,即str=main
C:\Users\123\DOS\clock\link16 /CODEVIEW %str%.obj, %str%.exe,nul.map 注释:用这一行会有提示,需要输入三次回车。
第二段程序:
@ECHO OFF
C:\Users\123\DOS\clock\ml /c /Zd /Zi main.asm
set str=main.asm
set str=%str:~0,-4%
C:\Users\123\DOS\clock\link16 /CODEVIEW %str%.obj, %str%.exe,,,nul.def 注释:用这段程序,不会有提示。
第三段程序:
@ECHO OFF
%cd%\ml /c /Zd /Zi main.asm 注释:%cd%为当前目录
set str=main.asm
set str=%str:~0,-4%
%cd%\link16 /CODEVIEW %str%.obj, %str%.exe,,,nul.def
当bat文件,ml.exe,link16.exe,main.asm文件在同一个文件夹时(任一目录下),运行bat文件,可以完成汇编程序的编译、链接,生成exe文件。