11 Commits

Author SHA1 Message Date
Olaf Seibert
36db00dc79 Name some unnamed special sections for easier recognition. 2021-11-14 22:37:15 +01:00
Olaf Seibert
93d7839ccf Expand some tabs that crept in over time. 2021-02-14 22:00:30 +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
ea5ef8587f Add .ENABL LCM. Its default setting was incorrect. 2017-05-06 17:53:15 +02: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
d38f4009c4 Crank up the warning levels, and adjust the code to silence ...
several compilers:
- gcc version 4.5.3 (NetBSD nb2 20110806)
- gcc version 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
- Ubuntu clang version 3.6.0-2ubuntu1 (tags/RELEASE_360/final) (based on LLVM 3.6.0)

The warnings were mostly about local variables shadowing others,
unused function parameters, and C++ style comments. Some variables were
indeed used before set.

Note that on Linux, using -std=c99 does stupid things like *remove* the
declaration of strdup() from <string.h>. Therefore I've reluctantly used
-std=gnu99.
2015-05-27 21:51:26 +02:00
Olaf Seibert
60af942129 .RESTORE restores DOT too
this is how it should be according to page 6-42 of the manual.
Kermit does this ugly thing to backpatch some .word value:

     435 000070                         	dial$time	35.
       1 000070                         	modval	35.,dial.time
       1                                	.save
       2 000070                         	.psect	modinf
       3        000006                  	. = $$current + dial.time
       4 000006 000043                  	.word	35.
       5 000070                         	.restore
     436 000070                         	wake$string	<^E^M>

where the current program section already is modinf. So the .save stores
DOT, it's changed to a lower value (6) to backpatch, and .restore sets DOT
back to 70.
2015-05-22 00:13:54 +02:00
Olaf Seibert
b8a15a89b5 Implement .ENABL and .DSABL LC. 2015-05-21 22:24:31 +02:00
Olaf Seibert
f75f5e1242 Change delimiters of local symbol blocks to be more like page 3-10 of the manual.
Also, to make Kermit sources work, only increase the local symbol block
counter if there actually was a local symbol used in the block.
This way, conditional inclusions (which include source text only in the
first pass) will have less potential for de-synchronisation between the
passes. After all, if the generated internal local symbol names do
not match, phase errors will result (showing themselves as strange label
redefinition problems).
2015-05-10 17:51:32 +02:00
Olaf Seibert
20f25b9dd9 Fix bug with .SAVE and .RESTORE
.SAVE didn't check for  stack overflow.
.RESTORE moved the stack pointer in the wrong direction.
2015-05-09 12:51:31 +02:00
Sergey Svishchev
6a2afc3fa7 Import J Hoppe's 20090427 release from http://retrocmp.com/tools/macro-11-on-windows 2013-02-15 23:50:38 +04:00