"Divide error" with TC 2.0 program
Brent K. Barrett
brent at sactoh0.UUCP
Fri Dec 15 10:45:02 AEST 1989
I'm working on a TC 2.0 project, and something very frustrating
has come up. I have a function, send(), that sends formatted
output to the screen via DMA or BIOS calls (internal variable).
Whenever I use a floating point format in my calls to send(), I get
a "Divide error" and a crash to the DOS prompt.
Here's send():
/*
* send()
*/
void send(int x, int y, const char *str, ...)
{
va_list argptr;
char outstr[255];
va_start(argptr, str);
vsprintf(outstr, str, argptr);
va_end(argptr);
if (bool.bios)
biossend(x, y, outstr);
else
memsend(x, y, outstr);
}
I get no compiler/linker errors or warnings when compiling my
program (which I can not include for both size and security
reasons). I'm using compact model, but have tried all other models
(that will hold the data) without change. If I comment out the
first call to send() that uses the %f format, it will crash on the
next, and so forth. I have linked mathc and emu, so that's not the
problem.
I'm very frustrated and have lost about 4 days work over this
problem, so I really hope someone out there can at least tell me
*why* the "Divide error" happens. Just that would probably be
enough to kick my brain into gear again and figure this thing out.
Please E-mail your responses and I will post a summary. Thank you
very much.
--
//////// Novucivitas: The Future of Citadel ////////
/// US 916 725 0674 3/12/2400 bps GEMAIL: B.K.BARRETT ///
//////// ..ames!pacbell!sactoh0!brent ////////
More information about the Comp.lang.c
mailing list