(_mcs51_genRAMCLEAR): using r0 instead of r1/r2. Apparently this did not see much...
[fw/sdcc] / src / mcs51 / main.c
index 8a8dc53b9ca809a776e9a69ee01da4715a1ca026..24247f2ac17c49333238917e2abc195ac51698b3 100644 (file)
@@ -161,16 +161,16 @@ static void _mcs51_genRAMCLEAR (FILE * of) {
   fprintf (of, "       mov     a,r1\n");
   fprintf (of, "       orl     a,#(l_XSEG >> 8)\n");
   fprintf (of, "       jz      00005$\n");
-  fprintf (of, "       mov     r2,#((l_XSEG + 255) >> 8)\n");
+  fprintf (of, "       mov     r0,#((l_XSEG + 255) >> 8)\n");
   fprintf (of, "       mov     dptr,#s_XSEG\n");
   fprintf (of, "       clr     a\n");
   fprintf (of, "00004$:        movx    @dptr,a\n");
   fprintf (of, "       inc     dptr\n");
   fprintf (of, "       djnz    r1,00004$\n");
-  fprintf (of, "       djnz    r2,00004$\n");
-  /* r1 is zero now. Clearing 256 byte assuming 128 byte devices don't mind */
-  fprintf (of, "00005$:        mov     @r1,a\n");   
-  fprintf (of, "       djnz    r1,00005$\n");
+  fprintf (of, "       djnz    r0,00004$\n");
+  /* r0 is zero now. Clearing 256 byte assuming 128 byte devices don't mind */
+  fprintf (of, "00005$:        mov     @r0,a\n");   
+  fprintf (of, "       djnz    r0,00005$\n");
   fprintf (of, ";      _mcs51_genRAMCLEAR() end\n");
 }