我使用的是windows7旗舰版系统的平台,在使用masm611的时候遇到了一些问题,不知道大家是否曾经遇到过,接下来我描述下我遇到的状况吧!
在ASM目录下,我编写了一个a.asm,这是一个很简单的代码:
DATAS SEGMENT
FIVE DB 5
DATAS ENDS
STACK SEGMENT STACK
DB 128 DUP(0)
STACK ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS
MOV DS,AX
MOV AL,FIVE
ADD AL,3
ADD AL,30H
MOV DL,AL
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
这不至于有语法错误吧!呵呵!
老规矩,先在path变量中加入masm的bin的路径,也可以用bat这类的。
首先:当我在ASM目录下运行masm a.asm
D:\ASM>masm a.asm
Microsoft (R) MASM Compatibility Driver
Copyright (C) Microsoft Corp 1993. All rights reserved.
Invoking: ML.EXE /I. /Zm /c /Ta a.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.
Assembling: a.asm
然后运行dir查看当前目录下的文件
D:\ASM>dir
2011/11/06 16:42 <DIR> .
2011/11/06 16:42 <DIR> ..
2011/11/06 16:16 456 a.asm
2011/11/06 16:42 134 a.obj
发现编译成功了,接下来就是链接的问题了,如下:
D:\ASM>link a.obj
当我们用link来编译a.obj文件的时候,它什么也没有输出。
继续使用dir查看,发现ASM目录下什么也没有改变。
推断:link是一个空操作,至少在windows7上是这样的。(在XP上是没有问题的,运行正常)。
于是我在(TASM)IDE86的bin目录下复制了一个文件(tlink.exe)到masm的bin目录下,
用tlink来链接a.obj文件并查看:
D:\MYPROJ~1\ASM>tlink a.obj
Turbo Link Version 2.0 Copyright (c) 1987, 1988 Borland International
D:\ASM>dir
2011/11/06 16:48 <DIR> .
2011/11/06 16:48 <DIR> ..
2011/11/06 16:16 456 a.asm
2011/11/06 16:48 678 A.EXE
2011/11/06 16:48 219 A.MAP
2011/11/06 16:42 134 a.obj
发现tlink可以与masm配合使用。
早些时候在网上就听闻它们非常相似,今天的试验更是证明了这点。
注:需要以上出现的软件的朋友,可以联系我。
- 标 题:如何在windows7上使用masm611
- 作 者:短笛
- 时 间:2011-11-06 16:52:42
- 链 接:http://bbs.pediy.com/showthread.php?t=142435