mirror of
https://github.com/fadden/6502bench.git
synced 2024-08-18 14:29:01 +00:00
Early data sheets listed BRK as one byte, but RTI after a BRK skips the following byte, effectively making BRK a 2-byte instruction. Sometimes, such as when diassembling Apple /// SOS code, it's handy to treat it that way explicitly. This change makes two-byte BRKs optional, controlled by a checkbox in the project settings. In the system definitions it defaults to true for Apple ///, false for all others. ACME doesn't allow BRK to have an arg, and cc65 only allows it for 65816 code (?), so it's emitted as a hex blob for those assemblers. Anyone wishing to target those assemblers should stick to 1-byte mode. Extension scripts have to switch between formatting one byte of inline data and formatting an instruction with a one-byte operand. A helper function has been added to the plugin Util class. To get some regression test coverage, 2022-extension-scripts has been configured to use two-byte BRK. Also, added/corrected some SOS constants. See also issue #44. |
||
---|---|---|
.. | ||
WpfGui | ||
AsmAcme.cs | ||
AsmCc65.cs | ||
AsmMerlin32.cs | ||
AsmTass64.cs | ||
AssemblerConfig.cs | ||
AssemblerInfo.cs | ||
AssemblerVersion.cs | ||
GenCommon.cs | ||
IAssembler.cs | ||
IGenerator.cs | ||
LabelLocalizer.cs |