Irmen de Jong
|
a735939d1e
|
removed confusing GPL software license reference and copyright header from library files. (because of exclusion in output files)
Reworded software license and exclusion clause somewhat again in attempt to make it even clearer.
|
2022-05-30 20:12:20 +02:00 |
|
Irmen de Jong
|
6ed5f04970
|
version 8.1
|
2022-05-25 20:00:26 +02:00 |
|
Irmen de Jong
|
b459b09b2f
|
vm: fix comparison datatype error; primes.p8 works again
|
2022-05-24 18:26:07 +02:00 |
|
Irmen de Jong
|
e659b91c4d
|
vm: fix storezm/storezx instructions
|
2022-05-23 21:01:02 +02:00 |
|
Irmen de Jong
|
e09f054058
|
vm: implemented in-place bit rotate instructions
|
2022-05-23 20:30:25 +02:00 |
|
Irmen de Jong
|
b646f50265
|
vm: implemented in-memory bit shift instructions
|
2022-05-23 20:15:20 +02:00 |
|
Irmen de Jong
|
0a48ef3030
|
vm: just use new register instead of trying to (ab)use reg 0
|
2022-05-22 23:38:46 +02:00 |
|
Irmen de Jong
|
ba614801ee
|
cleanup
|
2022-05-22 23:11:22 +02:00 |
|
Irmen de Jong
|
fd6eb47e68
|
added inlining certain trivial non-asm subroutine calls
|
2022-05-22 20:22:09 +02:00 |
|
Irmen de Jong
|
26ea1da146
|
vm: add in-place bitwise or,and,xor
|
2022-05-20 20:50:27 +02:00 |
|
Irmen de Jong
|
c9e8c7a290
|
vm: add in-place division
|
2022-05-19 23:38:16 +02:00 |
|
Irmen de Jong
|
181b98ef9e
|
vm: implemented some self-assign instructions
|
2022-05-18 22:15:42 +02:00 |
|
Irmen de Jong
|
e52d9e3210
|
vm: split off assignment codegen to its own file
|
2022-05-17 22:38:31 +02:00 |
|
Irmen de Jong
|
dc6475c91b
|
vm: fixed non-byte array indexing
|
2022-05-17 18:53:33 +02:00 |
|
Irmen de Jong
|
52f9956e92
|
clarify use of direct-memory in functions that modify in place such as rol/swap
|
2022-05-16 22:41:31 +02:00 |
|
Irmen de Jong
|
0bf00d1ca4
|
c64/c128 targets: perform cleanup at program exit such as re-enabling run-stop key and character set switching.
|
2022-05-15 16:44:26 +02:00 |
|
Irmen de Jong
|
4dc9b45297
|
vm: fixed string comparisons, added missing vm string module
|
2022-05-13 23:10:13 +02:00 |
|
Irmen de Jong
|
6e31eebfb5
|
vm: ifElse codegen uses proper branching instructions now
|
2022-05-12 21:26:17 +02:00 |
|
Irmen de Jong
|
a7df828932
|
vm: codegen uses INCM/DECM if possible
|
2022-05-12 19:40:31 +02:00 |
|
Irmen de Jong
|
517cf61d11
|
vm: limit int instructions to just 2 register args
|
2022-05-11 22:36:47 +02:00 |
|
Irmen de Jong
|
74c05d00a9
|
vm: fix comparison operator codegen for floats
|
2022-05-11 17:07:21 +02:00 |
|
Irmen de Jong
|
677613d30a
|
vm: expressiongen: use resultRegister arg instead of allocating new leftResultReg
|
2022-05-11 15:58:55 +02:00 |
|
Irmen de Jong
|
bacba629a5
|
vm: use shift-one instructions in codegen
|
2022-05-11 15:50:51 +02:00 |
|
Irmen de Jong
|
14e36f1362
|
vm: fix assignment to array
|
2022-05-11 15:26:54 +02:00 |
|
Irmen de Jong
|
d43ad849d1
|
vm: actually use the store-zero instructions in codegen
|
2022-05-11 15:18:36 +02:00 |
|
Irmen de Jong
|
627aa61184
|
clean up subroutine inlining, basis for new try
|
2022-05-09 15:42:58 +02:00 |
|
Irmen de Jong
|
dad5b17ac8
|
fix regression compiler crash in string comparison
|
2022-05-08 13:47:24 +02:00 |
|
Irmen de Jong
|
fef52c0112
|
automatically convert multi-compare expression (if X==1 or X==2..) to contaiment check if X in [1,2,..]
|
2022-05-08 13:21:34 +02:00 |
|
Irmen de Jong
|
348b3036ff
|
now correctly accepts "xxx" * constexpr (where constexpr is not just a single const number)
|
2022-05-05 23:21:20 +02:00 |
|
Irmen de Jong
|
09d3451d9d
|
vm: accept %asmbinary (but it is eventually ignored in code execution)
|
2022-05-05 21:43:31 +02:00 |
|
Irmen de Jong
|
b1a49e5f29
|
vm: implement rest of float instructions
|
2022-05-04 22:31:45 +02:00 |
|
Irmen de Jong
|
da01a5b4dc
|
vm: implement float to integer cast, any, all, reverse
|
2022-05-04 22:08:21 +02:00 |
|
Irmen de Jong
|
3f9cdd9b56
|
vm: fix mul and div instructions
|
2022-05-04 01:10:59 +02:00 |
|
Irmen de Jong
|
0f9e87d7bb
|
fixed compiler crash when casting float to integer, fixed float to int cast value error on cx16
|
2022-05-03 23:43:38 +02:00 |
|
Irmen de Jong
|
0869789214
|
vm: implement float type casts to integer types
|
2022-05-02 23:38:32 +02:00 |
|
Irmen de Jong
|
10c8cc35c5
|
vm: implement float divide multiply sub add
|
2022-05-02 21:53:43 +02:00 |
|
Irmen de Jong
|
30c2e3e8ff
|
vm: fix comparisons codegen
|
2022-05-02 21:32:45 +02:00 |
|
Irmen de Jong
|
86cc2f1075
|
vm: implementing more fp instructions
|
2022-05-02 21:06:14 +02:00 |
|
Irmen de Jong
|
fa357a450b
|
clarify license
|
2022-05-02 19:46:08 +02:00 |
|
Irmen de Jong
|
b32641db87
|
remove syscall() builtin functions
vm code can do this via inline assembly
|
2022-05-01 00:41:30 +02:00 |
|
Irmen de Jong
|
0ee790969d
|
vm: allow inline "assembly"
|
2022-04-30 23:24:25 +02:00 |
|
Irmen de Jong
|
7844ace934
|
vm: implementing floating-point
|
2022-04-29 22:27:02 +02:00 |
|
Irmen de Jong
|
47c53fa60a
|
todo
|
2022-04-23 20:44:59 +02:00 |
|
Irmen de Jong
|
cf50e4f6ec
|
vm: printing of numbers now via conv module.
assigning strings now converted to strcopy function call in the compiler ast.
|
2022-04-23 02:15:51 +02:00 |
|
Irmen de Jong
|
7eea97d741
|
- floats: remove all floating point builtin functions and move them to the floats module instead
|
2022-04-22 00:45:54 +02:00 |
|
Irmen de Jong
|
88b55ab93e
|
vm: add abs() and fix 6502 abs() code.
|
2022-04-18 21:20:17 +02:00 |
|
Irmen de Jong
|
ee36d47c27
|
vm: added cmp() and most of the status-branch instructions
|
2022-04-18 19:59:48 +02:00 |
|
Irmen de Jong
|
6f2fdbe447
|
added %option merge, also fixed problem with unit test building in newer IntelliJ version
|
2022-04-15 22:38:32 +02:00 |
|
Irmen de Jong
|
0f4a197e34
|
improve ast check on pipe expressions
|
2022-04-14 00:49:06 +02:00 |
|
Irmen de Jong
|
7dbff5b9e6
|
abs: remove support for floats. Use floats.fabs() instead.
this solves: can't use abs() etc in pipe expression because return type depends on argument type
|
2022-04-14 00:38:31 +02:00 |
|