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.