Error 200 Division By Zero In Pascal
the CRT.ASM unit included with these compilers. DOS based programs that were compiled using these buggy versions of the CRT unit will generate the RTE200 error when started on a CPU that runtime error 200 dos is faster then 200 Mhz (though some non-Intel CPU's would avoid the error up to 350 Mhz). tp7p5fix One solution is to recompile the source code using a later version of Pascal, or a fixed CRT.ASM unit. Obviously that's only possible if zero tsum tsum you have the source code available. The more common solution is to patch the .EXE file to disable the bug. There are several programs that allow this. The one I recommend is PatchCRT by Kennedy Software. This one is more compatible then most others, including TPPatch (which is less effecent, and uses German results and error text). I'd suggest keeping PatchCRT.exe in your path, so that you can run it from any directory simply by typing it followed by the name of the .EXE to be patched. PatchCRT will only be able to patch .EXE files which have not been compressed by an EXE compressor, such as aPACK, Diet, LZEXE, PKLite, Petite, UPX, etc. If PatchCRT fails to patch the .EXE, there is a good chance it is because the .EXE has been compressed. The best tool I have found to uncompress .EXE files is UNP. This has worked for about 80% of the compressed .EXE files I have encountered. The nice thing about UNP is it runs well under Windows. My second choice would be CUP386, but this works best in a plain DOS environment without any extended memory manager (including himem.sys or emm386.sys) installed. I have used this tool to uncompress several .EXE's which UNP was unable to do. Once you have sucessfully uncompressed a compressed .EXE file, you should then be able to run PatchCRT on it to remove the RTE200 bug. If all the above fails, the other option is to run a TSR (Terminate and Stay Resident) utility that will provide a kluge to the division by zero issue by catching this error as the .EXE is being run, and telling DOS to ignore it. The best TSR I have found to do this is TP7p5fix. Simply run the TP7P5.EXE to load the TSR into memory, and any programs being run in that DOS window will avoid the RTE200. Keep in mind that once you close this DOS Window, or open other DOS Windows the TSR will not be active unless you load it again. Be sure to read our Disclaimer Return to the EleBBS FAQ Copyright © 2000 - 2006 pc micro systems, inc.
these compilers when run on a Pentium-class computer faster than about 180mhz. Borland (now Inprise) has no officially-supported fix for this but several unofficial fixes have appeared on various Pascal programming forums and newsgroups. Some are to patch the CRT unit in your compiler (so you can produce programs free of the problem) and others are programs to patch executable programs that have the problem (in which case you do not need the source code or the means to re-build the problem http://www.pcmicro.com/elebbs/faq/rte200.html program). A patcher for existing problem programs written by AndreasBauer
Categories 141.8K All Categories104.8K Programming Languages 6.4K Assembler Developer 1.9K Basic 39.9K C and C++ 4.3K C# 7.9K Delphi and Kylix 4 Haskell 9.6K Java 4.1K Pascal 1.3K Perl 2K PHP 524 Python 37 Ruby 4.4K http://www.programmersheaven.com/discussion/17674/error-200-division-by-zero VB.NET 1.6K VBA 20.8K Visual Basic 2.6K Game programming 312 Console programming 89 DirectX Game dev 1 Minecraft 110 Newbie Game Programmers 2 Oculus Rift 9K Applications 1.8K Computer Graphics 732 Computer Hardware 3.5K Database & SQL http://yosiesteban.blogspot.com/2010/12/error-200-division-by-zero.html 526 Electronics development 1.6K Matlab 628 Sound & Music 257 XML Development 3.3K Classifieds 198 Co-operative Projects 189 For sale 190 FreeLance Software City 1.9K Jobs Available 601 Jobs Wanted 201 Wanted 2.9K Microsoft .NET 1.7K error 200 ASP.NET 1.1K .NET General 3.3K Miscellaneous 5 Join the Team 0 User Profiles 354 Comments on this site 62 Computer Emulators 2.1K General programming 187 New programming languages 613 Off topic board 177 Mobile & Wireless 51 Android 124 Palm Pilot 335 Multimedia 151 Demo programming 184 MP3 programming 6.9K Operating Systems & Platforms 0 Bash scripts 22 Cloud Computing 365 Embedded / RTOS 53 FreeBSD 1.7K LINUX programming 368 MS-DOS 0 Shell error 200 division scripting 320 Windows CE & Pocket PC 4.1K Windows programming 906 Software Development 408 Algorithms 68 Object Orientation 89 Project Management 90 Quality & Testing 250 Security 7.6K WEB-Development 1.8K Active Server Pages 61 AJAX 2 Bootstrap Themes 55 CGI Development 19 ColdFusion 224 Flash development 1.4K HTML & WEB-Design 1.4K Internet Development 2.2K JavaScript 35 JQuery 290 WEB Servers 153 WEB-Services / SOAP Error 200: Division by Zero Unknown April 1999 in Pascal I have a turbo pascal 7.0 for DOS and i tried executing one of my .PAS files from the compiler to check the code, and it returned the error 200 message. I heard this is caused by the use of an AGP graphics card. Is this true and how can i fix it! Please email ASAP.Thank you!!! 0 · Share on Facebook Comments Unknown April 1999 : I have a turbo pascal 7.0 for DOS and i tried executing one of my .PAS files from the compiler to check the code, and it returned the error 200 message. I heard this is caused by the use of an AGP graphics card. Is this true and how can i fix it! Please email ASAP.: Thank you!!!Good news: It's not caused by your AGP card.Bad news: It's caused by the Crt unit.This problem is caused
parte de la cláusula USES en tu programa. El error está en esa biblioteca y no tiene nada que ver con lo que hayas escrito tú. El problema con el RTL200 aparece con procesadores de más 166 MHZ si son Pentiums, o más de 200 MHZ si son Pentium MMX (y los AMD de esas o mayor velocidad también). Hoy en día esas máquinas están bastante obsoletas por lo que casi cualquier máquina actual experimentará el error mencionado. El RTL200 aparece cuando se declara la unidad estandar CRT ("uses crt;"), concretamente el problema está en la implementación del procedimiento Delay() dentro de esa unidad. El error de división por cero se debe a que cuando seiniciala unidad CRT debe calcular a cuántos ciclos de CPU equivale una centécima de segundos, para ello se pone un contador a contar los ciclos, usualmente en CPUs "lentos" la cantidad de ciclos por segundos no alcanzan a un valor muy grande como para desbordar un integer pero en los CPUs rápidos sí se produce un overflow, la variable correspondiente toma valor cero (por el overflow) y luego es usada en una división, es allí donde salta el error RTL200. ¿Como Solucionarlo? Para poder librarnos de este error son barios pasos los que hay que seguir, los cuales explico acontinuación: 1) Primero que nada vallamos a mi pc y luego a su disco local C:\ donde tenemos instalado el Turbo Pascal. Procedemos a Cambiar el nombre de la carpeta el cual es TurboPascal-7.0,cámbialopor TP. Hecho esto es tiempo de ir al paso 2. 2) Una vez hallas cambiado los nombres de las carpetas, pasamos a descargar el parche: Descargalo deAQUÍ 3) Ya descargado ahora pasamos a descomprimir: Descomprimimos todo en Disco Local (C:) \ TP \ BIN le damos click en Aceptar y pasamos al siguiente paso. 4) Daremos click en Inicio y luego en Ejecutar, en la ventana que nosaparezcaescribimos cmd y le damos a Aceptar: Ahora tendremos la ventana de comandos MS DOS Procedemos a escribir CD C:\ ypresionamosEnter. Ahora escribimos CD TPpresionamosEnter, luego escribimos CD BIN nuevamente Enter y tendremos esto. Seguimos en la misma ventana, ahora escribiremos t7tplfix y presionamos enter. bien ahora tendremos algoasí. Estas son unas opciones para instalar nuestro parche,presionaremosla tecla P y esperamos a que se ejecute.Una vez ejecutadotendránesta ventana. ahora solo escribimos exit y damos enter para que se cierre nuestra ventana decomandos. 5) Quinto y ultimo paso, debemos cambiar nuestro icono de turbo pascal que tenemos en el escritorio, y poner uno nuevo, n