saved a few bytes
authorfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 19 Jul 2003 20:18:03 +0000 (20:18 +0000)
committerfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 19 Jul 2003 20:18:03 +0000 (20:18 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2757 4a8a32a2-be11-0410-ad9d-d568d2c75423

device/lib/_gptrput.c

index 3ae66a2d76bc1fd483831cf024d1a45111ce78ad..3b9affc56ac32cf2bca16c34fadae4ea031e59e8 100644 (file)
@@ -42,13 +42,15 @@ _gptrput (char *gptr, char c)
         dec     a
         jz      00003$ ; 2 code
         dec     a
-        jz      00004$
+        jz      00004$  ; 3 pdata
        dec     a       ; 4 skip generic pointer
        dec     a
        jz      00001$  ; 5 idata
-       pop     acc
-       sjmp    00006$
-;
+
+ 00003$:
+       pop     acc    ; do nothing
+       sjmp    00005$
+;  
 ;       store into near space
 ;
  00001$:
@@ -56,25 +58,19 @@ _gptrput (char *gptr, char c)
        push    ar0
        mov     r0,dpl
        mov     @r0,a
+       pop     ar0
        sjmp    00005$
 
  00002$:
        pop     acc
        movx    @dptr,a
-       sjmp    00006$
-
- 00003$:
-       pop     acc    ; do nothing
-       sjmp    00006$
+       sjmp    00005$
 
  00004$:
        pop     acc
-       push    ar0
-       mov     r0,dpl
-       movx    @r0,a
+       mov     dph,p2
+       movx    @dptr,a
  00005$:
-       pop     ar0
- 00006$:
 _endasm;
 }