Well, i tried to compile the following source with TASM and MASM. With TASM I was able to compile and to link it, however the output was a bit odd, which means I only wanted to print "Helko World!" and it printed a lot more characters than just the string. With MASM i get fatal link error LNK1190, looked it up on the knowledge base and microsoft admits that this error is a bug...GREAT!! =)
Finally heres the source: (maybe one of you figures out whats wrong with it):


.MODEL SMALL
.DATA
text db "Hello World!$"

.STACK 128

.CODE
Output: mov dx,offset text
mov ah,9h
int 21h
mov ah,08h ;wait for user input to quit
int 21h
End: mov ah,4Ch
int 21h
END Output
Posted on 2002-01-22 19:06:03 by PredeX
Looks like you're producing an .exe . You'll need to set up the data
segment properly. Under small model, iirc, this can be done by
"push cs / pop ds". Under other memory models, you will probably
have to figure out which symbol you need to get... I think it was @data
under tasm, but I've forgot more 16bit stuff than some people have learned ;).

The masm linker error... are you using the link.exe from masm32?
Wouldn't surprise me if that gave an error, as that linker only supports
32bit code.

Microsoft has the following to say about LNK1190:

Linker Tools Error LNK1190
invalid fixup found, type type
The object file has become corrupted. Recompile.

Invalid fixup sounds *very* likely if you're trying to linke 16bit code
with a 32bit linker.
Posted on 2002-01-22 19:32:17 by f0dder
PredeX,

f0dder is right, you are using the wrong linker, get the OMF linker from Iczelion's site to link this file. NOTE : the syntax for the old OMF linker is different to the later COFF version.

Run LINK /? > linkhelp.txt

the file name is the file you are redirecting the output from LINK to.

Regards,

hutch@movsd.com
Posted on 2002-01-23 02:31:51 by hutch--