mirror of
https://github.com/ksherlock/x65.git
synced 2025-01-16 08:33:28 +00:00
Fixed bad fix (INCSYM was not properly fixed)
This commit is contained in:
parent
0605a1d6d2
commit
462eaeccf6
13
README.md
13
README.md
@ -19,20 +19,21 @@ Noteworthy features:
|
|||||||
* C style scoping within '{' and '}' with local and pool labels
|
* C style scoping within '{' and '}' with local and pool labels
|
||||||
respecting scopes.
|
respecting scopes.
|
||||||
* Conditional assembly with if/ifdef/else etc.
|
* Conditional assembly with if/ifdef/else etc.
|
||||||
|
* Recursible macro support
|
||||||
* Assembler directives representing a variety of features.
|
* Assembler directives representing a variety of features.
|
||||||
* Local labels can be defined in a number of ways, such as leading
|
* Local labels can be defined in a number of ways, such as leading
|
||||||
period (.label) or leading at-sign (@label) or terminating
|
period (.label) or leading at-sign (@label) or terminating
|
||||||
dollar sign (label$).
|
dollar sign (label$), and leading colon for merlin (:label).
|
||||||
* String Symbols system allows building user expressions and macros
|
* String Symbols system allows building user expressions and macros
|
||||||
during assembly.
|
during assembly.
|
||||||
* Reassignment of symbols and labels by default.
|
* Reassignment of symbols and labels by default.
|
||||||
* No indentation required for instructions, meaning that labels can't
|
* No indentation required for instructions, meaning that labels can't
|
||||||
be mnemonics, macros or directives.
|
be mnemonics, macros or directives (merlin requires indentation).
|
||||||
* Supporting the syntax of other 6502 assemblers (Merlin syntax
|
* Supporting the syntax of other 6502 assemblers (Merlin syntax
|
||||||
requires command line argument, -endm adds support for sources
|
requires command line argument, -endm adds support for sources
|
||||||
using macro/endmacro and repeat/endrepeat combos rather
|
using macro/endmacro and repeat/endrepeat combos rather
|
||||||
than scoeps).
|
than scoeps).
|
||||||
* Apple II GS executable output.
|
* Apple II GS executable output (relocatable executable).
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
@ -100,10 +101,10 @@ Primarily tested with personal archive of sources written for Kick assmebler, DA
|
|||||||
* irp (indefinite repeat)
|
* irp (indefinite repeat)
|
||||||
|
|
||||||
**FIXED**
|
**FIXED**
|
||||||
* INCSYM failed with local labels
|
* INCSYM failed with local labels, this is now properly handled. (fixed again..)
|
||||||
* INCBIN and IMPORT BINARY always failed (force 0 bytes length)
|
* INCBIN and IMPORT BINARY always failed (force 0 bytes length)
|
||||||
* Using more than 16 bytes of Pool labels was flawed
|
* Using more than 16 bytes of Pool labels was flawed as byte 15 and 16 would be the same address.
|
||||||
* Fixed STRUCT directive (failed if contained line was empty)
|
* Fixed STRUCT directive (failed if contained line was empty).
|
||||||
* Adding x65macro.i
|
* Adding x65macro.i
|
||||||
* Vice symbols will generate breakpoints whenever label 'debugbreak' is encountered
|
* Vice symbols will generate breakpoints whenever label 'debugbreak' is encountered
|
||||||
* Evaluating '==' was broken
|
* Evaluating '==' was broken
|
||||||
|
2
x65.cpp
2
x65.cpp
@ -4155,7 +4155,7 @@ StatusCode Asm::IncludeSymbols(strref line)
|
|||||||
strref symstart = symfile;
|
strref symstart = symfile;
|
||||||
if (strref symline = symfile.line()) {
|
if (strref symline = symfile.line()) {
|
||||||
int scope_start = symline.find('{');
|
int scope_start = symline.find('{');
|
||||||
if (scope_start > 0) {
|
if (scope_start != 0) {
|
||||||
strref symdef = symline.get_substr(0, scope_start);
|
strref symdef = symline.get_substr(0, scope_start);
|
||||||
symdef.clip_trailing_whitespace();
|
symdef.clip_trailing_whitespace();
|
||||||
strref symtype = symdef.split_token(' ');
|
strref symtype = symdef.split_token(' ');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user