1
0
mirror of https://github.com/fadden/6502bench.git synced 2025-07-24 22:25:06 +00:00

Instruction operand editor rework, part 2

Implemented local variable editing.  Operands that have a local
variable reference, or are eligible to have one, can now be edited
directly from the instruction operand edit dialog.

Also, updated the code list double-click handler so that, if you
double-click on the opcode of an instruction that uses a local
variable reference, the selection and view will jump to the place
where that variable was defined.

Also, tweaked the way the References window refers to references
to an address that didn't use a symbol at that address.  Updated
the explanation in the manual, which was a bit confusing.

Also, fixed some odds and ends in the manual.

Also, fixed a nasty infinite recursion bug (issue #47).
This commit is contained in:
Andy McFadden
2019-09-07 18:57:22 -07:00
parent 2633720c82
commit e8ae534879
13 changed files with 486 additions and 58 deletions

View File

@@ -51,7 +51,13 @@ namespace SourceGen {
/// <summary>
/// True if this reference is by name.
/// </summary>
public bool IsSymbolic { get; private set; }
/// <remarks>
/// The time this is of use is when determining the set of project/platform symbols
/// that are actually used. If we have FOO1=$101 and FOO2=$102, and we LDA FOO1
/// and LDA FOO1+1, we only want to output an equate for FOO1 even though FOO2's
/// address was referenced.
/// </remarks>
public bool IsByName { get; private set; }
/// <summary>
/// Type of reference.
@@ -69,17 +75,17 @@ namespace SourceGen {
/// </summary>
public int Adjustment { get; private set; }
public Xref(int offset, bool isSymbolic, XrefType type,
public Xref(int offset, bool isByName, XrefType type,
Asm65.OpDef.MemoryEffect accType, int adjustment) {
Offset = offset;
IsSymbolic = isSymbolic;
IsByName = isByName;
Type = type;
AccType = accType;
Adjustment = adjustment;
}
public override string ToString() {
return "Xref off=+" + Offset.ToString("x6") + " sym=" + IsSymbolic +
return "Xref off=+" + Offset.ToString("x6") + " sym=" + IsByName +
" type=" + Type + " accType= " + AccType + " adj=" + Adjustment;
}
}