mirror of
https://github.com/fadden/6502bench.git
synced 2024-08-14 18:28:57 +00:00
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.
15 lines
894 B
ArmAsm
15 lines
894 B
ArmAsm
;ACME can't handle 65816 code that lives outside bank zero
|
|
* = $0000
|
|
!pseudopc $030000 {
|
|
!hex 18fbe230af000003ea2256340222000008af563402ad5634a956a934a902af19
|
|
!hex 0008ad1900a919a900a908eac230a91900a90008a90800eaa90f00a22600a067
|
|
!hex 34540208eab90000990200f40000f400f0f41900f40800f44b00f40003f40300
|
|
!hex f45d00f44b10ea4c7300e0ffe0ff04e0ff04004baba900000a0aaabd880048bd
|
|
!hex 860048f009604b0003007300030060e0ff0400000102030405060708090a0b0c
|
|
!hex 0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c
|
|
!hex 2d2e2faf563402207734a0670d56340f5634026b000000000000000000000000
|
|
!hex 00000000ea60af000008ad1900eaaf000001af000002af000003af0000086b19
|
|
!hex 00080056340200800010080054686973206973206120746573742e0068656c6c
|
|
!hex 6f2c20776f726c6421
|
|
} ;!pseudopc
|