Category : C Source Code
Archive   : TCINTFX1.ZIP
Filename : READ.ME

 
Output of file : READ.ME contained in archive : TCINTFX1.ZIP

FIXING THE intr() FUNCTION BUG IN Turbo C 2.0.



THE PROBLEM

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 SOLUTION

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
code.

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
Medium CM.LIB
Compact CC.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


WARNING

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
following:

TLIB CS -INTR
TLIB CS +INTRS.OBJ /E


To update the large model and huge model library (CL.LIB), do the
following:

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




  3 Responses to “Category : C Source Code
Archive   : TCINTFX1.ZIP
Filename : READ.ME

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/