1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-11-29 10:50:28 +00:00
6502bench/Asm65
Andy McFadden fdd2bcf847 Fix some 65816 code generation issues
Two basic problems:

(1) cc65, being a one-pass assembler, can't tell if a forward-referenced
label is 16-bit or 24-bit.  If the operand is potentially ambiguous,
such as "LDA label", we need to add an operand width disambiguator.
(The existing tests managed to only do backward references.)

(2) 64tass wants the labels on JMP/JSR absolute operands to have 24-bit
values that match the current program bank.  This is the opposite of
cc65, which requires 16-bit values.  We need to distinguish PBR vs.
DBR instructions (i.e. "LDA abs" vs. "JMP abs") and handle them
differently when formatting for "Common".

Merlin32 doesn't care, and ACME doesn't work at all, so neither of
those needed updating.

The 20052-branches-and-banks test was expanded to cover the problematic
cases.
2020-07-01 17:59:12 -07:00
..
Properties Initial file commit 2018-09-28 10:05:11 -07:00
Address.cs Initial file commit 2018-09-28 10:05:11 -07:00
Asm65.csproj Initial file commit 2018-09-28 10:05:11 -07:00
CharEncoding.cs PETSCII does DCI 2019-08-20 17:55:12 -07:00
CpuDef.cs Fix display of instruction attributes 2019-10-22 10:48:02 -07:00
Formatter.cs Tweak OMF converter 2020-06-30 11:48:11 -07:00
Helper.cs Add junk/align directives 2019-10-18 21:00:28 -07:00
Label.cs Label rework, part 1 2019-11-08 21:02:15 -08:00
Number.cs Add file slicer tool 2019-12-29 17:59:35 -08:00
OpDef.cs Fix some 65816 code generation issues 2020-07-01 17:59:12 -07:00
OpDescription.cs Clarify BRK explanation 2019-10-29 10:18:48 -07:00
OpName.cs Rename undocumented 6502 opcodes to match Unintended Opcodes doc 2018-10-05 14:28:45 -07:00
StatusFlags.cs Initial file commit 2018-09-28 10:05:11 -07:00
StringOpFormatter.cs Define and use "delimiter sets" 2019-08-14 16:10:04 -07:00
TriState16.cs Initial file commit 2018-09-28 10:05:11 -07:00