X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=procln.c;h=2cd1bdc3d513b6b7476d33cea3c59b0e09f8b357;hp=5860734511cdfef8025ce13cbde4f8e43c0ada36;hb=be5c1cb1a3ca24f29789437675fa8cd22e1edd45;hpb=0e2c5f0a03900e42d76f8ef4c4f560e8a7ebca8b diff --git a/procln.c b/procln.c index 5860734..2cd1bdc 100644 --- a/procln.c +++ b/procln.c @@ -36,7 +36,6 @@ static IFENT * f_ifent; // Freelist of ifents static int disabled; // Assembly conditionally disabled int just_bss; // 1, ds.b in microprocessor mode VALUE pcloc; // Value of "PC" at beginning of line -IFENT * ifent; // Current ifent SYM * lab_sym; // Label on line (or NULL) const char extra_stuff[] = "extra (unexpected) text found after addressing mode"; @@ -137,7 +136,7 @@ loop: // Line processing loop label // Get another line of tokens if (TokenizeLine() == TKEOF) { -if (verb_flag) printf("Assemble: Found TKEOF flag...\n"); +if (debug) printf("Assemble: Found TKEOF flag...\n"); if (list_flag && listflag) // Flush last line of source listeol(); @@ -265,13 +264,13 @@ as68label: switch (state) { case MN_IF: - d_if (); + d_if(); goto loop; case MN_ELSE: d_else(); goto loop; case MN_ENDIF: - d_endif (); + d_endif(); goto loop; case MN_IIF: // .iif --- immediate if if (disabled || expr(exprbuf, &eval, &eattr, &esym) != OK) @@ -661,6 +660,9 @@ When checking to see if it's already been equated, issue a warning. goto loop; } + // Keep a backup of chptr (used for optimisations during codegen) + chptr_opcode = chptr; + for(;;) { if ((m->mnattr & siz) && (amsk0 & m->mn0) != 0 && (amsk1 & m->mn1) != 0)