Irmen de Jong
|
652b585ea4
|
code style
|
2026-01-07 00:48:45 +01:00 |
|
Irmen de Jong
|
54f23387d0
|
added bsb(long) builtin function that returns the bank byte of the long value (bits 16-23)
|
2026-01-06 20:56:03 +01:00 |
|
Irmen de Jong
|
c87e920c61
|
IR: stick all variable elements in <VARS> to improve the xml file structure a bit
|
2025-12-30 22:17:29 +01:00 |
|
Irmen de Jong
|
1e3ae2cb1d
|
IR: just use loadhay to get the result from CALLI
|
2025-12-23 19:07:51 +01:00 |
|
Irmen de Jong
|
946def4613
|
IR: fix call() / CALLI return value handling
|
2025-12-23 00:39:14 +01:00 |
|
Irmen de Jong
|
0217d05c68
|
IR: loadfield/storefield now accept offsets up to 65535
|
2025-12-16 14:56:11 +01:00 |
|
Irmen de Jong
|
8553f3c9f1
|
IR: loadfield is a better name
|
2025-12-16 12:57:45 +01:00 |
|
Irmen de Jong
|
d157d03ea0
|
IR: optimize load+add+load into single loadm with offset (also store)
update gradle wrapper to 9.2.0
|
2025-12-16 12:17:52 +01:00 |
|
Irmen de Jong
|
745cf3d958
|
IR: removed loadix/storeix instructions
|
2025-12-09 22:55:53 +01:00 |
|
Irmen de Jong
|
c4aa681d58
|
IR: better name for loadfield/storefield instructions
|
2025-12-09 00:40:26 +01:00 |
|
Irmen de Jong
|
c693be0dd6
|
fix byte subtract from long
fix IR register check error for %ir segments
|
2025-12-06 20:40:42 +01:00 |
|
Irmen de Jong
|
b1ef863c7f
|
make $8000000 a valid long integer (-2147483648)
|
2025-11-26 23:10:59 +01:00 |
|
Irmen de Jong
|
9504711fc7
|
IR/VM: SGN sets status bits
|
2025-11-19 21:37:04 +01:00 |
|
Irmen de Jong
|
590feda903
|
IR: fix sgn(float) register type error
|
2025-11-19 21:11:31 +01:00 |
|
Irmen de Jong
|
99e037489b
|
IR: added float<>long casts, cx16: blink_cursor extapi tested in test.p8
|
2025-11-17 23:13:56 +01:00 |
|
Irmen de Jong
|
1f31cb18e4
|
IR: fix missing source lines in p8ir file
|
2025-11-06 00:39:31 +01:00 |
|
Irmen de Jong
|
b73c958c4a
|
ir immediate syntax fixes
|
2025-11-01 16:55:00 +01:00 |
|
Irmen de Jong
|
b1e07f3fdb
|
better error when trying to use a const pointer (which is not supported yet)
|
2025-10-30 20:58:21 +01:00 |
|
Irmen de Jong
|
6a70fb0480
|
deal with invalid sqrt results (negative argument), allow sqrt of longs (like floats)
|
2025-10-21 21:01:03 +02:00 |
|
Irmen de Jong
|
68066acdec
|
changed (and fixed) msb(long) and lsb(long)
|
2025-10-13 21:34:03 +02:00 |
|
Irmen de Jong
|
b7620abc9a
|
longs: fix msw() and lsw()
|
2025-10-12 19:49:36 +02:00 |
|
Irmen de Jong
|
a84320c7e2
|
add sgn(long) support, fix sgn() result type in IR
|
2025-10-12 12:22:32 +02:00 |
|
Irmen de Jong
|
efff74c0f1
|
added sys.pushl() and sys.popl()
|
2025-10-04 03:05:50 +02:00 |
|
Irmen de Jong
|
f9b0bfe31b
|
implement rol() and ror() on longs (also rol2 and ror2 and abs)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
b3bd2a6a09
|
fixed a bunch of long type handling
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
3e07b6ca70
|
adding long arrays
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
a2b9d78cf3
|
start with introducing LONG datatype (32 bits signed integer)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
d6a8201291
|
IR: fix SQRT reg1 type
|
2025-10-01 20:28:38 +02:00 |
|
Irmen de Jong
|
4187f97f7a
|
IR: rename <CODE> to <CHUNK> , put the code lines in a new sub node <CODE> for improved xml structure
|
2025-10-01 19:32:05 +02:00 |
|
Irmen de Jong
|
9d3b2f12fd
|
IR code blocks now better SSA basic blocks (ending with single branch instruction)
|
2025-10-01 19:08:44 +02:00 |
|
Irmen de Jong
|
a611406020
|
IR: add compilerversion attribute to p8ir file
|
2025-09-30 22:07:04 +02:00 |
|
Irmen de Jong
|
75da38224d
|
IR: make LSIG,MSIG,CONCAT instruction set flags to skip cmp #0 afterwards (if msb(x)>0)
|
2025-09-30 21:48:57 +02:00 |
|
Irmen de Jong
|
65d6c1c438
|
fix IR instruction R/W usage counter
|
2025-09-25 01:50:27 +02:00 |
|
Irmen de Jong
|
124ea1230b
|
fix vm to understand struct instances in arrays
|
2025-09-14 19:04:01 +02:00 |
|
Irmen de Jong
|
8b48a295b6
|
allow struct initializers to occur in array literals
|
2025-09-14 18:16:46 +02:00 |
|
Irmen de Jong
|
79419a98d0
|
add if-expression versions for the conditionals if_cc, if_cs, if_vc etc
|
2025-09-11 01:57:30 +02:00 |
|
Irmen de Jong
|
79b8bb5c9f
|
Merge branch 'master' into structs6502
|
2025-08-19 01:12:50 +02:00 |
|
Irmen de Jong
|
fc5889ec0b
|
kotlin 2.2.10, kotest
|
2025-08-19 01:04:24 +02:00 |
|
Irmen de Jong
|
4a8d5def84
|
code cleanups, pointer TODOs, docs dark mode
|
2025-08-16 11:25:18 +02:00 |
|
Irmen de Jong
|
7c0fb10197
|
fix bug: VM MULR float error, another pointer dependency checker error
|
2025-08-05 22:00:05 +02:00 |
|
Irmen de Jong
|
dee761a99e
|
fix compiler crash on certain pointer assignments
|
2025-08-01 22:22:43 +02:00 |
|
Irmen de Jong
|
88b074c208
|
pointer types should just be uwords in IR
|
2025-07-30 01:07:37 +02:00 |
|
Irmen de Jong
|
c39d570b72
|
make more use of ISubType interface itself rather than casting it to StructDecl all the time
|
2025-07-29 22:59:31 +02:00 |
|
Irmen de Jong
|
23ad540aa5
|
fix IR codegen type error on array pointer dereference
|
2025-07-28 20:25:56 +02:00 |
|
Irmen de Jong
|
08810c2749
|
proper error message for unsupported &&subroutine
|
2025-07-27 23:44:24 +02:00 |
|
Irmen de Jong
|
817f4f8e7c
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/Compiler.kt
# compiler/src/prog8/compiler/astprocessing/AstExtensions.kt
# compiler/src/prog8/compiler/astprocessing/StatementReorderer.kt
# docs/source/todo.rst
# examples/test.p8
|
2025-07-24 22:27:29 +02:00 |
|
Irmen de Jong
|
0b5413ad83
|
Merge branch 'master' into structs
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
|
2025-07-21 20:53:06 +02:00 |
|
Irmen de Jong
|
dd7adde387
|
fix virtual diskio.f_write
|
2025-07-21 20:52:11 +02:00 |
|
Irmen de Jong
|
e14c3f8b59
|
code cleanups
|
2025-07-06 00:52:37 +02:00 |
|
Irmen de Jong
|
49a4d9ba37
|
allow str as struct field type (^^ubyte) and strings in struct initializers
|
2025-06-15 00:29:59 +02:00 |
|