[cc65] da65: fix for label output in middle of instruction

From: Dan <opendtv1yahoo.com>
Date: 2007-05-30 15:34:12
da65 fails to output a required label when it is in
the middle of an instruction. This is easily fixed.

main.c:

case atCode:
  /* Beware: If we don't have enough bytes left to
disassemble the
   * following insn, fall through to byte mode.
   */
    if (D->Size <= RemainingBytes) {
        unsigned I;
        for (I = 1; I < D->Size; ++I) {
            if (HaveLabel (PC+I)) {
                NewLine ();
                Output ("%s", GetLabel(PC+I));
                Indent (MIndent);
                Output (":=");
                Indent (AIndent);
                Output ("*+%d", I);
                LineFeed ();
                break;
            }
    }

    D->Handler (D);
    PC += D->Size;
    break;
}

output.c:

void NewLine (void)
{
	if (Col > 1)
		LineFeed ();
}

output.h:

void NewLine (void);
/* do a linefeed if not at first column position */



       
____________________________________________________________________________________Ready for the edge of your seat? 
Check out tonight's top picks on Yahoo! TV. 
http://tv.yahoo.com/
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Wed May 30 15:34:38 2007

This archive was generated by hypermail 2.1.8 : 2007-05-30 15:34:41 CEST