Asm programm Fehler



  • Hey Leute
    bin Asm Anfänger und quäle mich amal durch die H-World Programme... nur ich werde zeitweise mit Fehlern überschüttet.

    Hier mein Problem:

    segment code
    start:
    mov ax, data
    mov ds, ax
    mov dx, hello
    mov ah, 09h
    int 21h
    mov al, 0
    mov ah, 4Ch
    int 21h
    segment data
    hello: db "Hello World!", 13, 10, "$"
    

    Der Compiler:

    C:\PROGRA~1\NASM>nasm hworld.asm -fbin -o hworld.exe
    hworld.asm:3: error: symbol `data' undefined

    Hab scon mehrere Male verusucht zu kompileren ist aber immer die gleiche Fehlermeldung gekommen.

    ICh bedank mich scho mal für eure Hilfe und freu mich auf eure Antworten 😃
    😃 😃

    greetz



  • Da stimmen mehrere Dinge nicht.
    Vielleicht solltest du dich erstmal entscheiden, was du ueberhaupt programmieren willst. Soll das eine .com-Datei werden (kannst du direkt mit NASM ohne Linker erstellen) oder eine .exe-Datei (dazu musst du mit NASM zunaechst eine .obj-Datei erstellen und daraus dann mit einem Linker eine .exe-Datei)?



  • Hey Nobuo T
    thx für deine Antwort. Zu meinem Problem:
    hab diesen source aus dem wikipedia tut

    http://de.wikibooks.org/wiki/Assembler_(80x86_Prozessor)-Programmierung:_Das_erste_Assemblerprogramm

    nur irgendwie funzt das bei mir nicht

    Im Endeffekt will ich eine exe datei draus machen...



  • Ah, I see.
    Dazu bleibt eigentlich nur zu sagen:
    Ist zwar vielleicht nicht ganz sauber (gibt Warnungen beim Linken), aber wenn du dich genau an das haeltst, was in dem Artikel steht, sollte alles funktionieren.



  • Hallo,
    Ich hatte mein erstes Hallo Welt Programm mit Nasm nach dem Text von den
    Internetseiten von Erhard Henkes ausgerichtet - Wie übrigens auch ein kleines
    Experiment mit Bochs...hat alles gut funktioniert. Die Seiten enthalten nicht viel, aber dennoch sehr merkwürdigen Asmcode und sind allgemein gut verständlich.
    Das einzige was bei mir nicht lief, war das erste Betriebssystemimage für Bochs, aber das lag an den Grml-Images, bei denen läuft wohl öfter so einiges nicht.

    Man kann kleine Assemblercodes relativ problemlos und schnell mit der vielseitigen Windowsentwicklungsumgebung Debug ausprobieren-sofern man an einem Windowsrechner sitzt. Mit etwas mehr Erfahrung mit den Grundlagen merkst du schnell, das viele Probleme aus einem Wirrwar von Assemblersyntaxunterschieden
    kommen.



  • piscosterr schrieb:

    Hey Nobuo T
    thx für deine Antwort. Zu meinem Problem:
    hab diesen source aus dem wikipedia tut

    http://de.wikibooks.org/wiki/Assembler_(80x86_Prozessor)-Programmierung:_Das_erste_Assemblerprogramm

    nur irgendwie funzt das bei mir nicht

    Im Endeffekt will ich eine exe datei draus machen...

    Du musst

    segment .data schreiben // beachte den .
    

    nicht

    segment data // ohne punkt
    

    Gruß freeG


Anmelden zum Antworten