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 IMHOよりも優れた優れたアセンブリ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ビット名は同じですか?確かではありませんが、DOSアプリでこれらの2つのファイル/バージョンを何年も使用しています。

于 2013-02-06T04:50:24.447 に答える
-1

この問題が発生します。

1..asm ファイルの名前が長いため。ファイル名を短くすると、目的の結果が得られます。

2.ファイルをリンクするときのパスが間違っているため。

于 2013-07-15T10:13:40.050 に答える