Problem mit ASM
-
Hi Leute
Ich bin neu in der Programmierung in ASM und hab schon mein erstes Problem mit dem Compilieren des Programms.
Ich benutz FASM mit dem Editor von FASM und möchte das Programm erstellen:DATA SEGMENT text db "Hallo Welt" db "$" ENDS DATA CODE SEGMENT ASSUME CS:CODE, DS:DATEN Anfang: mov ax, DATA mov ds, ax mov dx, offset text mov ah, 9 int 21h mov ah, 4Ch int 21h CODE ENDS END Anfang
Es kommt aber ein Fehler:
ERROR: illegal instruction Intstruction: DATA SEGMENT
Ich benutz das Buch: Assembler: Maschinennahes Programmieren von Anfang an.
WEiß jemand was ich falsch mache?
-
das Programm ist für MASM (16bit,DOS) geschrieben - du musst den Syntax an FASMs anpassen. Bei Problemen am besten im offiziellen FASM-forum fragen/suchen.
-
wie masm schreibt...oder auch mal die Dokumentation und die Beispiele von Fasm (für Dos) lesen. Das Hello World Beispiel sieht dort zum Beispiel so aus:
; fasm example of writing simple EXE program format MZ push cs pop ds mov ah,9 mov dx,hello int 21h mov ax,4C00h int 21h hello db 'Hello world!',24h
Anfängern möchte ich aber dringend raten, die 16bit-Beispiele aus dem Buch erstmal nach Debug-Syntax zu übersetzten.
( Tut von Prof.Dr.H.Weber: http://swlx01.hs-esslingen.de/vorl/rt2/debug.pdf )