0

我想在 Visual Studio 2010 中编写 16 位 8086 汇编代码,但给了我错误:代码:

.MODEL small
.STACK 100h
.data
 message BYTE "Hello, world!","$"
.code
_start:
mov ah,9
lea dx,message ; addr of buffer
int 21h
END _start

输出给了我这个错误:

Link:  
Microsoft (R) Segmented Executable Linker  Version 5.60.339 Dec  5 1994
Copyright (C) Microsoft Corp 1984-1993.  All rights reserved.  
warning L4017: /ERRORREPORT : unrecognized option name; option ignored
LINK : fatal error L1093: Files\Microsoft Visual Studio 10.0\VC\bin\link.exe : 
object file not found
Build FAILED.

我该怎么办?

4

2 回答 2

1

真的不知道是什么问题。我从来没有使用过 VS 来组装。那里有比 VS 恕我直言更好的汇编 IDE——RadASM、WinASM。这段代码:

.MODEL small
.STACK 100h
.data
 message BYTE "Hello, world!","$"
.code
_start:
mov ah,9
lea dx,message ; addr of buffer
int 21h
END _start

用这个批处理文件很好地组装和链接:

@ECHO ON
del dosdisplay.exe
ML.EXE /DMASM /DDOS /Zm /c /nologo /I"d:\masm32\Include" "dosdisplay.asm"
link16.exe /NOLOGO "dosdisplay.obj" "",,,,,""

我使用的汇编器和链接器版本:

Microsoft (R) Macro Assembler Version 6.15.8803

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994

什么是链接?不是32位版本吗?还是16位名称相同?不确定,多年来一直使用这 2 个文件/版本用于 DOS 应用程序。

于 2013-02-06T04:50:24.447 回答
-1

出现这个问题:

1.由于 .asm 文件的名称过长。缩短您的文件名并获得您想要的结果。

2.由于链接文件时路径错误。

于 2013-07-15T10:13:40.050 回答