Commit Graph

56 Commits

Author SHA1 Message Date
marcobaye
beb1e178cd got rid of most of the *_init() functions
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@291 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-08-16 17:39:13 +00:00
marcobaye
2be25080aa internal cleanup: keyword trees are now only built when needed.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@290 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-08-15 14:55:22 +00:00
marcobaye
b2b14cb176 minor cleanup, no change in functionality
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@288 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-08-12 12:31:06 +00:00
marcobaye
b03b217979 disabled all indexed addressing for m65's "quad" mode, except for LDQ.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@287 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-07-29 23:30:33 +00:00
marcobaye
3db33bafb5 nmos6502 mode now also accepts ALR mnemonic (alias for ASR)
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@286 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-07-28 23:08:07 +00:00
marcobaye
6dd15f7116 added BITQ and ASRQ to m65 cpu.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@283 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-07-27 23:37:36 +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
b8f9bb9d36 minor changes only (FIXMEs and docs)
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@276 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-07-17 11:47:05 +00:00
marcobaye
ca08a1d150 started work on !watch and !trace (commented out), minor cleanup, no changes
in functionality


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@275 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-07-12 18:46:06 +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
9d637eee25 comments only, no change in functionality
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@262 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-28 00:05:35 +00:00
marcobaye
c85081cbe4 allowed # characters in MVP/MVN syntax
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@261 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-26 10:45:20 +00:00
marcobaye
f9a2f5f698 got rid of DEFINED flag by making UNDEFINED its own number type
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@235 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-16 22:44:54 +00:00
marcobaye
f64780a3bd added typedef for "bits"
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@231 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-14 00:26:38 +00:00
marcobaye
7a0f9f9528 disabled NOP mnemonic on m65 cpu
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@211 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-03 11:02:16 +00:00
marcobaye
f164b737ad in 6510 mode, DOP/TOP can now also be written as NOP
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@209 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-06-02 15:09:36 +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
8169cf6e06 changed 6510 to nmos6502 internally
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@199 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-29 13:04:28 +00:00
marcobaye
2ad075911b enabled !while and new warning about parentheses
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@197 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-28 18:43:49 +00:00
marcobaye
0173eaf777 cleanup, now only output.c accesses CPU_state.pc
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@186 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-22 20:55:36 +00:00
marcobaye
dfca72688b support for m65 should be finished now
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@185 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-21 23:46:11 +00:00
marcobaye
8eddb4f4bc started suuport for MEGA65 cpu (not finished yet)
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@184 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-21 19:36:59 +00:00
marcobaye
40afd3311a cleaned up expression handler, it's now able to handle more than just ints/floats
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@158 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-13 23:26:40 +00:00
marcobaye
20e04e22bc fix for previous commit: do not complain about () inside []
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@154 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-11 12:42:47 +00:00
marcobaye
4c938480fc added warning about parentheses for mnemonics without indirect addressing. currently needs "--test", will be enabled in next release.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@153 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-11 11:13:06 +00:00
marcobaye
7d4200faa4 step 2 to fix ALU_* calls
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@141 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-08 00:34:46 +00:00
marcobaye
60603c7350 step 1 to fix ALU_* calls
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@140 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-07 23:32:06 +00:00
marcobaye
bc0efebb3e cleanup
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@138 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-05-06 11:40:06 +00:00
marcobaye
669f95c238 renamed a bunch of stuff, no change in functionality
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@128 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-04-28 16:02:09 +00:00
marcobaye
68b4409b1c internal cleanup: moved "indirect" flag from result to expression struct
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@125 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-04-26 20:14:39 +00:00
marcobaye
41f9534b99 more internal cleanup
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@124 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-04-26 18:53:14 +00:00
marcobaye
a4afd81f42 some internal cleanup concerning empty expressions
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@123 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-04-26 16:24:34 +00:00
marcobaye
2ad798bef2 ACME release 0.96.5: Added "//" comments, added "--ignore-zeroes" and "--strict-segments" CLI switches.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@121 4df02467-bbd4-4a76-a152-e7ce94205b78
2020-04-14 00:28:31 +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
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
47f09e9804 a bit of internal cleanup of names and comments, no change in functionality
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@92 4df02467-bbd4-4a76-a152-e7ce94205b78
2017-10-21 19:59:56 +00:00
marcobaye
899f8c3b0c rearranged some data tables
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@84 4df02467-bbd4-4a76-a152-e7ce94205b78
2017-01-08 22:16:43 +00:00
marcobaye
9603d13031 ACME release 0.96.1: Fixed bug where 65ce02's "(zp),z" addressing mode could be used in 65816 mode.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@81 4df02467-bbd4-4a76-a152-e7ce94205b78
2017-01-05 10:39:19 +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
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
4bcae073f9 refactoring - now all pseudo opcodes are back together in one file. no change in functionality.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@53 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-12-22 00:47:52 +00:00
marcobaye
c53505915d Refactoring only; no change in functionality.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@47 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-12-03 22:18:06 +00:00
marcobaye
e85f677cbd Release 0.95.4: Added the last remaining undocumented ("illegal") opcodes: LAS, TAS, SHA, SHX, SHY and ANE.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@44 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-11-25 23:57:15 +00:00
marcobaye
ded7f1a065 Removed a keyword tree with only two entries ("while" and "until") - that was just silly.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@43 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-11-25 16:15:22 +00:00
marcobaye
653ce7549c Changed comments and struct names; no change in functionality
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@42 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-11-24 14:52:05 +00:00
marcobaye
0e66c1fcb2 Release 0.95.3: Added support for C64DTV, MSVC error output and VICE label dump.
Added "c64dtv2" cpu type so you can use its SIR, SAC and BRA opcodes;
	along with the undocumented ("illegal") opcodes of the 6510.
Added Martin Piper's "--msvc" patch so error output can be configured
	to be in Visual Studio format. Thanks Martin!
Merged third-party patch of unknown origin to output label dump in VICE
	format. Still needs work to be configurable about the types of
	symbols actually output.


git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@41 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-11-23 23:40:01 +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
8b2c8187a2 Release 0.94.11: Number arguments to !warn, !error and !serious are now output in hex format as well. Also changed docs accordingly.
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@32 4df02467-bbd4-4a76-a152-e7ce94205b78
2014-05-28 21:39:15 +00:00