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
Olaf Seibert
0058db9044
Name the addressing modes.
2021-06-12 18:37:45 +02:00
Olaf Seibert
7f38f6ae03
Make it really easy to test putting undefined symbols in the main table.
2021-06-09 23:09:28 +02:00
Olaf Seibert
354aadfdc0
Add comment about undef'd symbols
...
that they can also be put in the main symbol table, since all code is
made to work with that scenario.
2021-05-30 21:52:08 +02:00
Olaf Seibert
72eae62c45
Update CHANGES.
2021-05-30 13:21:33 +02:00
Olaf Seibert
d2d143dd9b
Put undefined symbols in separate table.
...
Even though all regression tests pass, it feels better to do the
undefined symbols similar to the implicit globals.
2021-05-30 13:19:39 +02:00
Olaf Seibert
652c047711
Better error message for .globl 1$
...
Local labels can't be exported (or imported).
2021-05-30 13:19:39 +02:00
Olaf Seibert
0ab2a4fa16
Add consistency checking for symbol flags
...
while also adding some consistency.
All listings now list . (dot) as defined so they need updating.
2021-05-30 13:19:39 +02:00
Olaf Seibert
7bbcbba5f5
Include undefined symbols in the symbol table for listing purposes.
...
MACRO11 V05.05 does this:
```
.MAIN. MACRO V05.05 Sunday 18-APR-2021 16:29 Page 1
1
2 000000 012700 000000G mov #lab1,r0
3
4 .dsabl gbl
5
U 6 000004 012700 000000 mov #lab2,r0
7
8 000001 .end
.MAIN. MACRO V05.05 Sunday 18-APR-2021 16:29 Page 1-1
Symbol table
LAB1 = ****** GX LAB2 = ******
. ABS. 000000 000 (RW,I,GBL,ABS,OVR)
000010 001 (RW,I,LCL,REL,CON)
Errors detected: 1
*** Assembler statistics
Work file reads: 0
Work file writes: 0
Size of work file: 34 Words ( 1 Pages)
Size of core pool: 9260 Words ( 35 Pages)
Operating system: RSX-11M/M-PLUS
Elapsed time: 00:00:00.01
GBL,GBL/-SP=GBL
```
2021-05-30 13:19:39 +02:00
Olaf Seibert
d0445ef8f4
Record change.
2021-05-28 20:15:51 +02:00
Olaf Seibert
877248f94e
More detailed error messages about bad addressing modes
...
because of gitlab issue #10 .
2021-05-28 19:02:31 +02:00
Olaf Seibert
e21f390722
Adjust tests with new error message.
2021-05-28 17:18:55 +02:00
Olaf Seibert
426db4afda
Make 2 "invalid expression" messages more exolicit.
2021-05-28 17:12:33 +02:00
Olaf Seibert
cb8103d112
Run tests in both RSX11 and RT11 format.
...
This is possible since our reference files are output from dumpobj,
and that does not depend on the format.
2021-05-16 14:04:43 +02:00
Olaf Seibert
6c6f241bac
Prepare for development after released version.
2021-05-16 13:46:31 +02:00