ttl ieee format equivalent log (ieflog) *************************************** * (c) copyright 1981 by motorola inc. * *************************************** ************************************************* * ieflog * * fast floating point logorithm * * * * input: d7 - ieee format input argument * * * * output: d7 - ieee format logorithmic result * * * * all other registers totally transparent * * * * condition codes: * * z - set if result is zero * * n - set if result is negative * * v - set if result is nan (not-a-number)* * (negative or nan argument) * * c - undefined * * x - undefined * * * * all other registers transparent * * * * maximum stack used: 54 bytes * * * * notes: * * 1) see the mc68344 user's guide for details* * concerning ieee format normalized range * * support limitations. * * 2) spot checks show relative errors bounded* * by 5 x 10**-8. * * 2) negative arguments are illegal and cause* * a nan (not-a-number) to be returned. * * 3) a zero argument returns minus infinity. * * * ************************************************* page ieflog idnt 1,1 ieee format equivalent logorithm opt pcs section 9 xdef ieflog entry point xref ffplog ffp logorithm routine xref iefsop front-end operand conversion routine xref ieftieee back-end convert to ieee and return xref iefrtnan back-end return nan routine xref iefrtod7 return original d7 from the caller xref ffpcpyrt copyright stub ************** * log entry * ************** ieflog jsr iefsop convert the operand bra.s iefnrm +0 branch normalized value * input argument is infinity +8 bmi iefrtnan return a nan for a negative argument jmp iefrtod7 return plus infinity as the result * argument is normalized iefnrm bmi iefrtnan return a nan if argument is negative jsr ffplog call fast floating point log routine jmp ieftieee and return result in ieee format end