269 Commits

Author SHA1 Message Date
Olaf Seibert
f07c9045f5 Prepare for macros being defined in "other ways" which are not yet put in the macro definition table. 2017-04-27 20:43:28 +02:00
Olaf Seibert
e4ec481d3d Add RT11 macro libraries.
Hopefully they won't open as RSX ones, because then they still won't work.
Can't test this now.
2017-04-27 20:34:07 +02:00
Olaf Seibert
96cfd4a152 First step in the support of multiple formats of macro (or object) libraries.
No test included since I don't have a distributable RSX .MLB file
available at this time.
2017-04-27 20:33:57 +02:00
Olaf Seibert
eb60cfe315 Very simple .LIST and .NLIST implementation.
Thanks to Don North. Also added a simple test.
Fixes #3.
2017-04-23 18:25:17 +02:00
Olaf Seibert
c771c875cb Fix a use-after-free. Found by Don North.
Also adjust test case to include this code.
Fixes #2.
2017-04-23 18:24:38 +02:00
AK6DN
e3b33ef330 Updated debug output for GSD psect processing 2017-04-10 00:17:00 -07:00
AK6DN
3d380827cb Minor update to psect flag processing 2017-04-09 21:03:19 -07:00
AK6DN
e7d126f682 Updated PSECT address/length processing 2017-04-09 19:41:18 -07:00
AK6DN
688828abd0 Always block out a psect length to be even 2017-04-09 17:55:34 -07:00
AK6DN
f58c4268f9 Update complex relocation evaluation so that it now works, and stores correct value at correct location 2017-04-08 22:46:48 -07:00
AK6DN
ac453f8a0b Added global symbol redefinition/undefined warnings; reformat debug output; change some die to warn 2017-04-08 14:29:46 -07:00
AK6DN
c4f9db5d8f First version with support for multiple .obj files and linking global symbols -- preliminary, lightly tested 2017-04-08 02:49:22 -07:00
AK6DN
364bd9603e Add debugging output for global symbol evaluation 2017-04-08 00:04:35 -07:00
AK6DN
90261543f4 Updated readme file 2017-04-07 13:29:59 -07:00
AK6DN
eeb1147233 More updates staging for multiple object file linking; change name to obj2bin.pl 2017-04-07 13:20:51 -07:00
AK6DN
74a686102c Minor type corrections. 2017-04-05 15:40:21 -07:00
AK6DN
872b33f183 Restructure code in preparation for supporting multiple input .obj files and linking. 2017-04-05 15:35:25 -07:00
Olaf Seibert
433e8ecda6 Add comment on a format strictness. ...
Remove unneeded #define.
2016-10-22 15:13:34 +02:00
Olaf Seibert
2620a1e98f Add .gitignore file. 2016-07-11 22:28:48 +02:00
Olaf Seibert
b8a955792c Fix operand check for XOR which is shared with JSR.
Fixes issue #1.
2016-07-11 22:10:15 +02:00
Don North
9ec5623662 Corrected header 2016-07-10 19:41:57 -07:00
Don North
6e4fe4c66e Initial version 2016-07-10 19:38:33 -07:00
Don North
8aeec20765 Initial commit 2016-07-10 19:36:50 -07:00
Olaf Seibert
a685d341c5 First changes in 0.5wip: correct some grammar (it's vs. its). 2016-02-21 21:13:50 +01:00
Olaf Seibert
2a14ffe251 Include changes for a release. 2015-11-09 22:31:31 +01:00
Olaf Seibert
ecd4e81a7c Fix Makefile and some unneeded #includes.
make clean would first compile everything before cleaning.
And building anything would make git-info.h too late.
2015-11-09 22:15:00 +01:00
Olaf Seibert
d76e294b06 Add some tests for operators and their (lack of) precedence. 2015-11-09 21:24:10 +01:00
Olaf Seibert
82f68e0d60 Implement .RAD50 <CHR> syntax, and tests. 2015-11-09 21:17:57 +01:00
Olaf Seibert
fda852a3f1 ^X is not an extension; ^R ^/.../ is.
Adjust comments about that.
2015-11-09 21:13:49 +01:00
Olaf Seibert
e148471a19 Extension .ascii ^/.../ conflicts with .ascii ^...^
so I removed it.
2015-11-09 21:11:41 +01:00
Olaf Seibert
0fba6eea33 Use function for creating a literal expression node. 2015-11-08 20:51:45 +01:00
Olaf Seibert
d6ff111149 Introduce a function to create a binary expression node. 2015-11-08 20:51:07 +01:00
Olaf Seibert
40ff236aaf Make free(tp) common code. 2015-11-08 20:49:37 +01:00
Olaf Seibert
9d756361b4 Fix pasto, present since all recorded history.
I don't think it made any practical difference: 2, like 1, is >= 1 and
that is what all the tests of xxx_PREC test.
2015-11-08 17:41:46 +01:00
Olaf Seibert
09717c3a5a Add comparison files for tests. 2015-11-08 17:41:46 +01:00
Olaf Seibert
3657acf345 Clean up some now-inaccurate comments. 2015-07-06 22:27:46 +02:00
Olaf Seibert
e02d3b3bdf Update the README file for the situation since 2009. 2015-07-06 22:23:39 +02:00
Olaf Seibert
80b20b17eb Add some info about git commit when printing the version.
Also modify dependency generation to be a side-effect of compilation.
It's still not quite perfect in picking up some changes (in particular
just after a commit, no files have changed but the git identification
is now different).
2015-07-06 21:43:03 +02:00
Olaf Seibert
ce2d526291 Added some robustness for when dumpobj is run on files which are...
almost an object file, such as an object library.
2015-06-09 22:33:53 +02:00
Olaf Seibert
22886c4a14 Add varrec, a little tool to convert files with variable records to byte streams. 2015-06-09 22:04:43 +02:00
Olaf Seibert
0aee873dc8 Add the link checker tool (in Perl).
This tool tells you which symbols are referenced by a group of OBJ files
but not defined.

It uses dumpobj to parse the OBJ files.
2015-06-09 22:04:01 +02:00
Olaf Seibert
137a9db671 More tests. Refine string delimiter test for .ASCII a bit.
Make the delimiters for .INCLUDE and .LIBRARY accept the same
delimiters (= is not disallowed, it just makes the line look like
an assignment).
2015-06-04 12:11:14 +02:00
Olaf Seibert
fdceabe88c Add .IF P1 and .IF P2 (tests for pass 1 and 2). 2015-06-04 00:35:31 +02:00
Olaf Seibert
b75195549e Combine .IF IDN and .IF DIF. 2015-06-03 23:03:36 +02:00
Olaf Seibert
c423ee346a Handle invalid expressions in .WORD directives with a message.
This is most relevant in implied .WORD directives which are caused by an
attempt to call a macro (which happens to be undefined) with arguments
that don't parse as valid expressions.
2015-06-01 23:30:16 +02:00
Olaf Seibert
ff5179743c Add addressing mode check for JSR, and a test. 2015-06-01 00:28:49 +02:00
Olaf Seibert
a24e3ba3ea Fix check for JMP Rn (which is illegal). 2015-05-31 23:34:05 +02:00
Olaf Seibert
60d0afde00 Use the path search also for .INCLUDE, and add -I option: include path
The -I option is used to specify the search path for .INCLUDE files.
It also appends this to the "INCLUDE" environment variable.
2015-05-31 22:52:05 +02:00
Olaf Seibert
e46f8ee2c7 Add a simple file name parser to my_searchenv(),
to try to find the requested file without device, directory and/or in
lower case.
2015-05-31 22:00:04 +02:00
Olaf Seibert
87814f7bb9 Automatic dependency generation with gcc -MM. 2015-05-28 20:04:31 +02:00