Prüfsumme in DOS berechnen

Wie in unserem Kapitel »Eingabehinweise« versprochen, zeigen wir Ihnen hier ein Programm zur Errechnung einer Prüfsumme von beliebigen Dateien. Mit diesem Filter haben wir sämtliche in diesem Buch abgedruckten Prüfsummen berechnet. Haben Sie einen Tip eingegeben und mit dem Debugger übersetzt, so können Sie mit »CHKSUM <PROGRAMM.COM« überprüfen, ob das .COM-Programm fehlerfrei ist. Unterscheidet sich Ihr Wert von dem abgedruckten, sollten Sie die von Ihnen abgetippte Textdatei nochmals sorgfältigst auf Fehler durchsuchen. Können Sie keinen Fehler entdecken, ist es auch möglich, die Kommentare am Ende jeder Zeile mit der Adreßangabe des Debuggers zu Beginn der Zeile, nach dem Doppelpunkt, zu vergleichen. Stoßen Sie in einer Zeile auf eine Abweichung, so enthält sehr wahrscheinlich die vorhergehende Zeile den Fehler. <–more–> Unser Filter CHKSUM.DEB multipliziert den Code jedes über die Standardeingabe kommenden Zeichens mit seinem Stellenwert und gibt das 16-Bit-Ergebnis vierstellig hexadezimal auf dem Bildschirm aus.

Name: CHKSUM.DEB
Funktion: Gibt die vierstellige hexadezimale Prüfsumme einer beliebigen Eingabe auf dem Bildschirm aus.
Übersetzung: DEBUG <CHKSUM.DEB
Prüfsumme: A637
Anwendung: CHKSUM <Datei
Einschränkungen: Dauert umso länger, je größer die zu checkende Datei ist.
A
INC By[137]         ;100
JZ 100              ;104 
MUL By[137]         ;106
ADD [135],AX        ;10A
MOV DL,FF           ;10E
MOV AH,6            ;110
INT 21              ;112
JNZ 100             ;114
MOV CX,4            ;116
MOV AX,10           ;119
MUL Wo[135]         ;11C
MOV [135],AX        ;120
ADD DL,30           ;123
CMP DL,39           ;126
JBE 12E             ;129
ADD DL,7            ;12B
MOV AH,2            ;12E
INT 21              ;130
LOOP 119            ;132
RET                 ;134
DB 0,0,FE

RCX
38
NCHKSUM.COM
W
Q

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