* device/lib/mcs51/crtxclear.asm: pdata segment of 256 byte would not be cleared...
authorfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 28 Feb 2007 12:50:23 +0000 (12:50 +0000)
committerfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 28 Feb 2007 12:50:23 +0000 (12:50 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4660 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
device/lib/mcs51/crtxclear.asm

index f1aa2db48969d1e1376cd82dc09c4b20cb20e7db..657b86d02d13c189a0b7dfbf7f39c656a2b9464f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2007-02-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
+       * device/lib/mcs51/crtxclear.asm: pdata segment of 256 byte would not
+       be cleared. Unconditionally set __XPAGE
        * src/hc08/gen.c: --no-gen-comments (RFE #1493816) for hc08
 
 2007-02-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
index d2c8ea3a840d718f2fe80a9303c4d30af838dc31..7aca7c5f610466fc1198a4b411199e5af157d75f 100644 (file)
        .area GSINIT4 (CODE)
 
 __mcs51_genXRAMCLEAR::
+       mov     __XPAGE,#(s_PSEG >> 8)
        mov     r0,#l_PSEG
        mov     a,r0
+       orl     a,#(l_PSEG >> 8)
        jz      00006$
        mov     r1,#s_PSEG
-       mov     __XPAGE,#(s_PSEG >> 8)
        clr     a
 00005$:        movx    @r1,a
        inc     r1
        djnz    r0,00005$
+
 00006$:
        mov     r0,#l_XSEG
        mov     a,r0