当前位置: 代码迷 >> 汇编语言 >> 怎么在DOS下编译汇编程序
  详细解决方案

怎么在DOS下编译汇编程序

热度:553   发布时间:2016-05-02 05:04:26.0
如何在DOS下编译汇编程序
通过DOS的EDIT写好了一个汇编程序保存为shiyaner.asm到F:  
照实验指导上讲:在DOS提示符下键入MASM shiyaner回车
这时汇编程序的输出文件可以有三个(分别:.obj .lst .crf),便会出现三次提问,在这可以一路回车即可。下面显示的信息是源程序中的错误个数,如果为0则表示顺利通过,就可进行进程c。但如果不为0就说明有错误,并指出错误出现的行,可依据这个提示去进行修改。
可是dos却显示'masm'不是内部或外部命令,也不是可运行程序或批处理文件。



------解决方案--------------------
如果用的是纯DOS,在autoexec.bat中添加 path=c:\masm\bin;
如果用的是windows, 在系统环境变量对话框中的path中添加上面的路径

------解决方案--------------------
先确定你的汇编编译器安装在哪个盘,在例如d盘,用dos命令将盘符转换为d盘,再如编译器所在的文件夹名例如为masm5(文件夹名不能为汉字字符),若源程序放在同样的目录,则可如下操作:
D:\>MASM5\MASM SHIYANER.ASM;回车      此时为汇编
D:\>MASM5\MASM SHIYANER.OBJ;回车      此时为链接
D:\>SHIYANER.EXE回车                    此时运行程序
如果源程序没和编译器在同一目录下,例如源程序在c盘则加上路径就可以了,如下
D:\>MASM5\MASM C:\SHIYANER.ASM;回车      此时为汇编
D:\>MASM5\MASM SHIYANER.OBJ;回车         此时为链接不许路径,因为obj文件已在编译器的目录下
D:\>SHIYANER.EXE回车                       此时运行程序,同理不需路径

以上为比较简化的汇编方法,省去了中间许多的如楼主说的.lst .crf等步骤详细的介绍可以参看王爽的《汇编语言》一书,本人也正在学习中,以上的希望对你有帮助