Commit Graph

43 Commits

Author SHA1 Message Date
ggn 09135712da .equr overhaul part 5: enabled .equr for all registers for all architectures 2022-05-30 14:17:59 -05:00
ggn 1df6df8dae .equr overhaul part 4: handle equrundef (and the other permutations of the directive) 2022-05-30 14:17:59 -05:00
ggn 37694c99b0 Fix for bug #174 - when a macro contains an error, actually print the filename it was defined in, instead of current filename 2021-06-08 20:41:50 -05:00
Shamus Hammons cbc8347d4f Update to the name (don't ask), and copyright dates. Now at v2.1.0. 2021-03-07 16:43:25 -06:00
Shamus Hammons ba8121d864 Fix for bug #51. Now at v2.0.22.
We bumped the # of tokens in the TOKENSTREAM structure from 32 to 64,
but also added some logic to the macro invocation code to check if we
break the limits and thus don't crash.  Will 64 be enough?  My crystal
ball is cloudy ATM...  :-P
2020-09-28 21:41:40 -05:00
Shamus Hammons e01afe2aa5 Fix for bug #157 (token buffer overflow with long lines).
Also fixed a bug reported by swapd0 where a source file was longer than
65535 lines.  Now at v2.0.17.
2020-07-17 18:05:25 -05:00
ggn c38505ee4b Actually implement ^^FILESIZE this time :) 2020-01-03 09:56:36 -06:00
Shamus Hammons 4205233c83 EOY minor update. 2020-01-03 09:25:26 -06:00
Shamus Hammons bdbf34766f Added in DSP fixups to sect.c, misc. fixes for 6502 assembler. 2019-08-06 10:16:20 -05:00
Shamus Hammons 30a2086548 Cleanup of codebase and initial commit of 56K assembler by ggn.
There's still a ways to go before this will work properly as we need to
add proper fixup handling and origin (".org") bookkeeping. As it is now,
the addition of all the miscellaneous bits and bobs to support the main
56K assembler are in place but they don't cause any regressions to the
existing assemblers already present in RMAC. Stay tuned for Round 2!
2018-06-23 11:57:21 -05:00
Shamus Hammons 9153334781 Partial fix for bug #108 (Fixup cleanups).
RMAC has needed a struct for fixups for some time, and now it has one.
All of the credit for pushing (and patching!) in that direction goes to
ggn; blame for the way it's implemented goes to me. There's still room
for improvement; but for now, this should leave us in much better shape.
Now at v1.12.0.
2018-02-09 23:08:47 -06:00
ggn c2caacfdc8 Modified IMACRO and IREPT to store line numbers during definition - error now correctly prints source line number 2017-11-29 13:58:33 -06:00
Shamus Hammons eace4e1b29 Roll back TOKENPTR changes and most of the .u32 changes weren't needed.
The last commit had gone a bit overboard with the 32 vs 64 bit token
changes; this has been rectified. There's still a ways to go with the
floating point code, but this should be stable for now. Version now at
1.10.1.
2017-11-29 07:57:58 -06:00
Shamus Hammons f3c7d186a1 Fixes for last commit; version is now 1.10.0.
The float changes will need some going over to ensure that we don't end
up with what we had when pointers were shoved into the token stream
willy-nilly.
2017-11-21 07:54:55 -06:00
ggn 582df8950c Added floating point support to expression evaluator, introduced FLOAT token, fixup FU_ equates, fixed a load of casting warnings that (some) led to codegen bugs. 2017-11-18 09:54:04 -06:00
Shamus Hammons cfd001aea6 Fix for section alignment values in ELF objects.
Thanks to SainT for the patch. :-)
2017-08-29 12:20:17 -05:00
Shamus Hammons 49eac9eff9 Fix for bug #102. Thanks (blame!) go to ggn & dml for the idea. :-) 2017-07-20 14:15:53 -05:00
Shamus Hammons f7f625cf6c Fix for bug #101 (bad macro handling).
Just when you thought it was safe to write macros with constants, up
pops a condition you thought was dead and buried yet lurches inexorably
towards your code and causes it to segfault. As it turns out, it was
bad token stream parsing that caused this, with a constant masquerading
as a STRING token being the particular mischief maker. The code that
was in place was an awful mess of horrible garbage code that wasn't
even being used anymore--so that crap is gone, and replaced with
something more (I hope) sane and maintainable. I think that the code
that was there survived purging for so long because nobody really
understood it; now that I understand it, I can't believe that it was
written in the first place (to be fair, some of it was patching done by
me, though the bulk of awfulness didn't come from that code). Onward
and upward...
2017-07-19 23:22:01 -05:00
Shamus Hammons c9541a9d4f Fixed IREPT blocks to not corrupt memory on 64-bit hosts. 2017-07-19 15:27:06 -05:00
Shamus Hammons 96a5cd6957 Fixed bad char reporting, revamp of the error/warning system.
Somehow I put a unicode character in my assembly source and RMAC then
barfed up an internal error #2. Chasing this down, I finally determined
that the debug traces weren't lying to me and the input file had a
problem. However, RMAC wasn't reporting the illegal character correctly
either, so that was fixed (who knew that gcc was silently killing bit 7
of chars now?). I also realized that having five separate functions for
reporting errors (and the cruft of using those crippled things) was just
a wee bit insane, so now we have proper variable argument error and
warning functions (they can be used just like a printf). Enjoy!
2017-06-23 19:03:24 -05:00
ggn 03dd34951a (c) message in header files and doc mini adjustments. 2017-05-08 09:15:22 -05:00
Shamus Hammons 5f23454f71 Code cleanup from last patch, also, version bump for same. :-) 2017-05-06 21:07:36 -05:00
ggn 03eb5a53e1 Increase line lengths for listing and line parser. 2017-05-06 13:07:07 -05:00
ggn 5cd8a4814b Initial commit for 68020/30/40/60/68881/68882/68851 support. 2017-05-06 13:06:57 -05:00
Shamus Hammons 9207a38ed4 Fixed code to remove warnings. Inching closer towards zero. :-) 2017-04-24 22:30:42 -05:00
ggn a3feec3b2d Much better implementation for A8 strings - introduced a new token called STRINGA8. Also, all this time we forgot to update mntab :). 2017-04-21 16:26:28 -05:00
Shamus Hammons 968958cccf Version bump for last commit. ;-) 2017-04-21 13:59:50 -05:00
ggn 2161b198b7 6502 mode: fix clearing of its RAM space with each .6502 invocation. Also fixed chptr resetting with each .6502 invocation. Also in this mode: dc.b strings with single quotes will get encoded to Atari 800 internal encoding (hardcoded mode for now, can be extended). 2017-04-21 13:42:40 -05:00
Shamus Hammons ff2052bcaa Code cleanup, version bump for last commit. :-) 2017-04-20 14:29:31 -05:00
Shamus Hammons 60f204cb9e ELF support for RMAC.
ggn deserves most of the credit for this, as my job was going through
and tossing out the stuff that wasn't needed. ;-) There might be some
ELFish things that still need fixing; time, as usual, will tell.
2017-04-14 15:52:31 -05:00
ggn 389f084bc1 New keyword ^^ABSCOUNT counts bytes defined in current .abs section. 2015-11-10 20:41:02 -06:00
ggn 91beff6462 Fix for bug #51. Apparently 10 tokens weren't enough for modern programming! 2015-11-09 18:29:14 -06:00
Shamus Hammons d0c28c349d Fix for "*" getting bad section attributes, reported by A. Seed. 2015-02-19 08:56:14 -06:00
Shamus Hammons b10167d557 More fixups to remove warnings, removal of more cruft. 2013-03-05 11:47:22 -06:00
Shamus Hammons f6e6a55c4c Fix silly mask bugs, added check for use of undefined register equates. 2013-03-02 14:22:33 -06:00
Shamus Hammons 322522e2a9 Fixed missing error reporting on fixup stage. 2013-02-03 11:59:21 -06:00
Shamus Hammons 44301fed8a Fixed error reporting wrong file, off-by-one error in file record system. 2013-02-03 10:39:51 -06:00
Shamus Hammons daf2f61a36 Fixed problem with nested MACROs.
While the assembler is in better shape vis-a-vis 64-bitness, there's
still a long way to go towards refactoring the thing to remove all
the problems it has with crufty data structures, and I'm sure there's
still bugs left in things like the .rept directive.
2012-11-25 22:49:46 -06:00
Shamus Hammons d16b8ea0ee First working 64-bit version of RMAC
There's still lots to do, like refactoring a bunch of stuff that's
still basically wrong, but that's par for the course. There may be
more things that need fixing (like the .rept function, for example).
2012-11-24 13:48:52 -06:00
Shamus Hammons 49cce96fba Code cleanup and prepartion for 64-bit host fixes
I removed a few functions that are better off being handled by the
native system libraries (malloc for amem, strdup for nstring). Also,
cleaned up files in preparation for removing pointers from the token
stream--which is preventing RMAC from working on 64-bit systems.
2012-11-23 10:39:09 -06:00
James Hammons 3385b36663 More readability cleanups. 2012-01-19 22:28:32 +00:00
James Hammons 75cce0d9eb Various cleanups to fix compiler warnings. 2011-12-26 23:54:45 +00:00
James Hammons d28f432296 Initial commit. 2011-12-26 22:50:27 +00:00