1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-07-30 15:29:01 +00:00
6502bench/SourceGen/AsmGen
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
..
WpfGui Add a progress bar to HTML export 2020-03-15 14:07:05 -07:00
AsmAcme.cs Fix ACME code gen "overflow" 2020-05-14 16:37:33 -07:00
AsmCc65.cs Set initial focus to appropriate field for project properties 2020-04-23 11:01:07 -07:00
AsmMerlin32.cs Work around Merlin assembler bug 2020-03-18 17:45:06 -07:00
AsmTass64.cs Two changes to "dense hex" bulk data formatting 2019-12-10 17:41:00 -08:00
AssemblerConfig.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
AssemblerInfo.cs First pass at ACME support 2019-08-03 20:54:07 -07:00
AssemblerVersion.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
GenCommon.cs Fix some 65816 code generation issues 2020-07-01 17:59:12 -07:00
IAssembler.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
IGenerator.cs Label rework, part 6 2019-11-18 13:36:53 -08:00
LabelLocalizer.cs Rename project/platform symbols that clash with opcode mnemonics 2020-01-17 18:29:20 -08:00