error A2006: undefined symbol : DGROUP
-
Moin, Moin...
Ich habe Dein Programm mit MASM (Version 6.14.8444) assembliert(ml /c DasProgramm.asm) und keine Fehlermeldung erhalten.Noch ein kleiner Hinweis. Du benutzt die MODEL-Direktive. In diesem Fall sollte man das .STARTUP-Makro verwenden, dass den Stack einrichtet und die Segmentregister belegt. Am Ende des Programms nutzt man dann das .EXIT-Makro.
MODEL Small .STACK 100h .DATA Meldung DB "Hallo Welt$" .CODE Start: .STARTUP mov dx, OFFSET Meldung mov ah, 09h int 21h .EXIT 0 END
Ciao...
-
Selber Fehler. Ich ziehe mir einfach eine alte Assemblerversion
-
Kannst du deine Versione evtl. hochladen? Ich verzweifel gerade total, per google finde ich keine alten Versionen. Und alle neueren wollen nicht den alten Quellcode übersetzen
-
öhmja? schrieb:
F:\masm32\FIles\first.asm(7) : error A2004: symbol type conflict
Vielleicht können wir das ja anders regeln:
Womit programmierst du Assembler? Welchen Editor hast du und wo hast du dir die Dateien für Assembler heruntergeladen. Vielleicht ist mein Kram ja zu alt / neu was weiß ich
?
wieso ich? du hast das problem, also solltest du deine spezifikationen nennen. mir ist klar, dass mein vorschlag nicht funktionieren muss, war eben nur eine idee. _DATA ist ein symbol, @DATA ein macro für DGROUP - warum und wieso das probleme bereit ist mir unklar, allerdings funktionieren einige der alten macros mit masm 7+ nicht mehr richtig. möglicherweise könnte noch
mov ax, seg Meldung
funktionieren. einfach mal ausprobieren.
-
Egal was ich gerade versuche, esklappt einfach nicht. Ich lade mir zig Compiler runter, zig IDEs aber ich kann die ganzen alten Beispielcodes nicht übersetzen. Immer wird etwas neues bemängelt, mal das MODEL, dann DATA usw. usf. Egal ob tasm nasm oder masm...
Deswegen wäre es evtl gut wenn mir jemand sagen kann wo ich eine vernünftige Version herbekomme. Sowas wie der DEV C++ für C++ Anfänger. Runterladen -> läuft.
-
meistens befindet sich das problem vor dem computer. du könntest ja klein anfangen mit dem minimal code:
end
und dann einfach schauen, wann die probleme auftauchen.
-
Moin, Moin...
Ich habe das MASM32-Paket Version 8.2 benutzt, um Dein Programm zu übersetzen. Das bekommst Du hier: http://www.codingcrew.de/masm32/index.php
Erläutere doch bitte genau, wie Du Dein Programm übersetzt(welche Kommandozeilenparameter).
Ciao...
-
camper schrieb:
meistens befindet sich das problem vor dem computer. du könntest ja klein anfangen mit dem minimal code:
end
und dann einfach schauen, wann die probleme auftauchen.
Junge, jetzt komm mir mal nicht so blöde.
Ich programmiere nicht zum ersten Mal und weiß, woran es liegt. Nur eine passende Lösung hatte ich nicht gefunden.Das ich mir mit diesem Post deine "Hilfe" verscherzt habe ist mir klar.
-
tja - wer nicht will der hat schon ...
-
Juten Tach.
Ich hab dasselbe Problem wie öhmja? dazumals:D
Code:
.MODEL Small ;Speichermodell: Small .STACK 100h ;Stackgrösse auf 256 Byte .DATA ;Beginn des Datensegmentes Meldung DB "Hallo Welt$" ;Unsere Meldung .CODE ;Beginn des Codesegmentes Start: mov ax,@data ;Datensegmentadresse nach ax mov ds,ax ;Inhalt von AX nach DS mov dx,OFFSET Meldung ;Offsetadr. nach dx mov ah,09h int 21h ;Schreibe String mov ah,4Ch int 21h ;Programm beenden END Start
Meldung:
error A2006: undefined symbol : DGROUPDas ist der Beispielcode aus einem Assembler Buch. Jedoch wird dort nur Dos beschrieben fürn Einstieg. Denk da könnt der Fehler liegen^^. Nur wie bring ich das auch für XP zum laufen.
Zum Compiler verwend ich den mitgeliegerten Compiler von Microsoft Visual Studio 2005.
MASM Macro Assembler Version 8.00.50727.42.Um den Code zu Compilieren oder Assimiliere
Hab ich mich in MASM Verzeichnis vegeben begeben.
Un mit ml /c <Verzeichnis>\hallo.asm eingegeben zum AssimilierenJo hier bin ich nu kA wie weida:D
Wär nett wenn mir jemand Starthilfe geben könnte
Gruss Chubbs
-
Du benutzt den MASM Macro Assembler Version 8.00.50727.42. der erstellt Dir per default Objektdateien im COFF - Format.
Deinen 16-Bit Assemblerquelltext solltest Du ins damals übliche OMF - Format assemblieren.
(ml /omf generate OMF objekt file)
Die Befehlszeile: ml/omf hallo.asm assembliert dann fehlerfrei.
Im Internet gibs kostenlos 16-Bit Linker, die Dir aus hallo.obj eine hallo.exe machen, die dann auch unter Windows-XP läuft.MfG
-
Hier gibts den Microsoft 16-Bit Linker von 1994!
http://www.gaby.de/ftp/pub/win3x/archive/softlib/lnk562.exe
-
Vielen Dank funktioniert einwandfrei.
So nun ein weiteres Problem.
.MODEL Tiny ;Com-Datei-Speichermodell .Code ;codesegment ORG 100h ;Start-Offsetadresse Start: mov ah,09h mov dx,OFFSET Frage int 21h ;Frage antzeigen mov ah,07h ;DOS Funktionsnummer int 21h ;Zeichen in AL einseen cmp al,"j" :wurde j gedrückt? je Ja1 ;Wenn j gedrückt cmp al,"J" ;wurde J gedrückt jne Ende ;wenn nein: Springe zu Ende Ja1: int 19h ;System booten! Ende: mov ah,09h mov dx,OFFSET NeinTxt int 21h ;Neixt ausgeben! mov ah,4Ch ;Fkt. Prg. beenden; int 21h ;Programm beenden! Frage DB 10,13,"System Booten? (j/n) $" ;Daten NeinTxt DB 10,13,"Aktion abgebrocken! $" END Start
Dieser Code soll keine exe programm mehr erstellen, sondern eine Com programm
Dies ist immernoch ein beispielcode aus einem buch mit den gleichen vorraussetzungen die ich beim ersten beitrag erwähnt habe.Laut buch sollte ich diesen code folgendermassen assimilieren
ml /c /AT dateiname.ext
dann
link/t dateiname
für ich den ersten befehl aus erscheint folgende meldung.
../reb.asm(11) : error A2044: invalid character in file
..reb.asm(26) : warning A4023: with /coff switch, leading unders
core required for start address : Startzu testzwecken hab ich die zeile 11 auskommentiert und da lässt sich es assimilieren jedoch mit dem von euch erwähntem weg über den linker nich linken:D
naja hoffe das ihr versteht was ich meine;D