Karol Stasiak
ee47ccef5a
fix z80 indexing in hardwritten assembly ( #137 )
2023-01-27 18:27:53 +01:00
Karol Stasiak
24de2f7530
enable tests of identity page
2023-01-27 18:19:19 +01:00
Karol Stasiak
1beb695151
more tests
2023-01-27 18:17:41 +01:00
Karol Stasiak
ef2f5b5918
Add test
2022-02-11 21:48:24 +01:00
Karol Stasiak
b5084cd180
More tests
2021-12-15 15:53:49 +01:00
Karol Stasiak
f676e74e38
Macro improvements:
...
– allow local constants in macros
– allow untyped macro parameters with void
– treat the name of a function as a pointer to it
– add this.function local alias (#118 )
2021-11-12 02:10:07 +01:00
Karol Stasiak
c9ef5e636b
Add raw label file format
2021-09-21 00:09:59 +02:00
Karol Stasiak
166acf2b18
R800 support
2021-09-18 00:36:16 +02:00
Karol Stasiak
0c8951d015
Fix unused variable elimination in for-array statements ( fixes #125 )
2021-09-13 09:27:34 +02:00
Karol Stasiak
84dde8589c
Allow spaces after the array keyword ( fixes #120 )
2021-09-13 09:26:54 +02:00
Karol Stasiak
3b0aa9a425
Fixes for flag boolean types ( fixes #123 )
2021-09-13 09:26:27 +02:00
Karol Stasiak
90e5360bfd
Related to #119 :
...
– Detection of simple byte overflow cases.
– Optimization of 8×8→16 multiplication on 6809.
– Multiplication optimizations on Z80.
2021-08-06 21:01:03 +02:00
Karol Stasiak
7f0def54bc
Improvements for 65CE02 assembly ( fixes #116 )
2021-06-29 02:29:30 +02:00
Karol Stasiak
431a25d325
Internal support for pointers to volatile objects; add volatile fields ( closes #112 )
2021-06-21 14:20:24 +02:00
Karol Stasiak
73beafd65e
Support for expressions in file() ( fixes #114 )
2021-06-21 14:18:17 +02:00
Karol Stasiak
4f6eefab79
Officially deprecate old decimal operators
2021-05-23 22:31:11 +02:00
Karol Stasiak
ca35367974
Tease floating-point numbers
2021-05-16 23:32:33 +02:00
Karol Stasiak
9028d55a7e
Various optimization improvements and fixes, mostly for 6809
2021-05-16 23:31:52 +02:00
Karol Stasiak
0172e29bb2
Underscores in numeric literals. Fix parsing of Intel hex constants starting with 0B.
2021-05-08 00:42:06 +02:00
Karol Stasiak
ffb46c4250
Optimize some bitmask operations
2021-05-05 02:58:57 +02:00
Karol Stasiak
fcdad413b0
#110 Add a warning for comparisons between bytes and pointers.
2021-05-05 00:59:54 +02:00
Karol Stasiak
1bcb6d5010
Fix sign extension when using pointers
2021-04-24 01:18:21 +02:00
Karol Stasiak
e25df3d1b3
Parser optimizations again
2021-04-19 01:06:51 +02:00
Karol Stasiak
1e4a193741
Optimization hints
2021-03-15 00:44:14 +01:00
Karol Stasiak
24eac6708b
Fix escape sequences in many encodings
2021-03-13 21:40:18 +01:00
Karol Stasiak
66fc1d3984
Add several more encodings
2021-03-13 21:39:48 +01:00
Karol Stasiak
bd9ff2f66d
Unfinished test
2021-02-28 19:38:25 +01:00
Karol Stasiak
a0c2eaabcf
Struct array fields performance improvements
2021-02-26 23:13:16 +01:00
Karol Stasiak
196ad6542f
Allow refering to labels from other functions in assembly ( fixes #101 )
2021-02-24 02:32:00 +01:00
Karol Stasiak
4ff6120702
Warn about data not being included in the output
2021-02-24 02:28:29 +01:00
Karol Stasiak
521b73d0d3
Array fields for structs and unions (see #87 )
2021-02-22 23:23:00 +01:00
Karol Stasiak
7c60a89776
Signed multiplication
2021-02-18 00:39:14 +01:00
Karol Stasiak
2beabb7bed
Improvements to constant folding
2021-02-18 00:36:13 +01:00
Karol Stasiak
919f11af2e
#101 : Allow using local labels in all assembly instructions and all assembly expressions
2021-02-03 09:50:44 +01:00
Karol Stasiak
32b98750a9
Warn about non-volatile spinlocks (see #95 )
2021-02-03 09:46:09 +01:00
Karol Stasiak
c1959b356f
Make all constants referring to segments match their equivalents from the platform definition (see #87 )
2021-01-13 19:55:11 +01:00
Karol Stasiak
499e650752
Define and document more magic suffixes and constants (see #87 )
2021-01-13 19:35:11 +01:00
Karol Stasiak
9feda54d92
Optimize word shifts by 7–12 bits
2021-01-13 14:31:20 +01:00
Karol Stasiak
2a5933e115
6502: Fix sbyte to word promotion in some contexts
2021-01-13 14:18:28 +01:00
Karol Stasiak
90a9538936
Various optimizations
2020-12-01 18:18:56 +01:00
Karol Stasiak
7962a1d083
Point at the end of the line if the error is something missing at the end of the line
2020-12-01 03:21:04 +01:00
Karol Stasiak
cba145d674
Better error messages for variable definitions in macros ( #77 )
2020-12-01 03:19:38 +01:00
Karol Stasiak
b2d2c3e005
Don't emit labels that are not necessary; fix the __heap_start symbol.
2020-11-18 23:08:45 +01:00
Karol Stasiak
97c7d0ffed
Basic groundwork for optimization hint support
2020-11-18 22:37:58 +01:00
Karol Stasiak
385b2fd40b
Fix function pointers ( fixes #86 )
2020-11-18 09:34:02 +01:00
Karol Stasiak
fc7643c416
Interrupt handler pointer types
2020-11-11 00:28:21 +01:00
Karol Stasiak
f4a3601d6e
8080: Fix word negation
2020-11-11 00:25:39 +01:00
Karol Stasiak
9f40fc5066
Add some trivial test case
2020-09-22 17:59:50 +02:00
Karol Stasiak
b87c40fc9c
Migration from Nashorn to GraalJS
2020-09-22 17:59:32 +02:00
Karol Stasiak
1decf2f087
65816: Various codegen bugfixes
2020-09-22 17:59:14 +02:00