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

Update relocation data handling

When we have relocation data available, the code currently skips the
process of matching an address with a label for a PEA instruction when
the instruction in question doesn't have reloc data.  This does a
great job of separating code that pushes parts of addresses from code
that pushes constants.

This change expands the behavior to exclude instructions with 16-bit
address operands that use the Data Bank Register, e.g. "LDA abs"
and "LDA abs,X".  This is particularly useful for code that accesses
structured data using the operand as the structure offset, e.g.
"LDX addr" / "LDA $0000,X"

The 20212-reloc-data test has been updated to check the behavior.
This commit is contained in:
Andy McFadden
2020-07-10 17:24:11 -07:00
parent da38bc0db8
commit cc6ebaffc5
12 changed files with 211 additions and 127 deletions

View File

@@ -1221,6 +1221,8 @@ namespace SourceGen {
}
}
#region Data Bank Register management
/// <summary>
/// Data Bank Register value.
/// </summary>
@@ -1410,5 +1412,6 @@ namespace SourceGen {
}
}
}
#endregion Data Bank Register management
}
}