"Assembler - Maschinennahes Programmieren von Anfang an" (mit Windows) - Rowohlt Verlag - Reiner Backer



  • moin!

    ich hätte da mal 2 Fragen:

    1. Warum sehen die Codes, die im Internet sehe alle ganz anders aus, als das 1. Programm von dem Buch(s. Titel):
      Da sind irgendwie immer Punkte vor vielen Wörtern, in dem Buch net.
      Der Buch Code sieht so aus:
    DATEN   SEGMENT
    Meldung db "Assembler ist leicht!"
            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
    
    1. Nasm und masm melden viele Fehler bei dem Code( wie gesagt habe ihn aus dem Buch abgetippt und 3.mal kontrolliert)

    DANKE
    und sry falls die Fragen schon 20. mal gefragt wurden, ich habe sie durch die Suche nicht finden können.



  • Hi.

    Tja, das ist eben TASM-Syntax. Die versteht weder der MASM noch der NASM.



  • ahhhhhhhhhhhhhh
    Danke hatte dann woll was im Buch flasch verstanden.
    thx



  • Moin KILLSMAKER,

    leider irrt Nobuo T hier teilweise. Das obige Programm läßt sich auch mit MASM übersetzen(aber nicht mit NASM).

    Das Du Fehlermeldungen bekommst, wenn Du MASM benutzt, liegt nicht am Assembler sondern am Linker. MASM ruft den Linker automatisch auf. Der Linker jedoch, der dem MASM-Paket beiliegt, ist ein 32-Bit-Linker, kann also nicht (in Worten: nicht) DOS-Exe erzeugen!!!!

    Wenn Du mit MASM DOS-Programme erstellen möchtest, dann brauchst Du einen 16-Bit-Linker. Benutze mal die Suchfunktion (MASM, Linker, o.ä.) für den Assembler-Abschnitt. Es gibt schon einige Threads mit Hinweisen, wo der 16-Bit-Linker im Netz zu finden ist.

    Das Programm übersetzt Du dann mit ml /c DeinProgramm.asm

    Die Option /c unterbindet das automatische Starten des Linkers. Dann rufst Du den 16-Bit-Linker von Hand auf(mit entsprechenden Optionen, je nach benutztem Linker).

    [NACHTRAG]

    Unter http://www.c-plusplus.net/forum/viewtopic-var-t-is-93353.html ist eine Beschreibung bezüglich des 16-Bit-Linkers enthalten.

    Ciao...



  • Cool.
    Trotzdem Danke an Euch BEIDEN!!!
    thx


Anmelden zum Antworten