Erstes Programm, erstes Problem



  • Hallo zusammen,
    Wie schon der Titel schlagkräftig aussagt, wollte ich mein erstes Hallo Welt Programm in Assembler schreiben. Natürlich hat das wie schon so oft nicht geklappt. Assemblieren lässt sich der Code zwar, doch linken lässt er sicht nicht.
    Folgende Fehlermeldung erschteint auf dem Bildschirm:

    LINK : warning LNK4044: unrecognized option "z2"; ignored
    LINK : error : Segment reference in fixup record
    hallo.obj : fatal error LNK1123: failure during conversion to COFF: file invalid
    or corrupt

    Ich benutze masm32 in der Version 7.

    Gruss Newbie



  • na dann schreib doch mal den quelltext hier hin, ich kenn mich zwar mit Masm nicht aus, aber die sind ja alle ähnlich



  • Daten SEGMENT
    MELDUNG DB "Hallo Welt","$"
    DATEN ENDS

    STAPEL SEGMENT BYTE STACK
    DW 128 DUP (?)
    STAPEL ENDS

    CODE SEGMENT
    ASSUME CS:CODE,DS:DATEN,ES:NOTHING,SS:STAPEL

    START: MOV AX,DATEN
    MOV DS,AX
    MOV DX,OFFSET MELDUNG
    MOV AH,9H
    INT 21H
    MOV AH,4CH
    INT 21H
    CODE ENDS
    END START



  • hmmmm, ich kann da keinen fehler finden, zumindest im asmbereich, den rest kenne ich nicht, da ich nur mit tasm & debug arbeite/spiele *g*

    hier noch mal das beispiel als comdatei:
    ANFANG
    DOS konsole öffnen
    debug
    a100
    jmp 110

    e 102 'Hallo Welt!' 0d 0a '$'
    a110
    mov ah,09
    mov dx,102
    int 21
    mov ah,4c
    int 21

    n hallo.com
    rcx
    001b
    w
    q
    ENDE

    so, nach jeder zeile enter drücken, wenn eine zeile leer ist, heißt das nur enter, also 2mal enter hintereinander *g*
    das programm hallo.com ist dann in dem verzeichnis in dem du debug aufgerufen hast und ist schön klein, nämlich nur 27 bytes (nicht kilobytes)!!

    [ Dieser Beitrag wurde am 21.09.2002 um 19:01 Uhr von Netspider editiert. ]



  • benutz mal nen 16- bit assembler und nicht 32- bit


Anmelden zum Antworten