Commit Graph

39 Commits

Author SHA1 Message Date
marcobaye
45ce8164e9 refactored "macro twice" code. messages about initial definitions and macro
call stacks are now output as "info" instead of "warning".


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@405 4df02467-bbd4-4a76-a152-e7ce94205b78
2024-08-29 15:14:11 +00:00
marcobaye
be4580af53 finally removed the 64 KiB limit, the outbuffer size is now determined at
runtime. I added a hard limit of 64 MiB, but that value is completely
arbitrary.


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@402 4df02467-bbd4-4a76-a152-e7ce94205b78
2024-08-27 18:54:07 +00:00
marcobaye
43759e6026 cleaned up error messages
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@372 4df02467-bbd4-4a76-a152-e7ce94205b78
2024-03-25 00:51:11 +00:00
marcobaye
a2103c167e improved "macro twice" error output and did some cleanup...
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@355 4df02467-bbd4-4a76-a152-e7ce94205b78
2024-03-03 23:35:21 +00:00
marcobaye
45bb65d74d Un-pseudopc-operator '&' can now be applied to all address symbols, not only
to implicitly defined labels.


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@354 4df02467-bbd4-4a76-a152-e7ce94205b78
2024-03-03 14:31:08 +00:00
marcobaye
5fc6a8a5e3 fixed bug introduced in previous commit
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@352 4df02467-bbd4-4a76-a152-e7ce94205b78
2024-03-01 10:16:48 +00:00
marcobaye
5910081651 more cleanup and preparations for new features
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@349 4df02467-bbd4-4a76-a152-e7ce94205b78
2024-02-26 23:54:10 +00:00
marcobaye
3bb7fce2f0 removed warning about C-style "==" comparison operator.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@317 4df02467-bbd4-4a76-a152-e7ce94205b78
2021-01-31 21:56:37 +00:00
marcobaye
8229fe47b0 Changed "Bin/Hex value without any digits" from warning to error.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@315 4df02467-bbd4-4a76-a152-e7ce94205b78
2021-01-27 19:59:25 +00:00
marcobaye
c9d148d345 added "!for VAR in ITERABLE { BLOCK }" possibility.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@306 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-10-23 23:13:26 +00:00
marcobaye
cc82e17cda indexing of strings and lists can now be done from outside of expression parser.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@305 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-10-23 21:48:06 +00:00
marcobaye
465da8c139 several small changes:
fixed a bug where "number out of range" error led to bogus "label already defined" errors
 made "number out of range" errors more specific (8/16/24 bit range)
 re-phrased two error messages
 cleaned up docs concerning "command/opcode/mnemonic/instruction"
 added test program to trigger "out of range" errors
 internal cleanup concerning INW/DEW/JAM mnemonics


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@278 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-07-18 13:50:46 +00:00
marcobaye
70b9ee222d tweaked docs and removed some comments, no change in functionality
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@273 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-30 09:24:30 +00:00
marcobaye
7038cecfec fixed error in docs/Errors.txt
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@264 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-28 09:24:56 +00:00
marcobaye
296ecefa6c explained more errors in docs
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@260 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-23 15:30:49 +00:00
marcobaye
aa51fde056 Added warning about unusual number of digits in binary literals,
and a CLI switch to disable that warning.


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@257 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-22 20:32:38 +00:00
marcobaye
1261960cad adjusted docs (added !WHILE, ELSE IF, etc)
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@251 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-21 19:06:12 +00:00
marcobaye
eca73fb335 simplified handling of special operators
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@239 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-18 10:15:53 +00:00
marcobaye
1199c75025 more test programs
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@229 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-13 23:12:06 +00:00
marcobaye
9db5ad6fdb first step to refactor symbol assignments
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@212 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-03 16:30:13 +00:00
marcobaye
c03d1145f6 made warning about "pointer at $ff" depend on cpu flag
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@205 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-31 13:07:40 +00:00
marcobaye
9bbac556d3 worked on error messages
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@202 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-29 22:03:04 +00:00
marcobaye
636080ce25 started work on '&' operator
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@195 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-27 20:25:42 +00:00
marcobaye
98ae73381d updated error messages
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@190 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-24 21:16:50 +00:00
marcobaye
9628f69f4e ACME release 0.96.4: Fixed bug in zero page wrap-around warnings. Added "!xor" pseudo op. Added "-I" CLI switch.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@97 4df02467-bbd4-4a76-a152-e7ce94205b78
2017-12-22 22:55:36 +00:00
marcobaye
3867147615 Fixed docs to include two error messages. Fixed a typo, no change in functionality.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@95 4df02467-bbd4-4a76-a152-e7ce94205b78
2017-11-03 15:14:55 +00:00
marcobaye
7cb100c480 ACME release 0.96.3: Added "!hex" and "!skip" pseudoops. Added cheap locals.
Added CLI switch to change pseudoop prefix to '.'
Fixed a bug in expression parser and added a warning.


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@94 4df02467-bbd4-4a76-a152-e7ce94205b78
2017-10-29 23:29:07 +00:00
marcobaye
294fe25c36 ACME Release 0.96: Added experimental support for instruction sets of Rockwell 65C02, WDC 65C02(S), CSG 65CE02 and CSG 4502.
Stack indexing can now be given either as ",s" or as ",sp" (only relevant for 65816 and 65CE02).


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@78 4df02467-bbd4-4a76-a152-e7ce94205b78
2016-12-28 20:32:00 +00:00
marcobaye
222f06c905 ACME Release 0.95.8: Errors in macros are now shown with call stack.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@75 4df02467-bbd4-4a76-a152-e7ce94205b78
2016-10-08 12:19:12 +00:00
marcobaye
8d2719db8a Release 0.95.6 (intermediate release): Removed ANC from DTV2 mode, "Value not defined"
message now includes symbol name, fixed bug in type system (!for loop counters), added
address() as alternative to addr(), fixed bug in report listing generator (CR in input
caused additional blank lines in output).


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@63 4df02467-bbd4-4a76-a152-e7ce94205b78
2015-06-14 23:16:23 +00:00
marcobaye
af1bd69455 Release 0.95.2: Changed "save labels" to "symbol list" in a lot of code, error messages and docs.
Added "!symbollist" alias for "!sl" pseudo opcode.
Change in undocumented ("illegal") opcodes: ANC #8 now generates 0x0b instead of 0x2b (both opcodes do the same thing).
Added experimental support for generating a report listing. Thanks to Johann Klasek for writing this extension patch.


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@40 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-11-22 01:36:02 +00:00
marcobaye
808ccf39a3 Release 0.95.1: Tweaked type system and changed "label" to "symbol" in a lot of places.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@35 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-06-07 00:12:10 +00:00
marcobaye
d152f60acd Release 0.95: Added experimental type checking system (still missing docs, however). Made warning about old "!for" syntax configurable.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@34 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-06-02 00:47:46 +00:00
marcobaye
c8ff626943 Release 0.94.12: Finally created new "!for" syntax so counting can start at zero. Added "0b" as alternative prefix for binary values.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@33 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-05-31 00:46:55 +00:00
marcobaye
f9e55a0d13 Release 0.94.9: C-style "==" operator is now recognized (but gives a warning).
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@29 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-05-06 22:16:41 +00:00
marcobaye
f1341c44fd Release 0.94.8: Segment changes are now possible within pseudopc blocks.
Finally disabled obsolete pseudo opcodes "!cbm", "!subzone" and "!realpc".
!pseudopc now *must* be used with a block in {} braces.
Added support for illegal opcode LXA #$00 (opcode 0xba).


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@26 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-03-10 00:17:10 +00:00
marcobaye
059238874d Release 0.94.5: Fixed bugs in wrap-around branches and left-shifting floats. Several changes in library.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@15 4df02467-bbd4-4a76-a152-e7ce94205b78
2013-06-26 23:01:00 +00:00
marcobaye
57ff3490e0 "Target out of range" errors now output how far off.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@6 4df02467-bbd4-4a76-a152-e7ce94205b78
2012-03-16 20:21:09 +00:00
marcobaye
721a2d7bbc fixed dir tree structure
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@3 4df02467-bbd4-4a76-a152-e7ce94205b78
2012-02-27 21:25:04 +00:00