From 330232eeaff322a7c518419457ab2e94804d4f41 Mon Sep 17 00:00:00 2001 From: frief Date: Fri, 19 Nov 2004 19:00:24 +0000 Subject: [PATCH] _naked allows to use ret instead of sjmp to ret git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3578 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- device/lib/_gptrget.c | 15 +++++---------- device/lib/_gptrgetc.c | 7 +++---- device/lib/_gptrput.c | 10 ++++------ 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/device/lib/_gptrget.c b/device/lib/_gptrget.c index e3e6d577..adcbd7e3 100644 --- a/device/lib/_gptrget.c +++ b/device/lib/_gptrget.c @@ -38,7 +38,7 @@ _gptrget (char *gptr) _naked gptr; /* hush the compiler */ _asm - ar0 = 0x00 + ar0 = 0x00 ; save values passed ; ; depending on the pointer type acc. to SDCCsymt.h @@ -58,7 +58,7 @@ _gptrget (char *gptr) _naked ; any other value for type ; return xFF mov a,#0xff - sjmp 00005$ + ret ; ; Pointer to data space ; @@ -70,20 +70,20 @@ _gptrget (char *gptr) _naked ; pop ar0 ; - sjmp 00005$ + ret ; ; pointer to xternal data ; 00002$: movx a,@dptr - sjmp 00005$ + ret ; ; pointer to code area ; 00003$: ; clr a is already 0 movc a,@a+dptr - sjmp 00005$ + ret ; ; pointer to xternal stack or pdata ; @@ -97,11 +97,6 @@ _gptrget (char *gptr) _naked movx a,@r0 pop ar0 #endif - -; -; return -; - 00005$: ret _endasm ; } diff --git a/device/lib/_gptrgetc.c b/device/lib/_gptrgetc.c index 45b79f31..745fe4a4 100644 --- a/device/lib/_gptrgetc.c +++ b/device/lib/_gptrgetc.c @@ -53,14 +53,14 @@ _gptrgetc (char *gptr) _naked ; any other value for type ; return xFF mov a,#0xff - sjmp 00005$ + ret ; ; Pointer to data space ; 00001$: mov r0,dpl ; use only low order address mov a,@r0 - sjmp 00005$ + ret ; ; pointer to xternal data ; pointer to code area @@ -68,7 +68,7 @@ _gptrgetc (char *gptr) _naked 00003$: ; clr a is already 0 movc a,@a+dptr - sjmp 00005$ + ret ; ; pointer to xternal stack ; @@ -78,7 +78,6 @@ _gptrgetc (char *gptr) _naked ; ; restore and return ; - 00005$: mov r0,a pop acc xch a,r0 diff --git a/device/lib/_gptrput.c b/device/lib/_gptrput.c index 41d9a00e..316a1834 100644 --- a/device/lib/_gptrput.c +++ b/device/lib/_gptrput.c @@ -36,7 +36,7 @@ _gptrput (char *gptr, char c) _naked gptr; c; /* hush the compiler */ _asm - ar0 = 0x00 + ar0 = 0x00 push acc ; ; depending on the pointer type acc. to SDCCsymt.h @@ -55,7 +55,7 @@ _gptrput (char *gptr, char c) _naked 00003$: pop acc ; do nothing - sjmp 00005$ + ret ; ; store into near space ; @@ -65,12 +65,12 @@ _gptrput (char *gptr, char c) _naked mov r0,dpl mov @r0,a pop ar0 - sjmp 00005$ + ret 00002$: pop acc movx @dptr,a - sjmp 00005$ + ret 00004$: #if USE_PDATA_PAGING_REGISTER @@ -84,8 +84,6 @@ _gptrput (char *gptr, char c) _naked movx @r0,a pop ar0 #endif - - 00005$: ret _endasm; } -- 2.30.2