X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device%2Flib%2F_fsmul.c;h=1f36d603d97830dabfec4971afcb8d40ea97b06f;hb=a8a7fc8a514bc79114c6d76d6a6aeb885387478c;hp=553234fba0e2cfff76b14ef3f76372036341f320;hpb=0ce56dcb0c7b82aa49d368b39559c93e1fd52774;p=fw%2Fsdcc diff --git a/device/lib/_fsmul.c b/device/lib/_fsmul.c index 553234fb..1f36d603 100644 --- a/device/lib/_fsmul.c +++ b/device/lib/_fsmul.c @@ -23,10 +23,10 @@ #ifdef FLOAT_ASM_MCS51 -// float __fsmul (float a, float b) reentrant -static void dummy(void) _naked +// float __fsmul (float a, float b) __reentrant +static void dummy(void) __naked { - _asm + __asm .globl ___fsmul ___fsmul: // extract the two inputs, placing them into: @@ -198,12 +198,11 @@ ___fsmul: 00010$: ljmp fs_round_and_return - _endasm; + __endasm; } #else - /* ** libgcc support for software floating point. ** Copyright (C) 1991 by Pipeline Associates, Inc. All rights reserved. @@ -222,7 +221,6 @@ ___fsmul: /* (c)2000/2001: hacked a little by johan.knol@iduna.nl for sdcc */ - union float_long { float f; @@ -273,7 +271,7 @@ float __fsmul (float a1, float a2) { /* pack up and go home */ if (exp >= 0x100) - fl1.l = (sign ? SIGNBIT : 0) | 0x7F800000; + fl1.l = (sign ? SIGNBIT : 0) | __INFINITY; else if (exp < 0) fl1.l = 0; else @@ -282,4 +280,3 @@ float __fsmul (float a1, float a2) { } #endif -