Contents of the READ.ME file
FIXING THE intr() FUNCTION BUG IN Turbo C 2.0.
In all memory modules of Turbo C 2.0, the intr() function fails to pass
the proper value for the BP register to the called interrupt.
The object modules in this package permit you to fix the bug by updating
the compiler libraries with a new intr() module that contains corrected
This package contains four object modules, an A86 source file for the
object modules, and this read.me file. You don't need the source file
to install the fix in the Turbo C compiler libraries. I provided
the source code to document and authenticate the bug and the fix, and
to verify the object modules.
WHAT YOU NEED TO FIX THE BUG
To update the Turbo C compiler libraries, you need the following:
1. A copy of TLIB.EXE. This program is generally installed in the
\TC subdirectory on a hard disk system. TLIB.EXE is included in
the Turbo C distribution package on the LIBRARIES diskette.
2. A copy of the library files you are going to update. The
library file used by Turbo C for any given compilation
depends on the memory model selected as follows:
Model Library Name
Tiny or Small CS.LIB
Large and Huge CL.LIB
I recommend that you update all libraries, even if you don't
use all of them frequently.
3. The four INTR?.OBJ files supplied in this package.
HOW TO FIX THE BUG
Updating a library module with the wrong object code will
cause improper operation of the intr() function and possible
crashing of the program. When you update a library (when you
use the TLIB program with the '+' option), make sure that the
last character of the library filename matches the last
character of the filname of the update object module.
To update the small model and tiny model library (CS.LIB), do the
TLIB CS -INTR
TLIB CS +INTRS.OBJ /E
To update the large model and huge model library (CL.LIB), do the
TLIB CL -INTR
TLIB CL +INTRL.OBJ /E
To update the medium model library (CM.LIB), do the following:
TLIB CM -INTR
TLIB CM +INTRM.OBJ /E
To update the compact model library (CC.LIB), do the following:
TLIB CC -INTR
TLIB CC +INTRC.OBJ /E