codeb: test mit -1 (=0xffffffffffffffff), weil test = and ohne ergebnis speichern ist
authorBernhard Urban <lewurm@gmail.com>
Sun, 30 May 2010 12:38:00 +0000 (14:38 +0200)
committerBernhard Urban <lewurm@gmail.com>
Sun, 30 May 2010 12:38:00 +0000 (14:38 +0200)
codeb/parser.y

index a9860895d0df459dced36bf255aa8dace1370832..6512c0cad1010953d82c9e7df8f6ced06394b678 100644 (file)
@@ -201,7 +201,7 @@ Statement:
                        printf("%s_ifstart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
                        write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
                        /* TODO: kann ich mir das test wirklich wegan and davor sparen? */
-                       printf("\ttest %s1, %%rax\n\tjz %s_ifend_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
+                       printf("\ttest %s-1, %%rax\n\tjz %s_ifend_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
                }
                @gen @revorder(1) printf("%s_ifend_%d:\n", get_func_name(), @Statement.lblcnt_in@);
          @}
@@ -228,7 +228,7 @@ Statement:
                        printf("%s_ifstart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
                        write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
                        /* TODO: kann ich mir das test wirklich wegan and davor sparen? */
-                       printf("\ttest %s1, %%rax\n\tjz %s_ifelse_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
+                       printf("\ttest %s-1, %%rax\n\tjz %s_ifelse_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
                }
                @gen @revorder(1) printf("%s_ifend_%d:\n", get_func_name(), @Statement.lblcnt_in@);
          @}
@@ -249,7 +249,7 @@ Statement:
                        printf("%s_whilestart_%d:\n", get_func_name(), @Statement.lblcnt_in@);
                        write_tree(@Statement.node@, 0); burm_label(@Statement.node@); burm_reduce(@Statement.node@, 1);
                        /* TODO: kann ich mir das test wirklich wegan and davor sparen? */
-                       printf("\ttest %s1, %%rax\n\tjz %s_whileend_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
+                       printf("\ttest %s-1, %%rax\n\tjz %s_whileend_%d\n", "$", get_func_name(), @Statement.lblcnt_in@);
                }
                @gen @revorder(1) printf("\tjmp %s_whilestart_%d\n%s_whileend_%d:\n", get_func_name(), @Statement.lblcnt_in@, get_func_name(), @Statement.lblcnt_in@);
          @}