Problems with interrupts in "C" HELP!

Michel van Hamburg michel at tnocsda.UUCP
Thu Apr 11 18:52:45 AEST 1985

Problems with interrupts in "C".

Some time ago I have written a serial communication package in assembler
that can be used within a pascal or an assembler program for an IBM PC.
For serial input it uses the build in hardware interrupt.
The interrupt service routine takes care that the received characters
are put into a circular input buffer.

I have also tried to use the package under a "C" program, but in that case
there were many problems. Hardware interrupts from the serial input port
are only served for about 90 percent. 10 percent are not served and the
occurence of not serving seems random to me. The address at 0:30 -- 0:33 (hex)
does correctly point to the interrupt service routine.
In the test program I also poll the keybord by using the BIOS interrupt 16H.
After removing this keyboard poll all interrupts are served.
When polling at DOS level (INT21H) no interrupts are served at all.

The compilers used are: MSPASCAL Version 3.2
			LATTICE C Version 2.14
			IBM assembler Version 1.0
The "C" program was compiled using the P (program) model.

Who can help me solving this problem ? Any help would be appreciated.
Thanks in advance.

			Hans Kok

More information about the Comp.lang.c mailing list