CR/LF in DOS korrigieren

Wenn Sie viel mit Datenfernübertragung zu tun haben, kennen Sie das Problem: Beim »Downloaden« von Texten, speziell beim Datenaustausch zwischen DOS- und Unix-Rechnern, stimmen häufig die CR/LF-Folgen (Carriage Return, ASCII 13/Line Feed, 10) nicht mehr, weil UNIX als Zeilentrennung nur einen Zeilenvorschub (LF) sendet. Der reicht aber zum Anzeigen mit TYPE oder zur Weiterverarbeitung mit einem Texteditor nicht aus – die Texte sind kaum lesbar. Unser Filter CRLF.DEB generiert aus jedem beliebigen »Schrott« in dieser Hinsicht eine »saubere« Datei, indem es CRs und LFs zu exakten Zeilenvorschüben unter DOS umformt. Beinhaltet ein Text z. B. nur CRs oder nur LFs, expandiert CRLF diese jeweils zu einer für DOS verständlichen Kombination aus CR und LF. Außerdem werden Folgen wie CR/LF/LF zu zweimal CR plus LF abgewandelt. Der Text ist jetzt wieder so, wie ihn der Verfasser geschrieben hatte.

Name: CRLF.DEB
Funktion: Filter zum Berichtien von Wagenrücklauf- und Zeilenvorschub-Folgen.
Übersetzung: DEBUG <CRLF.DEB
Prüfsumme: 4ACC
Anwendung: z. B. CRLF <Originaloder CRLF <Original >Kopie Original: eine nicht korrigierte Textdatei

Kopie: die korrigierte Kopie des Originals

Einschränkungen: ./.
A
MOV DL,FF           ;100
CALL 13F            ;102
JZ 143              ;105
CMP AL,D            ;107
JZ 11B              ;109
CMP AL,A            ;10B
JZ 11B              ;10D
MOV DL,AL           ;10F
MOV By[144],0       ;111
CALL 13F            ;116
JMP 100             ;119
CMP By[144],0       ;11B
JZ 12E              ;120
CMP AL,[144]        ;122
JZ 12E              ;126
DEC By[145]         ;128
JNZ 100             ;12C
MOV [144],AL        ;12E
MOV By[145],2       ;131
MOV DL,D            ;136
CALL 13F            ;138
MOV DL,A            ;13B
JMP 116             ;13D
MOV AH,6            ;13F
INT 21              ;141
RET                 ;143
DW 0

RCX
46
NCRLF.COM
W
Q

Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot