Überlauf bei Division

10/09/2015 - 20:02 von Wolfgang Fieg | Report spam
MS-DOS 6.00 und 6.22

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?

Vielleicht kann jemand helfen.

Wolfgang
 

Lesen sie die antworten

#1 Marcel Mueller
10/09/2015 - 22:21 | Warnen spam
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

Ähnliche fragen