X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcc65%2Fcodegen.h;h=15a6872bce4a64976a776f9841e0681ded30cfe0;hb=c130e597b013e37c94afd6651be1e8859ba7e5ac;hp=121ac6c1c56559118d87efa7085aa353cac4ec98;hpb=d796de8109f4fd2db979525d8a521ff6a86f1ac0;p=cc65 diff --git a/src/cc65/codegen.h b/src/cc65/codegen.h index 121ac6c1c..15a6872bc 100644 --- a/src/cc65/codegen.h +++ b/src/cc65/codegen.h @@ -6,9 +6,9 @@ /* */ /* */ /* */ -/* (C) 1998-2001 llrich von Bassewitz */ -/* Wacholderweg 14 */ -/* D-70597 Stuttgart */ +/* (C) 1998-2003 Ullrich von Bassewitz */ +/* Römerstrasse 52 */ +/* D-70794 Filderstadt */ /* EMail: uz@cc65.org */ /* */ /* */ @@ -155,6 +155,9 @@ void g_defexport (const char* Name, int ZP); void g_defimport (const char* Name, int ZP); /* Import the given label */ +void g_importmainargs (void); +/* Forced import of a special symbol that handles arguments to main */ + /*****************************************************************************/ @@ -186,7 +189,10 @@ void g_toslong (unsigned flags); void g_tosint (unsigned flags); /* Make sure, the value on TOS is an int. Convert if necessary */ -void g_reglong (unsigned flags); +void g_regint (unsigned Flags); +/* Make sure, the value in the primary register an int. Convert if necessary */ + +void g_reglong (unsigned Flags); /* Make sure, the value in the primary register a long. Convert if necessary */ unsigned g_typeadjust (unsigned lhs, unsigned rhs); @@ -229,6 +235,9 @@ void g_leave (void); +void g_swap_regvars (int StackOffs, int RegOffs, unsigned Bytes); +/* Swap a register variable with a location on the stack */ + void g_save_regvars (int RegOffs, unsigned Bytes); /* Save register variables */ @@ -426,8 +435,17 @@ void g_defdata (unsigned flags, unsigned long val, long offs); void g_defbytes (const void* bytes, unsigned count); /* Output a row of bytes as a constant */ -void g_zerobytes (unsigned n); -/* Output n bytes of data initialized with zero */ +void g_zerobytes (unsigned Count); +/* Output Count bytes of data initialized with zero */ + +void g_initregister (unsigned Label, unsigned Reg, unsigned Size); +/* Initialize a register variable from static initialization data */ + +void g_initauto (unsigned Label, unsigned Size); +/* Initialize a local variable at stack offset zero from static data */ + +void g_initstatic (unsigned InitLabel, unsigned VarLabel, unsigned Size); +/* Initialize a static local variable from static initialization data */