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
/
_fsswapargs.c
1
#define SDCC_FLOAT_LIB
2
#include <float.h>
3
4
static void dummy(void) _naked
5
{
6
_asm
7
.globl fs_swap_a_b
8
fs_swap_a_b:
9
mov a, exp_a
10
xch a, exp_b
11
mov exp_a, a
12
// is there a faster way to swap these 2 bits???
13
// this trick with psw can play havoc with the resiter bank setting
14
// mov a, psw
15
// swap a // depends on sign bits in psw.1 & psw.5
16
// mov psw, a
17
mov c, sign_a
18
rlc a
19
mov c, sign_b
20
mov sign_a, c
21
rrc a
22
mov sign_b, c
23
mov a, r4
24
xch a, r7
25
mov r4, a
26
mov a, r3
27
xch a, r6
28
mov r3, a
29
mov a, r2
30
xch a, r5
31
mov r2, a
32
ret
33
_endasm;
34
}
35