MASM problem (linker)
-
wenn ich folgenden code versuche zu assamblen/linken dann zeigt der linker nur:"hello_world.obj : fatal error LNK1190: invalid fixup found, type 0x0001"
.model tiny .code _start: mov ah, 09h mov dx, offset HelloWorld int 21h ende: mov ah, 4ch int 21h HelloWorld db "Hello World!",10d,13d,"$" end _start end
was heist das und wie kann ich's beheben???
ich danke für antworten!
-
Hi,
ich benutze den MASM zwar nicht, aber weshalb steht da zwei mal end untereinander?
Vermutlich wird eines reichen
-
Moin, Moin...
Kann es sein, dass Du mit dem 32-Bit-Linker gelinkt hast? Wenn Du ein DOS-Programm erstellen möchtest, musst Du den 16-Bit-Linker verwenden und den gibt es hier:
ftp://ftp.microsoft.com/softlib/mslfiles/lnk563.exe
Der Linker heißt schlicht link.exe. Entpacken in ein temporäres Verzeichnis und den Link.exe umbenennen in z.B. link16.exe. Dann ins Verzeichnis 'bin' kopieren.
Linken mit link16 /TINY DeinProgramm.obj;
Das Semikolon am Ende der Zeile unterdrückt die Abfrageprozedur des Linkers.
Ciao...
[ Dieser Beitrag wurde am 23.06.2003 um 07:01 Uhr von Kal El editiert. ]
-
das zweite "end" stand auch so im tutorial, deshalb dachte ich mir:"OK, wenn's da so steht!"
und danke für den tip mit dem 16bit linker!