1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-12-26 12:29:26 +00:00
Commit Graph

779 Commits

Author SHA1 Message Date
Karol Stasiak
23b4b110a6 8080: optimize more pointless loads 2019-06-24 15:17:05 +02:00
Karol Stasiak
4dd470141a 6502: zero-extend the division result 2019-06-24 15:16:14 +02:00
Karol Stasiak
4654698891 8080: tail call optimization 2019-06-24 00:47:07 +02:00
Karol Stasiak
869211658a Division optimizations 2019-06-24 00:13:16 +02:00
Karol Stasiak
fbe20a240b 8080: Fix division 2019-06-24 00:13:02 +02:00
Karol Stasiak
0205520bf9 Allow taking addresses of stack variables 2019-06-23 22:53:42 +02:00
Karol Stasiak
f22b62e57f Z80: Fix stack variable inlining 2019-06-23 22:31:46 +02:00
Karol Stasiak
63c43c414a Various fixes related to the -> operator 2019-06-23 19:44:53 +02:00
Karol Stasiak
088b28989f Division by zero warnings 2019-06-23 19:44:34 +02:00
Karol Stasiak
7194bc1f1c More details on 8086 support (2) 2019-06-15 19:42:51 +02:00
Karol Stasiak
6e4e5863c6 More details on 8086 support 2019-06-15 01:44:04 +02:00
Karol Stasiak
f46466365b Compilation order should be decided by the import statements 2019-06-14 23:20:03 +02:00
Karol Stasiak
ba16021426 Allow using $$ instead of # in preprocessor directives 2019-06-14 15:33:17 +02:00
Karol Stasiak
ffff51dee9 6502: optimize variable pointers 2019-06-14 15:19:29 +02:00
Karol Stasiak
2a233930e8 8080: improve comparisons against constants 2019-06-14 15:19:13 +02:00
Karol Stasiak
51a6ec9d73 Preprocessor: add #use A=B and if(i,t,e) 2019-06-14 12:00:45 +02:00
Karol Stasiak
3852b2dbe9 More label file formats 2019-06-14 11:39:11 +02:00
Karol Stasiak
5ca6988039 Fix GB 2019-06-14 11:31:34 +02:00
Karol Stasiak
ecb366eafb Add the -i option 2019-06-14 11:28:26 +02:00
Karol Stasiak
50415714fa Detect the default include directiory when running the native executable 2019-06-13 00:16:45 +02:00
Karol Stasiak
dc13dbaa9a Code cleanup 2019-06-12 22:55:34 +02:00
Karol Stasiak
e219830ba1 Fix MSX 2019-06-12 22:54:40 +02:00
Karol Stasiak
0f179f79aa Many big important things:
– Add support for undocumented 8085 instructions
– Convert undocumented  8085 instructions to 8086
– Add new CPU types and categorize CPU types correctly
– Fix macro expansion in some situations
– Improve 8080 optimizations
– Improve documentation
– Other improvements
2019-06-12 12:06:02 +02:00
Karol Stasiak
eaaa98a8e3 Add better configuration flag fillouts 2019-06-12 10:08:52 +02:00
Karol Stasiak
b15490c5bf Fix constant printing 2019-06-12 09:54:54 +02:00
Karol Stasiak
4ec2fc2f62 Make tests toggleable by platform 2019-06-12 02:58:33 +02:00
Karol Stasiak
3b3fb24284 8086: partially fix memory leak in unit tests 2019-06-12 02:56:44 +02:00
Karol Stasiak
91a7e42d9f Update documentation 2019-06-12 00:20:24 +02:00
Karol Stasiak
a1b868e3df Optimize byte division by power of two 2019-06-06 13:35:26 +02:00
Karol Stasiak
e31737ad40 Unsigned division of word by byte 2019-06-06 13:06:30 +02:00
Karol Stasiak
2583f280a8 Unsigned byte division by non-constant 2019-06-06 01:17:34 +02:00
Karol Stasiak
010b44f23e Unsigned byte division by a constant 2019-06-05 18:36:39 +02:00
Karol Stasiak
326e9d0585 Documentation fixes 2019-06-05 18:34:32 +02:00
Karol Stasiak
9164e78a2d 6502: Fix comparison optimizations 2019-06-05 18:12:57 +02:00
Karol Stasiak
bc8ac1f696 Preliminary MSX support 2019-06-05 13:31:43 +02:00
Karol Stasiak
b4b2e9b041 Documentation fixes 2019-06-05 13:31:30 +02:00
Karol Stasiak
77b3628dde Z80: Analyse LD A,I and LD A,R correctly in the optimizer 2019-06-05 11:33:34 +02:00
Karol Stasiak
b3bb9bb063 Intel 8085 support 2019-05-31 17:27:38 +02:00
Karol Stasiak
1cb3b672b1 Add 8080-to-8086 translation 2019-05-31 17:03:35 +02:00
Karol Stasiak
b4a6c261de 8080: support raw bytes in assembly statements 2019-05-31 14:29:54 +02:00
Karol Stasiak
0f52efbe20 Minor fix to a debug log message 2019-05-31 14:29:20 +02:00
Karol Stasiak
e06d3bf081 8080: correct Intel disassembly for DI 2019-05-31 02:09:50 +02:00
Karol Stasiak
c747d198e6 6502: Fix optimization bug 2019-05-30 22:16:46 +02:00
Karol Stasiak
4e46247803 Larger logo 2019-05-29 14:21:08 +02:00
Karol Stasiak
305376bcec Update documentation 2019-05-29 14:21:00 +02:00
Karol Stasiak
9b5134c7b9 6502: preserve line numbers in more optimizations 2019-05-29 14:09:55 +02:00
Karol Stasiak
d461046566 6502: use index registers less often 2019-05-29 14:09:41 +02:00
Karol Stasiak
d23f6e4248 6502: improve optimizations using undocumented instructions 2019-05-29 14:09:21 +02:00
Karol Stasiak
43686e0c33 6502: optimize signed comparisons against certain constants 2019-05-29 14:08:42 +02:00
Karol Stasiak
138dcfa19f 8080: implement signed byte comparisons for CPU's without the overflow flag 2019-05-29 14:07:57 +02:00