Irmen de Jong
37c2c1bf0b
support &, &< and &> on array elements from split word arrays, not just on the array as a whole
2024-12-30 00:00:31 +01:00
Irmen de Jong
056c0a24d9
better way of doing BIT instructions
2024-12-30 00:00:31 +01:00
Irmen de Jong
827df04b32
IR: BIT instruction added
2024-12-30 00:00:31 +01:00
Irmen de Jong
529ea5bf58
added coroutines library and multitasking example. Added sys.push_returnaddress().
2024-12-26 00:57:39 +01:00
Irmen de Jong
512ddd1694
cleanups
2024-12-20 22:59:20 +01:00
Irmen de Jong
02f3f5d0f5
@split is back to force splitting of word arrays
2024-12-16 14:51:32 +01:00
Irmen de Jong
80d88b3c61
fix many split array issues
2024-12-15 17:08:07 +01:00
Irmen de Jong
28c721fa7d
add a split-array version for word containment check
2024-12-15 13:45:47 +01:00
Irmen de Jong
8f799567cf
make word arrays split by default (w.i.p.)
2024-12-15 08:12:34 +01:00
Irmen de Jong
1a1ab0dac6
changed the data type system to composite types
2024-12-05 21:48:51 +01:00
Irmen de Jong
b4fb43bc80
fix the if not check in ir codegen
2024-11-18 22:33:47 +01:00
Irmen de Jong
84f5ffa426
fix generated labels prefix and filtering in the vice symbol dump file
2024-11-10 15:34:35 +01:00
Irmen de Jong
f89f1a84d0
@initonce variable tag to skip variable reinitialization
2024-11-08 19:03:48 +01:00
Irmen de Jong
b88f550c5b
todo
2024-11-07 00:48:13 +01:00
Irmen de Jong
9864abd393
romsub keyword is now extsub
2024-11-06 22:14:53 +01:00
Irmen de Jong
3b798097b9
added memtop to machine definition and asm source code check
...
added %memtop directive
2024-11-02 00:59:07 +01:00
Irmen de Jong
4b4af9b527
no longer silently add RTS to asmsubs that don't have one
2024-10-27 13:49:00 +01:00
Irmen de Jong
c9535049c8
%align directive and @align64
2024-10-26 20:58:35 +02:00
Irmen de Jong
1cd754f05d
adding @alignword/page on individual variables
2024-10-26 17:00:38 +02:00
Irmen de Jong
a0cf1889a3
omit more redundant 0-initializations ("stz's")
2024-10-17 22:51:39 +02:00
Irmen de Jong
ca5f7ae32f
global (block-level) variables that get initialized with an array index expression now get a constant value as well if possible. This reduces the number of instructions in the init globals code block
2024-10-16 02:14:19 +02:00
Irmen de Jong
e9edffa9f0
remove support for array-to-array assignments (other than initialization of variable declaration)
...
Just use an explicit sys.memcopy(src, dest, sizeof(dest)) or assign array members individually.
2024-10-13 20:02:43 +02:00
Irmen de Jong
aef211e5f3
stricter array literal element type handling (number,bool,address-of).
...
More consistent implicit address-of handling if array literals contain by-ref identifiers (such as subroutine names)
2024-10-13 17:46:41 +02:00
Irmen de Jong
66829203d8
New [x]*42 syntax to create array literals with repeated values (like "abc"*10 already exists for strings)
...
Should be used in place of array initializer expressions that contain only a single numeric value to initialize the whole array with. That isn't supported anymore.
2024-10-13 05:16:08 +02:00
Irmen de Jong
7a0eaf3148
Remove array initialization by single value.
...
New compiler and kotlin version.
2024-10-13 04:31:56 +02:00
Irmen de Jong
8d9bc2f5ff
fixing all sorts of things about assigning arrays to arrays
2024-10-12 12:33:46 +02:00
Irmen de Jong
d1ddf05e38
check that block address leaves room for program startup logic
2024-10-03 22:30:06 +02:00
Irmen de Jong
4e98fb75d6
support assigning multiple return flags from asmsub in 6502 codegen
2024-09-09 22:56:40 +02:00
Irmen de Jong
6d2a36fb2b
testcase improvement
2024-09-06 22:51:26 +02:00
Irmen de Jong
29dd758302
Fix compiler crash in for loops with just 1 iteration
2024-09-05 21:26:46 +02:00
Irmen de Jong
d12b7ccc6b
fix syslib importing for raw outputs. fixes #144
2024-08-19 13:33:02 +02:00
Irmen de Jong
2aae1f5e30
stricter checks for negative array indexing
2024-07-20 22:37:03 +02:00
Irmen de Jong
c9a4235669
update to kotlin 2.0, fix several code style issues
2024-06-04 01:00:46 +02:00
Irmen de Jong
641f6c05d8
allow 'void' as dummy assign target in multi-assignment statements
2024-03-31 23:43:26 +02:00
Irmen de Jong
edc83305a4
allow multiple targets in AssignTarget
2024-03-22 21:51:08 +01:00
Irmen de Jong
80f39e8097
Merge branch 'booleans'
...
# Conflicts:
# compiler/res/prog8lib/cx16/monogfx.p8
# compiler/res/prog8lib/virtual/monogfx.p8
# compiler/src/prog8/compiler/astprocessing/BoolRemover.kt
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/cx16/highresbitmap.p8
# examples/test.p8
# httpCompilerService/src/prog8/http/TestHttp.kt
2024-03-11 01:00:48 +01:00
Irmen de Jong
eef8ae00b8
replace str return type by uword
2024-03-09 15:38:46 +01:00
Irmen de Jong
f40b7b62bb
updated unit tests and some basic changes for them
2024-03-02 23:19:20 +01:00
Irmen de Jong
d7f72056fc
rest of the array copying
2024-02-10 17:16:06 +01:00
Irmen de Jong
906d9d858c
implementing the array copys
2024-02-10 01:40:36 +01:00
Irmen de Jong
504d1440cc
fixed rol(),rol2(),ror(),ror2()
2024-01-17 21:02:17 +01:00
Irmen de Jong
f8084e7955
fix const replacement optimization error on memory mapped variable
2024-01-07 18:48:18 +01:00
Irmen de Jong
09c6cb4d6b
replace unwritten vars by consts. Improved const eval.
...
Fixed some slight bugs in library code
2023-12-28 05:17:15 +01:00
Irmen de Jong
4bb2b8ca9b
make isArray a computed property by simply checking the datatype
2023-12-26 19:58:08 +01:00
Irmen de Jong
ffdc658dc8
type error tweaks
2023-12-26 18:49:01 +01:00
Irmen de Jong
0d44492086
push,pushw,pop and popw are no longer built-in functions but regular routines in sys
2023-12-26 14:47:31 +01:00
Irmen de Jong
6bc079c7b7
more asm symbol prefixing: variables with p8v_, subroutines with p8s_ etc
...
labels with p8l_ . All this to avoid symbol clashes in the generated assembly code.
Everything got its own distinguishing prefix so we're done with it once and for all and have only 1 breaking change moment.
2023-12-20 22:20:59 +01:00
Irmen de Jong
299419917e
added symbol ambiguity error (variable vs block name for scoped symbols)
...
fixes #114
2023-12-20 00:28:15 +01:00
Irmen de Jong
1bdc427d73
multi var declarations ubyte x,y,z
2023-12-08 22:18:21 +01:00
Irmen de Jong
0c9daf6eaf
fix compiler crash on ptrvar[n+1] = ptrvar[2]
2023-11-14 21:46:11 +01:00