X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcc65%2Fcodegen.h;h=815482fe48cf7ee9a50032bac8eb137fa083f71b;hb=32164ea8e5222e3c9f40980dca307ac96c84a922;hp=68e15b1897c0baebe83650c31affa0f901b56cb2;hpb=ac61d6826c614036e5ecdb820fbd90d34cdb43c1;p=cc65 diff --git a/src/cc65/codegen.h b/src/cc65/codegen.h index 68e15b189..815482fe4 100644 --- a/src/cc65/codegen.h +++ b/src/cc65/codegen.h @@ -6,9 +6,9 @@ /* */ /* */ /* */ -/* (C) 1998-2002 Ullrich von Bassewitz */ -/* Wacholderweg 14 */ -/* D-70597 Stuttgart */ +/* (C) 1998-2004 Ullrich von Bassewitz */ +/* Römerstrasse 52 */ +/* D-70794 Filderstadt */ /* EMail: uz@cc65.org */ /* */ /* */ @@ -63,6 +63,7 @@ #define CF_INT 0x0001 /* Operation on ints */ #define CF_PTR CF_INT /* Alias for readability */ #define CF_LONG 0x0000 /* Operation on longs */ +#define CF_FLOAT 0x0004 /* Operation on a float */ #define CF_NOKEEP 0x0008 /* Value may get destroyed when storing */ @@ -84,9 +85,6 @@ -/* Compiler relative stackpointer */ -extern int oursp; - /* Forward */ struct StrBuf; @@ -121,8 +119,8 @@ void g_usedata (void); void g_usebss (void); /* Switch to the bss segment */ -void g_segname (segment_t Seg, const char* Name); -/* Set the name of a segment */ +void g_segname (segment_t Seg); +/* Emit the name of a segment if necessary */ @@ -155,6 +153,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 */ + /*****************************************************************************/ @@ -232,6 +233,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 */ @@ -429,8 +433,11 @@ 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 */ @@ -462,17 +469,6 @@ void g_asmcode (struct StrBuf* B); -/*****************************************************************************/ -/* Inlined known functions */ -/*****************************************************************************/ - - - -void g_strlen (unsigned flags, unsigned long val, long offs); -/* Inline the strlen() function */ - - - /* End of codegen.h */ #endif