Olaf Seibert
37abe35427
Add some test cases; some are failing so far.
2021-01-18 21:42:18 +01:00
Bjoren Davis
6f7e7963bc
small (1 and 2 word) floating point literals not parsed correctly
...
Fix gitlab issue #5 .
The parse_float() function has several bugs:
1. For 1- and 2-word floats it will always write all 4 bytes if the value is
exactly 0.
2. It incorrectly rounds and normalizes 1- and 2-word floats.
To see the issue easily try the following inputs:
.flt2 1.0
.flt4 1.0
These will assemble as '040100 000000' and '040200 000000 000000 000000'.
They should both begin '040200'.
In fact the test file test/test-prec.mac is incorrect in its only floating point value:
.word ^f 1.5 ; 040140
should actually assemble as 040300, not 040140 (040140 is actually ^F0.875).
I confirmed this on RT-11 running MACRO V05.06.
I fixed the problem with the following deltas:
[the patch]
The most crucial change is the very last one. 0x200000000000 is actually (1 << 45)
and because ufrac is normalized it means that it will always downshift ufrac by 1.
2021-01-18 20:22:34 +01:00
Olaf Seibert
07ee904c38
Extend test with a case that failed before a24e3ba3eaa70ab56346423a6156ac239737175e
2020-11-10 10:22:55 +01:00
Olaf Seibert
d7a98b8d4a
Add another little macro-defined-within-macro test.
2020-08-22 15:45:52 +02:00
Olaf Seibert
2b6c416408
Prepare for development after released version.
2020-08-22 15:29:13 +02:00
Olaf Seibert
9638d527c9
Bump version to 0.5.
2020-03-24 23:37:59 +01:00
Olaf Seibert
2842c927b8
Add reference to original obj2bin in README.
2020-03-11 22:58:06 +01:00
Olaf Seibert
8ab3c27e0c
Plug a memory leak.
2020-03-11 22:53:51 +01:00
Olaf Seibert
1958fa1fad
Make default object file format choosable from Makefile.
2020-03-11 21:16:08 +01:00
Olaf Seibert
1508da6f48
Merge commit '114ceaf32c0969a318ec330a26a1ed5c5f4b2b47'
...
git subtree pull --prefix obj2bin https://github.com/AK6DN/obj2bin.git master
2020-03-11 20:59:37 +01:00
AK6DN
114ceaf32c
Added RSX-11 format .obj file reader (as default), set BIN format as default output
2020-03-10 22:25:01 -07:00
Olaf Seibert
8ce31d6bac
Add -rt11 and -rsx options to usage message.
2020-03-08 21:38:14 +01:00
Olaf Seibert
5497a73a42
Add 'obj2bin/' from commit '5015ea60c545a7a21b17d5f313601111b96fe1cf'
...
git-subtree-dir: obj2bin
git-subtree-mainline: 890daab687b2625a59ef0295924fc711bf47bf29
git-subtree-split: 5015ea60c545a7a21b17d5f313601111b96fe1cf
Command was: git subtree add --prefix obj2bin https://github.com/AK6DN/obj2bin.git master
2020-03-08 21:28:29 +01:00
Olaf Seibert
890daab687
Add .PAGE as no-op, and give errors for misplaced .ENDR .ENDM.
2020-03-08 16:50:51 +01:00
Olaf Seibert
43aef73305
Fix logical error in listing from maclib.
...
It seems the code was similarly wrong before I introduced the flag
CALLED_NOLIST in f07c9045f5bf60ccd821a33bb4ebf06d06fe7c48.
No change in regression tests as we don't have macro libraries available
to test.
2020-03-07 23:23:44 +01:00
Olaf Seibert
cdef7047eb
Make that .enabl ama does not affect the next pass.
2020-03-07 18:43:45 +01:00
Olaf Seibert
c4221e0b4b
Sometimes pc-relative addressing needs no relocation record.
...
In this case, in an absolute section refering to an absolute symbol.
Use test cases from Johnny Billquist.
2020-03-07 17:34:45 +01:00
AK6DN
5015ea60c5
Update documentation comments
2020-03-06 23:48:55 -08:00
AK6DN
4523bd75e0
Update documentation re: multiple input .obj files
2020-03-06 21:51:29 -08:00
Olaf Seibert
62868a6661
Get rid of #define stricmp strcasecmp.
2020-03-06 22:44:20 +01:00
Olaf Seibert
88d33fd913
Adjust 2.11BSD-m11-lout.lst.ok.
...
Because of this corrected sequence:
575 000000 lctbas = .
576 000000 genlct seq
1 000001 lc.seq= 1
- 2 .rept <.-lctbas>/2
+ 2 000000 .rept <.-lctbas>/2
3 lc.seq= lc.seq+lc.seq
4 .endm
- 1 000002 lc.seq= lc.seq+lc.seq
5 000000 073631 .rad50 /seq/
6 .if nb <>
7 lcinit= lcinit+lc.seq
8 .endc
The repeat count is 0. lc.seq previously incorrectly had a value of 2
but now it has the correct value of 1.
This has a knock-on effect on various other expressions throughout, so there
are various changes.
2020-03-06 22:08:02 +01:00
Olaf Seibert
2349d80ec8
Fix .REPT 0 to not repeat the code block at all.
...
Also, now list the calculated repeat count for reference.
This occurred a few times in the regression tests to fix the expected
outcome.
2020-03-06 21:58:53 +01:00
Olaf Seibert
7595621cd7
Add new options to usage message.
2020-03-04 19:41:22 +01:00
Kevin Handy
bf322f3c6b
Fix file name parsing.
2020-03-04 19:40:56 +01:00
Olaf Seibert
94d044fd77
Add -rt11 option to dumpobj too.
2020-03-03 22:58:32 +01:00
Olaf Seibert
592b7facf1
Silence gcc7 warnings by adjusting FALLS THROUGH comment.
2020-03-03 22:11:02 +01:00
Olaf Seibert
5c9fc1ae16
Try to fix travis yml.
2020-03-03 21:46:57 +01:00
Kevin Handy
e2fb29e3f2
Make the produced object file configurable...
...
at run time, from the command line.
2020-03-03 19:13:20 +01:00
AK6DN
fa38443f8a
sort psect list in .log file in asc addr order instead of name order
2019-03-25 20:17:31 -07:00
Olaf Seibert
c80c87b2d4
Test another weird delimiter: .ASCIZ &&
2018-11-10 17:12:21 +01:00
Olaf Seibert
78fb685e59
Clarify ORG error message a bit
...
its counterpart for absolute sections mentions the section type too.
2018-11-10 17:12:21 +01:00
Olaf Seibert
2920e9f2f9
Test a few error message with .IIF.
2018-11-10 17:12:21 +01:00
Olaf Seibert
2dbf80388e
Add tests for (N)'DF foo!bar' and (N)'DF foo&bar'.
2018-11-10 17:12:21 +01:00
Olaf Seibert
a42b49f73b
Bug: '.iif conf, label: foo' didn't work.
2018-11-10 17:12:21 +01:00
Olaf Seibert
8c89fd27cf
Try if gitlab-ci is as easy as Travis...
2018-06-06 22:24:14 +02:00
Olaf Seibert
647b639552
Also build and test on osx.
2017-12-18 14:59:45 +01:00
Olaf Seibert
877400f236
Fix error message for .odd with argument.
2017-12-18 14:50:17 +01:00
Olaf Seibert
d98c1e54d0
Initial Travis CI config.
...
Try to get Travis' gmake to run ./make-git-info in before compiling macro11.c.
In RunTests, reflect differences in exit status, for automated testing.
2017-12-18 14:30:30 +01:00
AK6DN
fd0eea148e
added .gitignore
2017-07-19 21:22:08 -07:00
Olaf Seibert
0a9d7cddb0
Add some of the changes to CHANGES.
2017-05-13 19:47:03 +02:00
Olaf Seibert
5f5414fb37
Update some dates.
2017-05-06 19:11:19 +02:00
Olaf Seibert
a279a86076
Remove unneeded include (which cases compile errors wrt. git-info.h)
2017-05-06 19:10:21 +02:00
Olaf Seibert
1557c4c186
Add stuff to .gitignore.
2017-05-06 17:55:47 +02:00
Olaf Seibert
ea5ef8587f
Add .ENABL LCM. Its default setting was incorrect.
2017-05-06 17:53:15 +02:00
Olaf Seibert
f3af0d060f
Adjust tests: .ENABL LC can now be removed.
...
This changes all the 2.11 listings.
2017-05-06 17:15:20 +02:00
Olaf Seibert
6be865911c
Each pass starts implicitly with .ENABL LC.
2017-05-06 17:11:56 +02:00
Olaf Seibert
faf378ba86
Factor out some common pass initialisation code.
2017-05-06 17:07:53 +02:00
Olaf Seibert
870ecef497
Small doc update
2017-05-06 15:51:28 +02:00
Olaf Seibert
203a812664
Add 2.11BSD's m11 sources as regression tests.
2017-05-06 15:49:18 +02:00
Olaf Seibert
e42bc827ff
Merge branch 'master' into mlb2
2017-05-04 23:02:08 +02:00