Paul Koning
7354aadbfc
Allow expression (with constant value) in .RADIX
...
Also add a test file for it.
2022-06-28 09:32:34 -04:00
Olaf Seibert
fe83ebf9ed
Update CHANGES file with recent news.
2022-06-27 21:12:58 +02:00
Olaf Seibert
08912623a9
Comments in playground.
2022-06-27 21:12:30 +02:00
Paul Koning
edd43e8f1d
Fix .ident handling for ident strings 3 chars or less.
2022-06-27 14:28:02 -04:00
Paul Koning
417ff111ad
Fix .IDENT to accept <val> just as .RAD50 does.
2022-06-27 09:51:19 -04:00
Paul Koning
2969c16583
Allow formal name of .IRP and .IRPC to be enclosed in < >.
2022-06-26 14:48:22 -04:00
Paul Koning
5f71c6b7c3
Allow explicit decimal point after .RADIX argument.
2022-06-26 14:44:21 -04:00
Paul Koning
0721a35400
Treat unexpected .IF argument as true, not false. This appears
...
to be what the reference assembler does, at least it is necessary
for certain RSTS source files to assemble without error.
2022-06-26 14:29:04 -04:00
Paul Koning
7da1e1ef56
Implement .ENABLE MCL
2022-06-26 14:27:19 -04:00
Paul Koning
21f21b9799
Fix macro calls with omitted argument that has a default value,
...
followed by additional (not omitted) arguments.
2022-06-26 13:41:37 -04:00
Paul Koning
aa8d5fdfef
Always list lines that have an error
2022-06-26 13:40:00 -04:00
Paul Koning
c42c5732b3
Fix .library pseudo
...
Two problems:
1. Spurious "junk at end of line" message because no parsing was done
in pass 2
2. Error messages not shown because error printing only happens in
pass 2
Solution for both is to process the directive in both passes.
2022-06-26 13:13:49 -04:00
Paul Koning
43d7b493fb
Allow TRAP without argument, or with non-literal argument
2022-06-26 13:13:49 -04:00
Paul Koning
fbb936d1ce
Fix .psect without argument, add (ignored) pseudo ops
...
.mdelete, .cross, .nocross
2022-06-26 13:13:49 -04:00
Paul Koning
db9cb5a9ee
Add default extensions to .include, .library
2022-06-26 13:13:03 -04:00
Olaf Seibert
be7bbc5539
Improve comment about the division by multiplying.
2022-06-21 20:02:04 +02:00
Olaf Seibert
13f0fb4d2b
Replace the loop that divides by 10 by a divide.
2022-06-19 16:27:20 +02:00
Olaf Seibert
3eb7274625
Add some FP test cases, including some parse errors.
...
Adjust the parsing a bit, and generate 0 values for bad syntax
like the reference version does.
2022-06-19 16:16:31 +02:00
Olaf Seibert
3109f40bd5
Parse floats using integers (64 bits) only.
...
The algorithm is close to what the reference version is doing.
2022-06-19 14:56:14 +02:00
Olaf Seibert
bb56fc33f1
Add floating point parsing playground.
2022-06-19 14:49:41 +02:00
Olaf Seibert
e86f0bd4d5
Also add more checks to RT11 MLB reader.
2022-06-15 15:34:04 +02:00
Olaf Seibert
779c775107
Make RSX MLB parser more resistant to bad files.
2022-06-13 22:54:47 +02:00
Olaf Seibert
ff183c0e36
Improve parsing of symbols.
...
In particular, don't confuse `4..` with a symbol.
2022-06-04 21:31:06 +02:00
Olaf Seibert
8d7414d7c3
Rename stream2 method "gets" to "getline"
...
because FORTIFY re#defines gets, and this gets is something different.
2022-01-05 22:29:03 +01:00
Olaf Seibert
a0add7154f
Development after a release.
2022-01-05 22:27:00 +01:00
Olaf Seibert
c311f6a175
Release version 0.7.2
...
since the current state seems stable.
2022-01-05 21:30:15 +01:00
Olaf Seibert
29b7b4c540
Make the "gmake tests" target usable.
...
Add a leak exception for the leak sanitizer, needed on NetBSD 9.2.
2021-11-30 22:00:37 +01:00
Olaf Seibert
29cd179ff6
Remove outdated comment in test.
2021-11-30 21:56:45 +01:00
Olaf Seibert
39f1bcd238
Add %-expressions to CHANGES file.
2021-11-18 21:35:16 +01:00
Olaf Seibert
3a9d809b75
Optimize the previous version.
...
Fold the functionality of pull_up_reg() into evaluate_rec().
pull_up_reg() essentially returned a flag (EX_REG at the top, or not)
which can be represented with the outgoing flags word.
The check for recursion depth is made unneeded by doing the
"exceptional" case outside the recursion; luckily it is actually the
common case.
2021-11-15 21:35:37 +01:00
Olaf Seibert
1067b63043
Add the test with the weird expressions with registers.
...
Now that we have some code that seems to do pretty much what we want.
2021-11-15 19:28:19 +01:00
Olaf Seibert
c29dc7d7af
Work in progress...
...
Make expressions work where the % operator isn't (only) at the top
level.
2021-11-15 19:28:19 +01:00
Olaf Seibert
21e9410571
Add evaluation of %+unary expressions.
...
This is a first step towards expressions like <%1>+1 and even later R1+1.
2021-11-15 18:31:15 +01:00
Olaf Seibert
2aa43f17f7
Make some expression tree operations more generic.
2021-11-15 18:26:10 +01:00
Olaf Seibert
6a3642e49a
Nicer, more specific name for temp symbol.
2021-11-15 10:31:26 +01:00
Olaf Seibert
08c6254bdd
Temp symbols are defined, so flag them as such.
2021-11-14 23:14:21 +01:00
Olaf Seibert
16b884a744
Add some more abusive test cases.
2021-11-14 23:09:35 +01:00
Olaf Seibert
3c858fe45d
Make sure immediate operands #R0 etc are output as absolute values.
...
Previously it was generated as relocatable.
2021-11-14 23:05:20 +01:00
Olaf Seibert
1c37223977
Make sure .word R0 etc are output as absolute values.
...
Previously it was generated as relocatable.
2021-11-14 22:49:44 +01:00
Olaf Seibert
855c1ca321
Slightly improve expression tree debug output.
2021-11-14 22:40:43 +01:00
Olaf Seibert
36db00dc79
Name some unnamed special sections for easier recognition.
2021-11-14 22:37:15 +01:00
Olaf Seibert
ef66dd0379
Fix pasto.
2021-11-14 19:20:02 +01:00
Olaf Seibert
2df94bfc43
Fix memory leaks in error paths of get_mode().
2021-11-14 18:58:58 +01:00
Olaf Seibert
5098927591
Fix a memory leak in my_searchenv2().
2021-11-14 18:47:56 +01:00
Olaf Seibert
e1962af99e
Fix a small one-time memory leak.
2021-11-14 18:44:00 +01:00
Olaf Seibert
3342090916
More silly %-register tests.
2021-11-14 17:09:29 +01:00
Olaf Seibert
efe4a882e3
Consistent out-of-memory checks.
2021-11-13 23:07:30 +01:00
Olaf Seibert
1722fae3d4
Rename 'rel' field to 'pcrel'.
2021-07-04 20:02:21 +02:00
Olaf Seibert
34b4815798
Rename undef to flags
2021-06-12 21:44:23 +02:00
Olaf Seibert
7ba6ed13e6
Move some work into expression parse tree constructors
2021-06-12 20:32:49 +02:00