re: Is there a reason you can't make your application multi-segment?

Not really.  I'm just trying to keep it as small as possible, and therefore
didn't want to add the overhead of the segment manager library routines.

After I posted my question, I determined what was causing the call to
"_lmul_".  It was "SysQSort" and "SysBinarySearch", which both return a
"found position" value as a UInt32.  I had returned the address of the table
element to the calling function by using &table[position].  So, it invoked
the long multiply.  I simply changed that to:
localUInt16 = position;
return (&table[localUInt16]);

It seems strange that the return from those two system routines is a UInt32
when the maximum number of entries is a UInt16.

Whatever ... assigning the UInt32 to a UInt16 took care of my immediate link
problem of not being able to access the long divide library routine.  As the
old saying goes ... if it hurts when you do that ... don't do that !!

I'll keep your suggestion for using the compiler library source code to
position needed routines in the middle of the application code in mind just
in case I need it later on.  The applications I build generally don't get
very large because of all the magic I do on behalf of the application in my
own library routines, which I can now access from anywhere thanks to the
Jump table I recently implemented.

Regards,

Terry



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to