]> git.sur5r.net Git - cc65/commitdiff
Move code to a subroutine.
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 31 Aug 2007 20:23:37 +0000 (20:23 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 31 Aug 2007 20:23:37 +0000 (20:23 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3804 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/da65/labels.c
src/da65/labels.h
src/da65/main.c

index ff401e7aefadf99e110ddd195134d8e520509d36..20f93a98d3a32d2b0f84a929c720c1caaa944721 100644 (file)
@@ -360,6 +360,17 @@ void ForwardLabel (unsigned Offs)
 
 
 
+void ForwardLabels (unsigned Size)
+/* Define forward labels for the range PC to PC+Size-1 if necessary */
+{
+    unsigned I;
+    for (I = 0; I < Size; ++I) {
+        ForwardLabel (I);
+    }
+}
+
+
+
 static void DefOutOfRangeLabel (unsigned long Addr)
 /* Define one label that is outside code range. */
 {
index 53d46c6c882dd619f389fe6946add2bf8b902b13..0420ac2afc6fdac6fe8e2a28ff6686cbdb2f3250 100644 (file)
@@ -94,6 +94,9 @@ void ForwardLabel (unsigned Offs);
  * bytes and is therefore output as "label = * + x".
  */
 
+void ForwardLabels (unsigned Size);
+/* Define forward labels for the range PC to PC+Size-1 if necessary */
+
 void DefOutOfRangeLabels (void);
 /* Output any labels that are out of the loaded code range */
 
index de77fa7308d9e28da7704eb496d23749e83341ed..a43c564d30c9251f55424ceb67d87b0f20c3590b 100644 (file)
@@ -408,10 +408,8 @@ static void OneOpcode (unsigned RemainingBytes)
              */
             if (D->Size <= RemainingBytes) {
                 /* Output labels within the next insn */
-                unsigned I;
-                for (I = 1; I < D->Size; ++I) {
-                    ForwardLabel (I);
-                }
+                ForwardLabels (D->Size);
+                /* Output the insn */
                 D->Handler (D);
                 PC += D->Size;
                 break;