On 10.09.15 20.02, Wolfgang Fieg wrote:
> Nach Installation von MS-DOS 6.00 und 6.22 habe ich ein altes
> DOS-Programm (Ahston Tate's Framework IVI installiert. Bei Aufruf des
> Programms wird es nicht gestartet; statt dessen erscheint die
> Fehlermeldung "Überlauf bei Division". Was kann die Ursache sein? Ein
> falscher oder fehlender Eintrag in der CONFIG.SYS?
Mal so ins Blaue:
Vermutlich mit Borland C compiliert. Da gab einen Fehler in der C
Runtime in einer Routine, die die CPU-Geschwindigkeit in Schleifen
ermittelt. Da wird einfach bis zu einer bestimmten Zahl gezählt und die
Zeit gestoppt. Auf schnellen CPUs gibt es aber während der gesamten
Schleife keinen einzigen Timer-Interrupt und so ermittelt die Funktion
einer Dauer von null. Bei der anschließenden Berechnung der Anzahl der
Schleifendurchläufe pro Sekunde wird dann durch null dividiert. Kurzum,
auf neueren Rechnern, bei denen der loop-Befehl schnell ist, geht das in
die Hose.
Falls es das ist: dafür gibt es einen binären Patch, der im wesentlichen
darin besteht durch 1 statt durch null zu dividieren. Das Ergebnis ist
natürlich trotzdem falsch bzw. stark ungenau, aber das hat zumeist keine
Auswirkungen.
Marcel