(_mcs51_genXINIT) added test for 0 length
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 16 Dec 2001 18:48:18 +0000 (18:48 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 16 Dec 2001 18:48:18 +0000 (18:48 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1681 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/mcs51/main.c

index f45cc3b737457460240fee6176d27abd61f3cfa6..b6c16268631e4e888251fd940b081c21ecdb3bcb 100644 (file)
@@ -123,6 +123,9 @@ _mcs51_genIVT (FILE * of, symbol ** interrupts, int maxInterrupts)
 /* Generate code to copy XINIT to XISEG */
 static void _mcs51_genXINIT (FILE * of) {
   fprintf (of, ";      _mcs51_genXINIT() start\n");
+  fprintf (of, "       mov     a,#l_XINIT\n");
+  fprintf (of, "       add     a,#l_XINIT>>8\n");
+  fprintf (of, "       jz      00003$\n");
   fprintf (of, "       mov     a,#s_XINIT\n");
   fprintf (of, "       add     a,#l_XINIT\n");
   fprintf (of, "       mov     r1,a\n");
@@ -144,6 +147,7 @@ static void _mcs51_genXINIT (FILE * of) {
   fprintf (of, "       mov     a,dph\n");
   fprintf (of, "       cjne    a,ar2,00001$\n");
   fprintf (of, "       mov     p2,#0xFF\n");
+  fprintf (of, "00003$:\n");
   fprintf (of, ";      _mcs51_genXINIT() end\n");
 }