Developpez.com - Pascal
X

Choisissez d'abord la catégorieensuite la rubrique :

 

Erreur 200 : Division par zéro

Par Hugo ETIEVANT

Nombreux sont ceux d'entre vous qui ont eut un grave pépin avec le compilateur Turbo Pascal. En effet, l'excécution d'un programme utilisant l'unité Crt provoque un bug chez les ordinateurs récents du type Pentium III. L'erreur observée est la suivante : Error 200 : division by zero.

Mais d'où vient cette erreur ?

Les nouveaux microprocesseurs sont devenus incompatibles avec les opérations de bas niveau écrites dans l'unité Crt (fichier CRT.TPU). En effet, les instructions de cette unité traitent l'heure système dont le codage sur le microprocesseur a changé dans les récents modèles d'ordinateurs.

Comment y remédier ?

Pour pouvoir utiliser de nouveau l'unité Crt dans vos programmes, il vous faut soit changer quelques fichiers propres au compilateur soit appliquer un patch à chacun de vos programmes compilés avant de pouvoir les exécuter normalement. Notez que la compilation du programme ne provoque aucune erreur, c'est seulement son exécution qui provoque cette erreur de division par zéro.

Où se procurer un patch ?

Sur le site web de Borland (éditeur du compilateur Pascal le plus répandu), ou sur beaucoup d'autres sites que vous trouverez en effectuant une courte recherche dans un moteur. Par exemple sur AltaVista.com, faites la recherche "Crt+patch" et télécharger les patchs proposés sur les sites trouvés par le moteur de recherche.

Télécharger les patchs :

Ces patchs étants freeware, le CyberZoïde est autorisé à vous les proposer en téléchargement. Vous avez deux types de patch à votre disposition, n'en utilisez qu'un seul.
Le premier patch : patch1.zip contient un fichier à copier dans le répertoire /BIN de votre compilateur puis à compiler. Les prochains programmes que vous compilerez n'auront alors plus aucun problème et s'exécuteront normalement.
Le second patch : patch2.zip contient toutes les explications techniques détaillées (en anglais) sur l'unité Crt ainsi qu'un programme à exécuter en lui envoyant en paramètre votre programme compilé. Ce dernier sera modifié et marchera très bien. L'inconvénient de ce patch, c'est qu'il faut l'exécuter sur chaque programme que vous fabriquez, c'est chiant mais j'ai pas réussi à faire marché l'autre !
Attention : ces patchs sont de leur auteurs respectifs, l'utilisation que vous en ferez est à vos risques et périls.

Voici quelques liens intéressants sur le sujet :

http://support.intel.com/support/processors/pentiumII/run200.htm
http://www.inprise.com/devsupport/pascal/
http://www.pro-desk.com/inside/special/error200.htm

Responsables bénévoles de la rubrique Pascal : Gilles Vasseur - Alcatîz -