#include <8051.h>
#endif
-static data char radix ;
-static bit long_flag = 0;
-static bit string_flag =0;
-static bit char_flag = 0;
-static char * data str ;
-static data long val;
+static __data char radix ;
+static __bit long_flag = 0;
+static __bit string_flag =0;
+static __bit char_flag = 0;
+static char * __data str ;
+static __data long val;
/* This great loop fails with the ds390 port (2003-01-13).
*/
#if NICE_LIFO_IMPLEMENTATION_BUT_NOT_PORTABLE
-static data volatile char ch;
-static bit sign;
+static __data volatile char ch;
+static __bit sign;
static void pval(void)
{
# if 1
if(radix != 16) ch = (lval % radix) + '0';
else ch = "0123456789ABCDEF"[(unsigned char)lval & 0x0f];
- _asm push _ch _endasm;
+ __asm push _ch __endasm;
lval /= radix;
# else
// This only looks more efficient, but isn't. see the .map
ch = (lval % radix) + '0';
if (ch>'9') ch+=7;
- _asm push _ch _endasm;
+ __asm push _ch __endasm;
lval /= radix;
# endif
}
if (sign) {
ch = '-';
- _asm push _ch _endasm;
+ __asm push _ch __endasm;
}
while (sp != SP) {
- _asm pop _ch _endasm;
+ __asm pop _ch __endasm;
putchar(ch);
}
}
#endif
-void printf_small (char * fmt, ... ) reentrant
+void printf_small (char * fmt, ... ) __reentrant
{
va_list ap ;
#else
if (radix)
{
- static char data buffer[12], c;
+ static char __idata buffer[12]; /* 37777777777(oct) */
+ char __idata * stri;
_ltoa (val, buffer, radix);
- str = buffer;
- while ((c = *str++) != '\0')
- putchar (c);
+ stri = buffer;
+ while (*stri)
+ {
+ putchar (*stri);
+ stri++;
+ }
}
#endif
else