Baudrate in DOS ermitteln

Mit dem DOS-Befehl MODE können Sie unter anderem die Parameter der seriellen Schnittstellen festlegen. Eine Möglichkeit, die aktivierte Übertragungsrate später wieder auszulesen, gibt es allerdings bisher nicht. BAUD.DEB schafft hier Abhilfe. Das Programm ermittelt über die als Parameter angegebene Nummer und die BIOS-Tabelle an Adresse 40h:0 die Basisadresse der gewünschten Schnittstelle. Anschließend liest BAUD aus dem Datenübertragungschip das »Divisor«-Register aus, das die Baudrate festlegt. Diesen Wert rechnet das Programm in die aktivierte Übertragungsgeschwindigkeit um und zeigt das Ergebnis an.

Name: BAUD.DEB
Funktion: Ermittelt die aktivierte Baudrate einer seriellen Schnittstelle.
Übersetzung: DEBUG <BAUD.DEB
Prüfsumme: 65A3
Anwendung: BAUD # # = Schnittstellen-Nummer (1 – 4)
Einschränkungen: ./.
A
MOV SI,[5D]         ;100
DEC SI              ;104
AND SI,3            ;105
ADD SI,SI           ;109
MOV DS,AX           ;10B
MOV DX,[SI+400]     ;10D
AND DX,DX           ;111
JZ 157              ;113
ADD DX,3            ;115
IN AL,DX            ;118
OR AL,80            ;119
OUT DX,AL           ;11B
SUB DX,2            ;11C
IN AL,DX            ;11F
MOV AH,AL           ;120
DEC DX              ;122
IN AL,DX            ;123
MOV CX,AX           ;124
JCXZ 157            ;126
MOV DX,1            ;128
MOV AX,C200         ;12B
CALL 14A            ;12E
MOV CX,A            ;131
CALL 14A            ;134
PUSH BX             ;137
MOV BX,AX           ;138
OR BX,DX            ;13A
JZ 141              ;13C
CALL 134            ;13E
POP DX              ;141
ADD DL,30           ;142
MOV AH,2            ;145
INT 21              ;147
RET                 ;149
MOV BX,AX           ;14A
MOV AX,DX           ;14C
XOR DX,DX           ;14E
DIV CX              ;150
DB 93
DIV CX              ;153
XCHG BX,DX          ;155
RET                 ;157

RCX
58
NBAUD.COM
W
Q

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