Symbol Type Conflict
-
Hi,
ich hab heute mein erstes ASM Programm probiert zum Laufen zu kriegen.. Dies ist mir leider nicht geglückt.. Hier mal der Source:
DATEN SEGMENT Meldung db "Dies ist ein Test!" db "$" DATEN ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATEN _Anfang: mov ax,DATEN mov ds,ax mov dx,offset Meldung mov ah,9 int 21h mov ah,4ch int 21h CODE ENDS END _Anfang
Und dann bekomme ich folgende Fehlermeldung bei Assemblieren mit MASM:
D:\masm32\procs\ams1.asm(10) : error A2004: symbol type conflict
Was mach ich falsch?
-
Hallo,
weiß niemand darauf eine Antwort? Ich habe exakt das gleiche Problem und finde nirgends dazu eine Lösung. Wäre für Hilfe sehr dankbar, evtl. auch von dem Autor des eigentlichen Posts, falls dieser es mitlerweile gelöst hat.
vielen Dank!
-
Ich wuerde vermuten, dass sich mit dem MASM32 kein 16Bit-Code assemblieren laesst...
-
ASM_Einsteiger schrieb:
Hallo,
weiß niemand darauf eine Antwort? Ich habe exakt das gleiche Problem und finde nirgends dazu eine Lösung. Wäre für Hilfe sehr dankbar, evtl. auch von dem Autor des eigentlichen Posts, falls dieser es mitlerweile gelöst hat.
vielen Dank!Hi!
Lege Dir einen neuen Ordner an und nenne ihn MASM16.
Kopiere in diesen Ordner aus dem Verzeichnis MASM32\BIN\ den Macro-Assembler ml.exe
und die Datei ml.err.
Besorge Dir aus dem Internet einen 16 Bit-Linker z.B.http://www.gaby.de/ftp/pub/win3x/archive/softlib/lnk562.exe
lnk562.exe ist selbstenpackend, es wird link.exe (16 Bit-Linker)generiert.Dein MASM16-Ordner sieht jetz so aus:
C:\MASM16>dir
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: 742A-B425Verzeichnis von C:\MASM16
03.03.2008 19:11 <DIR> .
03.03.2008 19:11 <DIR> ..
29.03.1999 08:45 372.736 ml.exe
21.07.2001 20:31 9.687 ml.err
03.03.2008 20:01 386 test.asm
03.03.2008 19:07 195.023 lnk562.exe
16.09.1994 14:00 364.544 LINK.EXE
5 Datei(en) 942.376 Bytes
2 Verzeichnis(se), 273.448.960 Bytes freiml rufst Du mit der Option /Zm Enable MASM 5.10 compatibility auf.
C:\MASM16>ml/Zm test.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.Assembling: test.asm
Microsoft (R) Segmented Executable Linker Version 5.60.220 Sep 9 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.Object Modules [.obj]: test.obj
Run File [test.exe]: "test.exe"
List File [nul.map]: NUL
Libraries [.lib]:
Definitions File [nul.def]:
LINK : warning L4021: no stack segmentC:\MASM16>test.exe
Dies ist ein Test!
C:\MASM16>Alles klar?!MfG
-
@Nobuo T
danke für die Antwort und Hinweis! Ich dachte mir sowas schon, war mir aber auch nicht sicher und wusste auch nicht, wie ich daraus ein 32bit Programm mache, bzw. ein 16bit "assemblen" kann
@freak11
vielen Dank für die ausfühliche Anleitung!
... hat auf Anhieb geklappt und war genau das was ich gesucht habe ... jetzt kann ich auch die anderen Beispiele nachvollziehen und endlich weitermachen
nochmals Danke für die Antworten, klasse Forum!