hilfe bei assembler programm



  • Moin,

    Ich habe hier ein kleines problem mit dem Assembler (TASM 5.0)

    Ich habe das Beispiel aus einem buch abgetippt und muss wohl irgendwas falsch gemacht haben.

    DATEN SEGMENT
    
    Meldung db "Hallo Welt."
    	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
    

    Fehlermeldung: **FATAL** asm1:ASM(27) Unexpected end of file encountered

    Also ich glaube das ich es richtig abgetippt habe, entweder das buch lügt oder ich bin blind.

    gruß



  • Bei mir ist die Datei ohne Probleme durchgelaufen.
    Mein Vorgehen:
    Text aus Browser kopiert, in Notepad gepastet, gespeichert und "TASM 888.asm" gestartet.

    Also:
    Hast du auch wirklich den richtigen TASM (den von Borland) aus einer halbwegs serioesen Quelle?
    Benutzt du evtl. einen Editor, der Zeilenumbrueche nicht im DOS-Format speichert?
    Was hast du denn in der Konsole zum Assemblieren eingetippt?



  • Ah mist, das Problem lag daran das ich das ding als "unicode" gespeichert habe, nun als ANSI geht es!

    Danke vielmals!



  • so habe es nun mit "tlink asm1" gelinkt, das fenster geht nun auf und zu, erinnert mich irgendwie an das problem das ich damals bei C++ hatte 😉

    wie löst man das den beim assembler?



  • Ach noch eine frage:

    Wo finde ich das Protokoll des Compilers?/Linkers? diese programmname.lst datei.

    Legt der TASM das überhaupt an?

    Gruß

    PS: Eckmeckmuffin bin ich, hab nicht gemerkt das ich nicht eingeloggt war und nur gewundert das die einen Benutzernamen haben wollen.



  • DATEN SEGMENT 
    
    Meldung db "Hallo Welt." 
        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, 1h
        int 21h
        mov ah, 4Ch 
    
        int 21h 
    
    CODE ENDS 
    
    END Anfang
    

    Die Funktion 1h des interrupts 21h wartet auf eine tastatur eingabe also sollte sich das prog nicht mehr gleich beenden.


Anmelden zum Antworten