PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Assembler: error: expression syntax error



Pr0g4mer
11.02.2010, 13:07
Hey,
also wie ja einige von euch wissen bin ich am Reverse Engineering lernen.
Momentan bin ich noch am Lernen von Assembler. Da hab ich aber grad folgendes Problem:


org 100h
start:
mov dx,hello_world
mov ah,09h
int 21h
mov al, 0
mov ah,4Ch
int 21h
section.data
hello_world: db ’hello, world’, 13, 10, ’$’

Diesen Code hab ich aus dem Wikibook Assembler Kopiert und in eine Textdatei gespeichert. Anschließend die Endung der Text datei geändert und dann in der Cmd folgendes eingegeben.

C:\Programme\NASM>nasm a.asm -f bin -o a.com

Jedoch erstellt er keine a.com sondern er gibt mir ständig folgende Fehlermeldung aus:
a.asm:10: error: expression syntax error

Ich weis das das bestimmt irgendwas sau einfaches ist was da falsch ist, aber da ich keine Ahnung von Assembler habe, weis ich halt nicht was da falsch ist.

Wäre nett wenn jemand helfen könnte

blackberry
11.02.2010, 13:15
hello_world: db "hello, world", 13, 10, "$"

Dein Beispiel benutzt merkwürdige Anführungszeichen.

Karlito
11.02.2010, 13:52
Na die Anführungszeichen kann man ja auch durch das Hockomma ersetzen, geht in manchen Sprachen.
Der Fehler liegt glaube nicht am Quelltext, ist ja immerhin kopiert...
Meine Theorie ist das der Fehler bei der Erstellung liegt, überprüfe nochmal die einzelnen Schritte.
Wasfür eine Endung hast du der Datei gegeben?

Pr0g4mer
11.02.2010, 13:54
nee es lag wirklich an den ' , ich hatte meiner Quelldatei die Endung .asm gegeben und der Compilierten datei .com
DAnke für eure Hilfe

blackberry
11.02.2010, 16:00
Na die Anführungszeichen kann man ja auch durch das Hockomma ersetzen, geht in manchen Sprachen.

Bei NASM kann man wirklich sowohl einfache (' ASCII 0x27), wie auch doppelte (" ASCII 0x22) Kommata benutzen.

Das oben aufgeführte Zeichen ist jedoch ASCII 0x92 und somit keins von beiden.