Hexadezimaler Dump-Modus für Drucker

Drucker können zur Plage werden, wenn keine Emulation so richtig funktioniert oder man sich selbst eine Druckeranpassung schreiben möchte, aber das Handbuch fehlt. Viele Drucker haben zwar die Möglichkeit des »Hex-Dump«-Ausdrucks integriert, es gibt jedoch noch genug ältere Modelle, die diesen Luxus nicht kennen. Unsere kurze Routine PRNDUMP.DEB verhilft auch diesen zu der begehrten Fehlersuchhilfe. Nach der Eingabe »PRNDUMP« sorgt das speicherresidente Utility dafür, daß der Drucker jedes an ihn gesandte Zeichen hexadezimal ausdruckt. Jede Zeile nimmt dabei 20 Zeichen auf. Ein erneuter Aufruf schaltet den »DUMP«-Modus wieder ab.

Name: PRNDUMP.DEB
Funktion: Veranlaßt den Drucker sämtliche Ausgaben hexadezimal zu drucken.
Übersetzung: DEBUG <PRNDUMP.DEB
Prüfsumme: B421
Anwendung: PRNDUMP
Einschränkungen: ./.
A
MOV DX,1A6          ;100
CALL 12F            ;103
MOV AX,3517         ;106
INT 21              ;109
MOV DX,148          ;10B
CMP BX,DX           ;10E
JNZ 133             ;110
MOV DX,199          ;112
CALL 12F            ;115
ES:LDS DX,[17A]     ;118
MOV AX,2517         ;11D
INT 21              ;120
CALL 12A            ;122
ES:MOV ES,[2C]      ;125
MOV AH,49           ;12A
INT 21              ;12C
RET                 ;12E
MOV AH,9            ;12F
JMP 12C             ;131
MOV [17A],BX        ;133
MOV [17C],ES        ;137
MOV AX,2517         ;13B
INT 21              ;13E
MOV DX,19C          ;140
CALL 12F            ;143
INT 27              ;146
CMP AH,0            ;148
JNZ 179             ;14B
CS:DIV By[197]      ;14D
CS:MOV [15B],AH     ;152
CALL 17E            ;157
MOV AL,0            ;15A
CALL 17E            ;15C
CS:DEC By[198]      ;15F
MOV AL,20           ;164
JNZ 175             ;166
MOV AL,D            ;168
CALL 186            ;16A
MOV AL,A            ;16D
CS:MOV By[198],14   ;16F
CALL 186            ;175
IRET                ;178
JMP 0:0             ;179
ADD AL,30           ;17E
CMP AL,39           ;180
JBE 186             ;182
ADD AL,7            ;184
MOV AH,0            ;186
PUSHF               ;188
CS:CALL FAR [17A]   ;189
TEST AH,A9          ;18E
JZ 12E              ;191
ADD SP,2            ;193
IRET                ;196
DB 10,14,"disaktiviert"
DB "$Dump-Modus $"

RCX
B2
NPRNDUMP.COM
W
Q

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