Strings verketten



  • Hi!

    Also: Ich habe zwei Strings:

    A db "Hallo",""Bdb"HuHu!","" B db "HuHu!",""

    Wie kann ich die zusammenketten, damit ich sie in

    C db 14 DUP(20H)

    speichern kann?



  • aehm. Das musst du jetzt doch mal etwas genauer erklaehren: was meinst du mit zusammenketten?
    Soll da "HalloHuHu!HuHu!" bei rauskommen, oder "HalloHuHu!" oder was? 😕
    Na egal. fuer ersteres musst du einfach den Speicherbereich der beiden Strings kopieren. Schoen einfach, da praktisch im Speicher bereits genau "HalloHuHu!HuHu!" steht, wenn du die beiden Variablen direkt hintereinander schreibst.
    Beispiel code:
    mov si,offset A
    mov di,offset C
    mov cx,000Ch ;der String ist insgesamt 12 Zeichen lang.
    rep movsb ;kopieren

    Variante 2 ist auch nicht viel schwieriger:
    mov si,offset A
    mov di,offset C
    mov cx,0005h ;ohne das ""iststringA5Zeichenlangrepmovsb;kopierenincsi;das"" ist string A 5 Zeichen lang rep movsb ;kopieren inc si ;das "" uebersprungen, jetzt zeigt si auf den Anfang von B
    mov cx,0005h ;b ist genau so lang, wie a
    rep movsb ;kopieren

    Hoffe, das war das, was du gemeint hast.

    PS: Wirf doch mal einen Blick in die Tutorialsammlung in der FAQ 😉


Anmelden zum Antworten