第1个回答 推荐于2016-10-26
要看用的是masm的哪个版本,常用的有masm5、masm6、masm8。
masm5将编译和连接分开,当masm.exe、link.exe、cc.asm(这个是要编译的文件)在同一个文件夹中时。
当前目录中,在命令行下,输入"masm cc;"命令,可完成编译。
然后,当前目录中,在命令行下,输入"link cc;"命令,可完成连接。
masm6及以后,可用ml这个命令。
当前目录中,在命令行下,输入"ml cc.asm"命令,可完成编译和连接。
在masm中,编译是针对源文件的,源文件需为以".asm"为后缀的文本文件。编译产生的是目标文件。而连接是针对目标文件的,目标文件需为编译时产生的,以“.obj”为后缀的二进制文件。连接产生的是以".exe"为后缀的可执行文件。
第2个回答 2015-06-12
16位程序需要在16位的环境中编译运行,目前16位环境一般使用的DOS模拟器。
现在比较好用的,emu8086这个程序,集编辑、编译、模拟运行、调试一体,比较好用,并且算带了不少例子。
另外作法:使用dosbox这个DOS模拟器,在其中安装微软的masm,或者borland的tasm,再安装编辑器(vim, edit等)编辑源程序,(或者在windows中使用文本编辑软件编辑),再用masm/tasm进行编译。调试大多使用debug
masm编译命令 (如源程序名为 abc.asm)
masm abc.asm
(按提示回车)
生成.obj文件后,
link abc.obj
正确的话,则生成abc.exe
Tasm则是:
Tasm abc.asm
tlink abc.obj