]> git.gag.com Git - fw/sdcc/commitdiff
* sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 13 Nov 2001 19:52:03 +0000 (19:52 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 13 Nov 2001 19:52:03 +0000 (19:52 +0000)
* sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1583 4a8a32a2-be11-0410-ad9d-d568d2c75423

device/lib/_gptrget.c
device/lib/_gptrput.c

index d8b9c587e09bb9f7ecf4e819d175b9a05c13e381..7eaca491f6e23c3a38c62a82276c3266f13703fa 100644 (file)
@@ -1,6 +1,6 @@
 /*-------------------------------------------------------------------------
 
-  _gptrget.c :- get value for a generic pointer               
+  _gptrget.c :- get value for a generic pointer
 
              Written By -  Sandeep Dutta . sandeep.dutta@usa.net (1999)
 
@@ -8,19 +8,19 @@
    under the terms of the GNU Library General Public License as published by the
    Free Software Foundation; either version 2, or (at your option) any
    later version.
-   
+
    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Library General Public License for more details.
-   
+
    You should have received a copy of the GNU Library General Public License
    along with this program; if not, write to the Free Software
    Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-   
+
    In other words, you are welcome to use, share and improve this program.
    You are forbidden to forbid anyone else to use, share and improve
-   what you give them.   Help stamp out software-hoarding!  
+   what you give them.   Help stamp out software-hoarding!
 -------------------------------------------------------------------------*/
 
 unsigned char _gptrget ()
@@ -30,24 +30,27 @@ unsigned char _gptrget ()
        xch    a,r0
        push   acc
     ;
-    ;   depending on the pointer type
+    ;   depending on the pointer type acc. to SDCCsymt.h
     ;
         mov     a,b
-        jz      00001$
+        jz      00001$ ; 0 near
        dec     a
-       jz      00002$
+       jz      00002$  ; 1 far
         dec     a
-        jz      00003$
+        jz      00003$ ; 2 code
        dec     a
        jz      00004$
+       dec     a       ; 4 skip generic pointer
+       dec     a
+       jz      00001$  ; 5 idata
     ;
-    ;   any other value for type 
+    ;   any other value for type
     ;   return xFF
        mov     a,#0xff
        sjmp    00005$
     ;
     ;   Pointer to data space
-    ;   
+    ;
  00001$:
        mov     r0,dpl     ; use only low order address
        mov     a,@r0
@@ -60,9 +63,9 @@ unsigned char _gptrget ()
         sjmp    00005$
 ;
 ;   pointer to code area
-;   
+;
  00003$:
-       clr     a
+       ; clr     a  is already 0
         movc    a,@a+dptr
         sjmp    00005$
 ;
@@ -74,10 +77,10 @@ unsigned char _gptrget ()
 ;
 ;   restore and return
 ;
- 00005$:              
-        mov     r0,a   
+ 00005$:
+        mov     r0,a
         pop     acc
        xch     a,r0
      _endasm ;
-       
+
 }
index d61c78ce8f9f9c0cdc0a893c804222f808a0a99a..c83cf7bdcd5edd8d3284a6403cb0006bbe639887 100644 (file)
@@ -31,21 +31,24 @@ unsigned char _gptrput ()
        xch      a,r0
        push     acc
     ;
-    ;   depending on the pointer type
+    ;   depending on the pointer type acc. to SDCCsymt.h
     ;
         mov     a,b
-       jz      00001$
+       jz      00001$  ; 0 near
         dec     a
-        jz      00002$
+        jz      00002$ ; 1 far
         dec     a
-        jz      00003$
+        jz      00003$ ; 2 code
         dec     a
         jz      00004$
+       dec     a       ; 4 skip generic pointer
+       dec     a
+       jz      00001$  ; 5 idata
        pop     acc
        sjmp    00005$
 ;
 ;       store into near space
-;       
+;
  00001$:
        pop     acc
        mov     r0,dpl
@@ -65,7 +68,7 @@ unsigned char _gptrput ()
        pop     acc
        mov     r0,dpl
        movx    @r0,a
- 00005$:       
+ 00005$:
        xch     a,r0
        pop     acc
        xch     a,r0