projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use 'ao-dbg' instead of 's51' to communicate with TeleMetrum
[fw/sdcc]
/
device
/
lib
/
_divsint.c
diff --git
a/device/lib/_divsint.c
b/device/lib/_divsint.c
index 229bb2f41b8c6ce73a0e28ae2c5197a448423190..b35be7eb3ae66e59b902aea8b463c4f596a80c53 100644
(file)
--- a/
device/lib/_divsint.c
+++ b/
device/lib/_divsint.c
@@
-50,151
+50,151
@@
unsigned unsigned _divuint (unsigned x, unsigned y);
#if defined _DIVSINT_ASM_SMALL
static void
#if defined _DIVSINT_ASM_SMALL
static void
-_divsint_dummy (void) _naked
+_divsint_dummy (void) _
_
naked
{
{
- _asm
+ _
_
asm
-
#define xl dpl
-
#define xh dph
+ #define xl dpl
+ #define xh dph
-
.globl __divsint
+ .globl __divsint
-
// _divsint_PARM_2 shares the same memory with _divuint_PARM_2
-
// and is defined in _divuint.c
+ // _divsint_PARM_2 shares the same memory with _divuint_PARM_2
+ // and is defined in _divuint.c
#if defined(SDCC_PARMS_IN_BANK1)
#if defined(SDCC_PARMS_IN_BANK1)
-
#define yl (b1_0)
-
#define yh (b1_1)
+ #define yl (b1_0)
+ #define yh (b1_1)
#else
#else
-
#define yl (__divsint_PARM_2)
-
#define yh (__divsint_PARM_2 + 1)
+ #define yl (__divsint_PARM_2)
+ #define yh (__divsint_PARM_2 + 1)
#endif
#endif
-
__divsint:
-
; xh in dph
-
; yh in (__divsint_PARM_2 + 1)
+__divsint:
+ ; xh in dph
+ ; yh in (__divsint_PARM_2 + 1)
-
clr F0 ; Flag 0 in PSW
-
; available to user for general purpose
-
mov a,xh
-
jnb acc.7,a_not_negative
+ clr F0 ; Flag 0 in PSW
+ ; available to user for general purpose
+ mov a,xh
+ jnb acc.7,a_not_negative
-
setb F0
+ setb F0
-
clr a
-
clr c
-
subb a,xl
-
mov xl,a
-
clr a
-
subb a,xh
-
mov xh,a
+ clr a
+ clr c
+ subb a,xl
+ mov xl,a
+ clr a
+ subb a,xh
+ mov xh,a
-
a_not_negative:
+a_not_negative:
-
mov a,yh
-
jnb acc.7,b_not_negative
+ mov a,yh
+ jnb acc.7,b_not_negative
-
cpl F0
+ cpl F0
-
clr a
-
clr c
-
subb a,yl
-
mov yl,a
-
clr a
-
subb a,yh
-
mov yh,a
+ clr a
+ clr c
+ subb a,yl
+ mov yl,a
+ clr a
+ subb a,yh
+ mov yh,a
-
b_not_negative:
+b_not_negative:
-
lcall __divuint
+ lcall __divuint
-
jnb F0,not_negative
+ jnb F0,not_negative
-
clr a
-
clr c
-
subb a,xl
-
mov xl,a
-
clr a
-
subb a,xh
-
mov xh,a
+ clr a
+ clr c
+ subb a,xl
+ mov xl,a
+ clr a
+ subb a,xh
+ mov xh,a
-
not_negative:
-
ret
+not_negative:
+ ret
- _
endasm
;
+ _
_endasm
;
}
#elif defined _DIVSINT_ASM_SMALL_AUTO
static void
}
#elif defined _DIVSINT_ASM_SMALL_AUTO
static void
-_divsint_dummy (void) _naked
+_divsint_dummy (void) _
_
naked
{
{
- _asm
+ _
_
asm
-
#define xl dpl
-
#define xh dph
+ #define xl dpl
+ #define xh dph
-
.globl __divsint
+ .globl __divsint
-
__divsint:
+__divsint:
-
clr F0 ; Flag 0 in PSW
-
; available to user for general purpose
-
mov a,xh
-
jnb acc.7,a_not_negative
+ clr F0 ; Flag 0 in PSW
+ ; available to user for general purpose
+ mov a,xh
+ jnb acc.7,a_not_negative
-
setb F0
+ setb F0
-
clr a
-
clr c
-
subb a,xl
-
mov xl,a
-
clr a
-
subb a,xh
-
mov xh,a
+ clr a
+ clr c
+ subb a,xl
+ mov xl,a
+ clr a
+ subb a,xh
+ mov xh,a
-
a_not_negative:
+a_not_negative:
-
mov a,sp
-
add a,#-2 ; 2 bytes return address
-
mov r0,a ; r0 points to yh
-
mov a,@r0 ; a = yh
+ mov a,sp
+ add a,#-2 ; 2 bytes return address
+ mov r0,a ; r0 points to yh
+ mov a,@r0 ; a = yh
-
jnb acc.7,b_not_negative
+ jnb acc.7,b_not_negative
-
cpl F0
+ cpl F0
-
dec r0
+ dec r0
-
clr a
-
clr c
-
subb a,@r0 ; yl
-
mov @r0,a
-
clr a
-
inc r0
-
subb a,@r0 ; a = yh
+ clr a
+ clr c
+ subb a,@r0 ; yl
+ mov @r0,a
+ clr a
+ inc r0
+ subb a,@r0 ; a = yh
-
b_not_negative:
+b_not_negative:
-
mov r1,a ; yh
-
dec r0
-
mov a,@r0 ; yl
-
mov r0,a
+ mov r1,a ; yh
+ dec r0
+ mov a,@r0 ; yl
+ mov r0,a
-
lcall __divint
+ lcall __divint
-
jnb F0,not_negative
+ jnb F0,not_negative
-
clr a
-
clr c
-
subb a,xl
-
mov xl,a
-
clr a
-
subb a,xh
-
mov xh,a
+ clr a
+ clr c
+ subb a,xl
+ mov xl,a
+ clr a
+ subb a,xh
+ mov xh,a
-
not_negative:
-
ret
+not_negative:
+ ret
- _
endasm
;
+ _
_endasm
;
}
#else // _DIVSINT_ASM_
}
#else // _DIVSINT_ASM_