
你这种情况是因为没有生成目标文件(.obj)造成的。应该是先用masm(编译)成目标文件,然后在用link(连接)成可执行文件(.exe) 比如,如果在C盘下有运行环境masm5.0和源文件5_3.asm,则应该如下顺序操作: Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\Administrator>cd\C:\>cd masm5.0C:\MASM5.0>masm 此过程编译成目标文件 5_3.obj:Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.Source filename [.ASM]: c:\5_3
Object filename [5_3.OBJ]: c:\
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]: 50670 + 415650 Bytes symbol space free 0 Warning Errors
0 Severe Errors 此过程连接成可执行文件 5_3.exeC:\MASM5.0>linkMicrosoft (R) Overlay Linker Version 3.60
Copyright (C) Microsoft Corp 1983-1987. All rights reserved.Object Modules [.OBJ]:c:\5_3Run File [C:5_3.EXE]: c:\
List File [NUL.MAP]:
Libraries [.LIB]:
LINK : warning L4021: no stack segment 此过程debug跟踪调试:C:\MASM5.0>debug c:\5_3.exe-r
AX=0000 BX=0000 CX=001C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13D6 ES=13D6 SS=13E6 CS=13E6 IP=0000 NV UP EI PL NZ NA PO NC
13E6:0000 8CC8 MOV AX,CS
-tAX=13E6 BX=0000 CX=001C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13D6 ES=13D6 SS=13E6 CS=13E6 IP=0002 NV UP EI PL NZ NA PO NC
13E6:0002 8ED8 MOV DS,AX
-tAX=13E6 BX=0000 CX=001C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13E6 ES=13D6 SS=13E6 CS=13E6 IP=0004 NV UP EI PL NZ NA PO NC
13E6:0004 B82000 MOV AX,0020
-tAX=0020 BX=0000 CX=001C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13E6 ES=13D6 SS=13E6 CS=13E6 IP=0007 NV UP EI PL NZ NA PO NC
13E6:0007 8EC0 MOV ES,AX
-tAX=0020 BX=0000 CX=001C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13E6 ES=0020 SS=13E6 CS=13E6 IP=0009 NV UP EI PL NZ NA PO NC
13E6:0009 BB0000 MOV BX,0000
- ps:当然,因为源文件以及生成文件都在当前路径下,所以c:\可以省略直接写文件名即可...如果你的源文件和你的运行环境不在同一个盘符下,那么在生成文件时命名的时候前面记得要加路径,不然就会像楼主那样提示找不到文件...
在CMD里写D:\汇编>masm 55.asm
Object filename [55.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
三次回车
D:\??>link 55.obj
Run File [55.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]:
在来三次回车
运行55.exe
过程是把ASM的源文件编译成目标文件再连接成为EXE的文件
文件名问题,将ex5.27.asm改为ex5-27.asm再试。
老式的8.3格式的文件名不能有两个圆点!
