- Fix:
.defaultin target overrides definition in program. - Fix: string encoding not serialized correctly.
- specify padding character in string encoding (
:string(<n>, '<c>')) - parse signed non-native integer encoding (
:-big_endian[(<n>)],:little_endian(-<n>)) - verify that integer encoding size <= 8
- Allow non-constant expressions for range in
.binary_file. - Character constants, optionally with encoding (
'a':screen) - Track constant usage, include used constants in symbol table.
- Optionally omit private symbols of libraries from symbol talbe.
- Move location from BaseExpression to Expression, update centrally
- Include library name in symbol table.
- Fix
.repeatwithout index variable but count expression begins with variable - Places 2-byte reserve in 1-byte block.
- Named label in macro results in unresolved variable. (
macro-named-label.test) .include_bianryis parsed as.include _binary.- Fix
.mod.
- Z80 CPU.
.if .definedin body.pre_if .trueinside.pre_if .false.use,.uses,.pin,.used.defineand.undefineare ignored if preprocessor is skipping.- non-native integer encodings
- range for
.binary_file .default.mod
- preprocessor
- target additions (objects in target, only used from
.outputincluded in program) - non-native integer encodings
- range for
.binary_file - in-body
.ifsyntax .repeat,.fill.default.mod
- add support for
\\escapes
- fix target specified in source file (CPU punctuation doesn't get added, assemlby instructions not recognized)
- fix
.importin assemlby source file - Don't use full file name for
.importin object file. .segmentnot reported as unknown directive while assembling- columns are off when source contains TAB.
- Serialize which library object was resolved in (needed to refer to private objects). (still needed?)
- Test/fix labels (named and unnamed) in macros.
- Resolve macros in library they're defined in. Add placeholders for arguments in local environment.
- Add optional priorities to sections.
- evaluate ScopeBody to inner body when scope no longer needed.
- Don't serialize signed encoding when value is known to fit.
- Simplify X + N + M and similar.
- Don't rename CPU notation arguments. (Currently fails for 45gs02 CPU.)
- Fix Tokenizer:at_end to honor ungot token.
- Parsing objects: end on directive.