Die ersten zwei Zeichen eines Strings müssen weg...



  • Guten Tag Freunde!

    Bevor ich was sage erst mal der Code:

    PRINT MACRO STRING ;Macro zur Ausgabe von
                       ;"$"-terminierten Zeichenketten
    MOV AH, 09H
    MOV DX, OFFSET STRING
    INT 21H
    ENDM
    .MODEL HUGE
    .DATA
    BUF DW 85H DUP(24H) ;mit "$"-Schlusszeicehn füllen
    RETURN DW 10,13,"$" ;ein Absatz
    .STACK
    .CODE
    .STARTUP
    PRINT RETURN
    MOV AH, 0AH         ;Buffered Input
                        ;(Hab ich aus R. Brown's Interrupt-Liste)
    MOV DX, OFFSET BUF
    INT 21H
    MOV BUF, 2020H ;die ersten beiden Bytes von BUF
                   ;(die Zeigen an wie viel gelesen werden soll
                   ;und wieviel gelesen wurde)
                   ;mit Leerzeicehn überschreiben
    PRINT RETURN
    PRINT RETURN
    PRINT BUF      ;BUF ausgeben *
    PRINT RETURN
    .EXIT
    END
    ; * Geht, da BUF "$"-terminiert ist, obwohl
    ;   die Funktion "Buffered Input" kein 
    ;   "$"-Schlusszeicehn an die Zeichnkette anhängt
    ;   (siehe Definition von BUF)
    

    Aus dem Code dürfe jedem, der mir helfen kann, klar sein worum es geht.

    Jetzt das Probelm:
    Wie kann ich die ersten beiden Zeichen von BUF entfernen, damit die eingegebene Zeichenkette nicht versetzt ausgegeben wird?



  • Hoffe diese doch sehr kurze Antwort macht klar, was gemeint ist:
    PRINT Buf+02h
    Also Offset von Buf + 2 ausgeben, dann werden die ersten 2 Zeichen uebersprungen.


Anmelden zum Antworten