Irmen de Jong
|
bdbdf6e5cd
|
add lmh(longvalue) builtin function that returns the low, mid, hi (=bank) bytes of a long
symboldumps now also contain the builtin functions
|
2026-02-23 21:30:39 +01:00 |
|
Irmen de Jong
|
2613d45cd5
|
swap() is now a statement instead of a builtin function call
|
2026-02-17 20:56:21 +01:00 |
|
Irmen de Jong
|
9a5edeebbc
|
upgrade to kotlin 2.3.0
|
2026-01-24 00:29:45 +01:00 |
|
Irmen de Jong
|
2e0db6f211
|
add swap() builtin for optimized value swaps without the need for a temporary variable
|
2026-01-23 23:17:10 +01:00 |
|
Irmen de Jong
|
823f1cd6e2
|
strings: removed ncompare
|
2026-01-17 17:29:21 +01:00 |
|
Irmen de Jong
|
3009ddaaab
|
strings: adding compare_nocase and compare_nocase_iso
|
2026-01-17 17:01:34 +01:00 |
|
Irmen de Jong
|
652b585ea4
|
code style
|
2026-01-07 00:48:45 +01:00 |
|
Irmen de Jong
|
97dade3655
|
fix setmsb() on long types
|
2026-01-06 22:11:58 +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
|
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
|
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
|
9504711fc7
|
IR/VM: SGN sets status bits
|
2025-11-19 21:37:04 +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
|
0cd8c4f87e
|
add strings.ncopy and nappend (length limited)
|
2025-10-31 21:22:15 +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
|
0c0affd1bf
|
cx16 diskio.load_size() now returns full long size. Fixes #184
|
2025-10-19 21:18:46 +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
|
ec9475c308
|
use pointer arithmetic instead of raw peeks and pokes
|
2025-10-05 18:38:01 +02:00 |
|
Irmen de Jong
|
cdeabd4b66
|
only * and /
|
2025-10-04 05:13:18 +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
|
ff1f58e022
|
implement simple + / - long expressions
|
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
|
d66dc664de
|
work on longs
|
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
|
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
|
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
|
9e85571a7b
|
fix pointer variable usage detection in other block
|
2025-08-05 17:39:22 +02:00 |
|
Irmen de Jong
|
e14c3f8b59
|
code cleanups
|
2025-07-06 00:52:37 +02:00 |
|
Irmen de Jong
|
e6bab3ceeb
|
IR: adding LOADFIELD and STOREFIELD instructions
|
2025-06-09 01:41:45 +02:00 |
|
Irmen de Jong
|
23a853db1e
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# examples/test.p8
|
2025-05-23 19:00:59 +02:00 |
|
Irmen de Jong
|
9da430ffeb
|
vm: more complete V-flag handling. somd doc and todo updates.
|
2025-05-23 18:58:14 +02:00 |
|
Irmen de Jong
|
61fe55168a
|
Merge branch 'master' into structs
# Conflicts:
# codeGenIntermediate/src/prog8/codegen/intermediate/AssignmentGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# examples/test.p8
|
2025-05-20 22:35:04 +02:00 |
|
Irmen de Jong
|
25d7f8808f
|
IR: added signed multiplication opcodes
|
2025-05-20 21:36:05 +02:00 |
|
Irmen de Jong
|
913ab03963
|
get rid of invalid ARRAY_STRUCT data type (arrays of struct instance are not yet supported)
|
2025-05-14 20:43:00 +02:00 |
|
Irmen de Jong
|
246e4f35a6
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# compiler/test/ast/TestConst.kt
# docs/source/todo.rst
# examples/test.p8
|
2025-05-10 16:36:16 +02:00 |
|
Irmen de Jong
|
99b9370178
|
fix various bugs around word-indexing combined with address-of: &buffer[2000]
|
2025-05-10 16:22:05 +02:00 |
|
Irmen de Jong
|
134352ed7c
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/test.p8
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-07 22:32:41 +02:00 |
|
Irmen de Jong
|
b28ee0819f
|
revert behavior change of @dirty variables, instead document the initialization behavior correctly in the docs
they get zeroed at program startup (like other uninitialized BSS variables), just not on entry in the subroutine.
|
2025-05-07 21:07:12 +02:00 |
|
Irmen de Jong
|
701f155951
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/ProgramAndVarsGen.kt
# compiler/test/TestSymbolTable.kt
# docs/source/todo.rst
# examples/test.p8
# intermediate/src/prog8/intermediate/IRFileReader.kt
# intermediate/src/prog8/intermediate/IRFileWriter.kt
# intermediate/src/prog8/intermediate/IRSymbolTable.kt
# simpleAst/src/prog8/code/SymbolTable.kt
# simpleAst/src/prog8/code/SymbolTableMaker.kt
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-06 17:59:36 +02:00 |
|
Irmen de Jong
|
522958e0e9
|
@dirty variables now actually end up in the uninitialized BSS_NOCLEAR section
|
2025-05-06 01:41:34 +02:00 |
|
Irmen de Jong
|
0e0377d1f0
|
IR/VM implemented struct allocations and initialization
|
2025-05-04 14:04:44 +02:00 |
|
Irmen de Jong
|
1ba5587404
|
allow syntax for declaring variables with struct instance type
|
2025-05-03 16:14:22 +02:00 |
|