projects
/
fw
/
sdcc
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Improvements to float support in printf_fast
[fw/sdcc]
/
device
/
lib
/
_fsnormalize.c
1
#define SDCC_FLOAT_LIB
2
#include <float.h>
3
4
static void dummy(void) _naked
5
{
6
_asm
7
.globl fs_normalize_a
8
fs_normalize_a:
9
#ifdef FLOAT_SHIFT_SPEEDUP
10
mov r0, #4
11
00001$:
12
mov a, r4
13
jnz 00003$
14
xch a, r1
15
xch a, r2
16
xch a, r3
17
mov r4, a
18
//mov r4, ar3
19
//mov r3, ar2
20
//mov r2, ar1
21
//mov r1, #0
22
mov a, exp_a
23
add a, #248
24
mov exp_a, a
25
djnz r0, 00001$
26
ret
27
#else
28
mov a, r4
29
#endif
30
00003$:
31
mov r0, #32
32
00005$:
33
jb acc.7, 00006$
34
dec exp_a
35
clr c
36
mov a, r1
37
rlc a
38
mov r1, a
39
mov a, r2
40
rlc a
41
mov r2, a
42
mov a, r3
43
rlc a
44
mov r3, a
45
mov a, r4
46
rlc a
47
mov r4, a
48
djnz r0, 00005$
49
00006$:
50
ret
51
_endasm;
52
}