visual-studio-2010assemblyx86masm

assembly LINK : fatal error L1093:object file not found


I want to write 16 bit 8086 assembly code in visual studio 2010 but gives me error: code:

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

output gives me this error:

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.

what should I to do?


Solution

  • Really not sure what the problem is. I have never uses VS for Assembly. There are great Assembly IDEs out there that are better than VS IMHO - RadASM, WinASM. This code:

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

    Assembles and links fine with this batch file:

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

    Assembler and Linker versions that I use:

    Microsoft (R) Macro Assembler Version 6.15.8803

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

    What is link? Isn't that the 32bit version? or is the 16bit name the same? Not sure, been using these 2 files/versions for many, many years for DOS apps.