]> git.sur5r.net Git - cc65/commitdiff
Explicitly clear reserved storage with $00.
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 10 Jun 2000 16:32:12 +0000 (16:32 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 10 Jun 2000 16:32:12 +0000 (16:32 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@50 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cc65/codegen.c

index 7b436256a6314b50022cd040c47673588a7fd81b..6b3fc32a9c2a22048054bcc47a16c7592152b93f 100644 (file)
@@ -1,8 +1,35 @@
-/*
- * codegen.c
- *
- * Ullrich von Bassewitz, 08.06.1998
- */
+/*****************************************************************************/
+/*                                                                           */
+/*                                codegen.c                                 */
+/*                                                                           */
+/*                           6502 code generator                            */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
+/* (C) 1998     Ullrich von Bassewitz                                        */
+/*              Wacholderweg 14                                              */
+/*              D-70597 Stuttgart                                            */
+/* EMail:       uz@musoftware.de                                             */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
+/* warranty.  In no event will the authors be held liable for any damages    */
+/* arising from the use of this software.                                    */
+/*                                                                           */
+/* Permission is granted to anyone to use this software for any purpose,     */
+/* including commercial applications, and to alter it and redistribute it    */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
+/* 1. The origin of this software must not be misrepresented; you must not   */
+/*    claim that you wrote the original software. If you use this software   */
+/*    in a product, an acknowledgment in the product documentation would be  */
+/*    appreciated but is not required.                                       */
+/* 2. Altered source versions must be plainly marked as such, and must not   */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
+/*****************************************************************************/
 
 
 
@@ -50,6 +77,7 @@ static char* SegmentHints [4] = {
 };
 
 
+
 /*****************************************************************************/
 /*                                 Helpers                                  */
 /*****************************************************************************/
@@ -892,7 +920,7 @@ void g_getind (unsigned flags, unsigned offs)
 }
 
 
-
+                                                        
 void g_leasp (int offs)
 /* Fetch the address of the specified symbol into the primary register */
 {
@@ -905,8 +933,8 @@ void g_leasp (int offs)
        AddCodeLine ("\tldx\tsp+1");
     } else {
        if (FavourSize) {
-           ldyconst (offs);                    /* Load Y with offset value */
-           AddCodeLine ("\tjsr\tleaysp");      /* Load effective address */
+           ldaconst (offs);                    /* Load A with offset value */
+           AddCodeLine ("\tjsr\tleaasp");      /* Load effective address */
        } else {
            ldaconst (offs);
            AddCodeLine ("\tclc");
@@ -3578,9 +3606,9 @@ void g_ge (unsigned flags, unsigned long val)
 
 
 void g_res (unsigned n)
-/* reserve static storage, n bytes */
+/* Reserve static storage, n bytes */
 {
-    AddCodeLine ("\t.res\t%u", n);
+    AddCodeLine ("\t.res\t%u,$00", n);
 }
 
 
@@ -3625,7 +3653,7 @@ void g_defdata (unsigned flags, unsigned long val, unsigned offs)
 
 
 void g_defbytes (const unsigned char* Bytes, unsigned Count)
-/* output a row of bytes as a constant */
+/* Output a row of bytes as a constant */
 {
     unsigned Chunk;
     char Buf [128];
@@ -3660,7 +3688,7 @@ void g_defbytes (const unsigned char* Bytes, unsigned Count)
 void g_zerobytes (unsigned n)
 /* Output n bytes of data initialized with zero */
 {
-    AddCodeLine ("\t.res\t%u", n);
+    AddCodeLine ("\t.res\t%u,$00", n);
 }