mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-18 15:06:07 +00:00
cc6ebaffc5
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.
22 lines
666 B
INI
22 lines
666 B
INI
# 6502bench SourceGen generated linker script for 20212-reloc-data
|
|
MEMORY {
|
|
MAIN: file=%O, start=%S, size=65536;
|
|
# MEM000: file=%O, start=$30000, size=143;
|
|
# MEM001: file=%O, start=$4ffe0, size=32;
|
|
# MEM002: file=%O, start=$50000, size=20;
|
|
# MEM003: file=%O, start=$23456, size=35;
|
|
# MEM004: file=%O, start=$80000, size=54;
|
|
# MEM005: file=%O, start=$60000, size=13;
|
|
}
|
|
SEGMENTS {
|
|
CODE: load=MAIN, type=rw;
|
|
# SEG000: load=MEM000, type=rw;
|
|
# SEG001: load=MEM001, type=rw;
|
|
# SEG002: load=MEM002, type=rw;
|
|
# SEG003: load=MEM003, type=rw;
|
|
# SEG004: load=MEM004, type=rw;
|
|
# SEG005: load=MEM005, type=rw;
|
|
}
|
|
FEATURES {}
|
|
SYMBOLS {}
|