]> git.sur5r.net Git - cc65/blobdiff - src/cc65/asmcode.h
Small but significant shift optimization
[cc65] / src / cc65 / asmcode.h
index 69652c21a4550306080debf0a39e23d1ec1d438c..2db1ecbd469bd134cbbc8977bf0413e634764c63 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2000     Ullrich von Bassewitz                                        */
-/*              Wacholderweg 14                                              */
-/*              D-70597 Stuttgart                                            */
-/* EMail:       uz@musoftware.de                                             */
+/* (C) 2000-2001 Ullrich von Bassewitz                                       */
+/*               Wacholderweg 14                                             */
+/*               D-70597 Stuttgart                                           */
+/* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
@@ -40,6 +40,9 @@
 
 #include <stdio.h>
 
+/* common */
+#include "attrib.h"
+
 
 
 /*****************************************************************************/
@@ -49,7 +52,7 @@
 
 
 /* Marker for an assembler code position */
-typedef struct Line_* CodeMark;
+typedef unsigned CodeMark;
 
 
 
@@ -59,21 +62,17 @@ typedef struct Line_* CodeMark;
 
 
 
-void AddCodeLine (const char* Format, ...);
-/* Add a new line of code to the output */
-
-void AddCodeHint (const char* Hint);
-/* Add an optimizer hint */
-
-void AddEmptyLine (void);
-/* Add an empty line for formatting purposes */
-
 CodeMark GetCodePos (void);
 /* Get a marker pointing to the current output position */
 
 void RemoveCode (CodeMark M);
 /* Remove all code after the given code marker */
 
+void MoveCode (CodeMark Start, CodeMark End, CodeMark Target);
+/* Move the code between Start (inclusive) and End (exclusive) to
+ * (before) Target.
+ */
+
 void WriteOutput (FILE* F);
 /* Write the final output to a file */
 
@@ -84,3 +83,4 @@ void WriteOutput (FILE* F);
 
 
 
+