]> git.sur5r.net Git - cc65/blobdiff - src/ca65/objcode.h
If a debug symbol is an import, write out the import id.
[cc65] / src / ca65 / objcode.h
index 0dc3744abb9c45f504fccabaf2b00660873ca198..317fe295b74ab61b45989dfcdde6c66336f760b6 100644 (file)
@@ -6,9 +6,9 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2001 Ullrich von Bassewitz                                       */
-/*               Wacholderweg 14                                             */
-/*               D-70597 Stuttgart                                           */
+/* (C) 1998-2008 Ullrich von Bassewitz                                       */
+/*               Roemerstrasse 52                                            */
+/*               D-70794 Filderstadt                                         */
 /* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
 /*                                                                           */
 
 
 
-/* common */
-#include "segdefs.h"
-
 /* ca65 */
 #include "expr.h"
-
-
-
-/*****************************************************************************/
-/*                                  Data                                    */
-/*****************************************************************************/
-
-
-
-/* Are we in absolute mode or in relocatable mode? */
-extern int     RelocMode;
-
-
-
-/*****************************************************************************/
-/*                           Segment management                             */
-/*****************************************************************************/
-
-
-
-void UseCodeSeg (void);
-/* Use the code segment */
-
-void UseRODataSeg (void);
-/* Use the r/o data segment */
-
-void UseDataSeg (void);
-/* Use the data segment */
-
-void UseBssSeg (void);
-/* Use the BSS segment */
-
-void UseZeropageSeg (void);
-/* Use the zero page segment */
-
-void UseNullSeg (void);
-/* Use the null segment */
-
-void UseSeg (const char* Name, unsigned SegType);
-/* Use the segment with the given name */
-
-unsigned GetSegNum (void);
-/* Get the number of the current segment */
-
-void SegAlign (unsigned Power, int Val);
-/* Align the PC segment to 2^Power. If Val is -1, emit fill fragments (the
- * actual fill value will be determined by the linker), otherwise use the
- * given value.
- */
-
-int IsZPSeg (void);
-/* Return true if the current segment is a zeropage segment */
-
-int IsFarSeg (void);
-/* Return true if the current segment is a far segment */
-
-unsigned GetSegType (unsigned SegNum);
-/* Return the type of the segment with the given number */
-
-unsigned long GetPC (void);
-/* Get the program counter of the current segment */
-
-void SetAbsPC (unsigned long AbsPC);
-/* Set the program counter in absolute mode */
-
-void SegCheck (void);
-/* Check the segments for range and other errors */
-
-void SegDump (void);
-/* Dump the contents of all segments */
-
-void WriteSegments (void);
-/* Write the segment data to the object file */
+#include "strbuf.h"
 
 
 
@@ -137,15 +62,18 @@ void Emit2 (unsigned char OPC, ExprNode* Value);
 void Emit3 (unsigned char OPC, ExprNode* Expr);
 /* Emit an instruction with a three byte argument */
 
-void Emit3b (unsigned char OPC, ExprNode* Expr, ExprNode* Bank);
-/* Emit an instruction with a three byte argument and separate bank */
+void EmitSigned (ExprNode* Expr, unsigned Size);
+/* Emit a signed expression with the given size */
 
 void EmitPCRel (unsigned char OPC, ExprNode* Expr, unsigned Size);
 /* Emit an opcode with a PC relative argument of one or two bytes */
 
-void EmitData (const unsigned char* Data, unsigned Size);
+void EmitData (const void* Data, unsigned Size);
 /* Emit data into the current segment */
 
+void EmitStrBuf (const StrBuf* Data);
+/* Emit a string into the current segment */
+
 void EmitByte (ExprNode* Expr);
 /* Emit one byte */