怎么在DOS下编译汇编程序
发布时间:2010-06-14 15:13:36 文章来源:www.iduyao.cn 采编人员:星星草
如何在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等步骤详细的介绍可以参看王爽的《汇编语言》一书,本人也正在学习中,以上的希望对你有帮助
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
MSN通讯协议逆向
MSN 进行数据通讯中,据说用了TWN认证,通过SSL/TLS连接到login.passport.com和 loginnet.passportr.com 等服务器。
...
-
win7+64位cpu的exe反汇编问题,多次问人,无果
vs20008写的一个很简单的c++控制台程序
平台是:win7 64位操作系统
用od进行反汇编,...
-
可能很白痴的问题:想给ax赋一个负数怎么做?
比如想要赋一个-5给ax,是不是只有求出这个-5的补码,然后mov进这个补码这一种方法?
------...
-
居然显示不出负数来,悲剧
Assembly code
.386
.model flat,stdcall
include kernel32.inc
includelib kernel32.lib
include ms...
-
call far ptr '标号'的问题[在线等答案]
为什么ax会是1010?不是1006??求详细解答
难道call far ptr不是执行了push cs,push ip,jm...
-
CPU的程序计数器PC和指令指针寄存器IP是一个东西吗?
看上去好像功能完全一样,又觉得不应该是一回事,求教
------解决方案----------...
-
菜鸟问题,高人来帮忙
编程,统计data段中数值为8的字节的个数,用ax保存结果
我的代码
Assembly code
assume cs:code,ds:data
data se...
-
一个死循环问题
什么原因造成内循环才刚循环一次还没完,到了loop s1的时候cx突然变成F?
Assembly code
assume cs:codesg,ds:datas...
-
初学MUL乘法指令,写法求解释下
MUL r8/m8 ;无符号字节乘:AX←AL×r8/m8
MUL r16/m16 ;无符号字乘:DX.AX←AX×r16/...
-
汇编如何 取到8051的P0口的内容呢?
Assembly code
ORG 0000H
AJMP START
ORG 0030H
START: MOV P0,#00H
LOOP: ...