From 7eebf8e629170177ae45f1b820abdfd468b53a57 Mon Sep 17 00:00:00 2001 From: frief Date: Sat, 19 Jul 2003 16:55:58 +0000 Subject: [PATCH] saving some cycles in generic pointer get git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2755 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- device/lib/_gptrget.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/device/lib/_gptrget.c b/device/lib/_gptrget.c index 0fbdd39b..3f2cb922 100644 --- a/device/lib/_gptrget.c +++ b/device/lib/_gptrget.c @@ -33,8 +33,6 @@ _gptrget (char *gptr) _asm ; save values passed - xch a,r0 - push acc ; ; depending on the pointer type acc. to SDCCsymt.h ; @@ -58,8 +56,13 @@ _gptrget (char *gptr) ; Pointer to data space ; 00001$: + push ar0 + ; mov r0,dpl ; use only low order address mov a,@r0 + ; + pop ar0 + ; sjmp 00005$ ; ; pointer to xternal data @@ -78,15 +81,12 @@ _gptrget (char *gptr) ; pointer to xternal stack ; 00004$: - mov r0,dpl - movx a,@r0 + mov dph,p2 ; p2 holds high byte for pdata access + movx a,@dptr ; -; restore and return +; return ; 00005$: - mov r0,a - pop acc - xch a,r0 _endasm ; } -- 2.47.2