Irmen de Jong
|
8d177beb78
|
fix possible register corruption when calling asmsubs that require Carry flag as a parameter
|
2023-09-24 14:03:31 +02:00 |
|
Irmen de Jong
|
880c0a5da8
|
allow taking address of array element
|
2023-09-18 04:37:41 +02:00 |
|
Irmen de Jong
|
ccf6e32bf9
|
adding setlsb() and setmsb() builtin functions to 6502 codegen
|
2023-09-17 15:16:47 +02:00 |
|
Irmen de Jong
|
a1874f6f00
|
adding setlsb() and setmsb() builtin functions to 6502 codegen
|
2023-09-17 01:48:29 +02:00 |
|
Irmen de Jong
|
95e4490a8a
|
adding setlsb() and setmsb() builtin functions
|
2023-09-15 02:39:16 +02:00 |
|
Irmen de Jong
|
31c132c2eb
|
several optimizations and compiler error fix for @(&var) and @(&var+1)
|
2023-09-14 23:04:23 +02:00 |
|
Irmen de Jong
|
a1d0e5bb65
|
added list of software to docs
|
2023-09-13 21:51:48 +02:00 |
|
Irmen de Jong
|
03e0d4b2e8
|
reducing expression codegen complexity (no longer splitting conditional expressions, and using r9 as temp var)
|
2023-09-13 01:08:42 +02:00 |
|
Irmen de Jong
|
6afdd4e6fd
|
preparing next version
|
2023-09-12 21:53:49 +02:00 |
|
Irmen de Jong
|
dd2463a440
|
proper fix for the previous commit. + fix for i/o channel reset in diskio.f_seek()
it wasn't the adressing mode, it was that it assumed the pointer variable was always in zeropage (which might not be)
|
2023-09-07 22:17:46 +02:00 |
|
Irmen de Jong
|
23a8bebd9e
|
fix invalid addressing mode on 6502 cpu for bytevalue +/- bytearray[i]
|
2023-09-07 21:40:07 +02:00 |
|
Irmen de Jong
|
3caf9108ad
|
finalizing 9.4.1 release
|
2023-09-06 21:18:01 +02:00 |
|
Irmen de Jong
|
b570bdaed7
|
fix codegen for array[i] += float expression
|
2023-09-05 22:38:52 +02:00 |
|
Irmen de Jong
|
8c0843cc87
|
fix an invalid 6502 instruction on c64 in certain float assignment
|
2023-09-05 21:54:52 +02:00 |
|
Irmen de Jong
|
eb018ae660
|
code optimization for bytearray[x] +/- bytearray[y]
use adc array,y or sbc array,y instead of tempvar
|
2023-09-04 23:01:53 +02:00 |
|
Irmen de Jong
|
c3fbdf34ca
|
fixed c64 float problem
|
2023-09-03 16:40:10 +02:00 |
|
Irmen de Jong
|
48bd51e1a5
|
c64 float problem
|
2023-09-03 16:29:01 +02:00 |
|
Irmen de Jong
|
10d0b03a90
|
use less tempvars
|
2023-09-03 01:32:47 +02:00 |
|
Irmen de Jong
|
e1b3582f08
|
fix wordvar -= @(memory)
|
2023-09-03 01:12:26 +02:00 |
|
Irmen de Jong
|
95be1c9e22
|
fix optimized swapped in-place byte comparisons
|
2023-09-03 00:47:55 +02:00 |
|
Irmen de Jong
|
1ce8fe06d5
|
fix in-place <= for bytes
|
2023-09-03 00:01:11 +02:00 |
|
Irmen de Jong
|
e97303c226
|
fix word multiplication to not clobber r0 and r1 anymore
This was causing corruption in certain programs such as the cx16/amiga example.
The problem was introduced in 9.4 with the new multiply_words routine
|
2023-09-02 20:52:16 +02:00 |
|
Irmen de Jong
|
3b786c819d
|
avoid using temp var even more
|
2023-09-01 23:47:01 +02:00 |
|
Irmen de Jong
|
04959dbd8b
|
optimize asm: don't use temp var for some additions
|
2023-09-01 22:24:17 +02:00 |
|
Irmen de Jong
|
f14ea1b3de
|
micro optimization to save 2 cycles: change some pha+pla into tax+txa
|
2023-09-01 20:37:24 +02:00 |
|
Irmen de Jong
|
09a7a4bbe5
|
optimize comparison against zero
|
2023-09-01 02:28:11 +02:00 |
|
Irmen de Jong
|
aa4d23a3d5
|
fix register stack saving on certain expression code that was broken on 6502 but not on 65c02
|
2023-08-29 11:50:35 +02:00 |
|
Irmen de Jong
|
bad9dd3b3b
|
mention shadowing warnings from assembler
|
2023-08-28 16:55:28 +02:00 |
|
Irmen de Jong
|
ff35ba3696
|
added warnshadow cli option to enable assembler warnings about symbol shadowing
|
2023-08-28 16:41:46 +02:00 |
|
Irmen de Jong
|
75514fc7af
|
fix some invalid instructions on 6502 (instead of 65c02) target for bit shifts
|
2023-08-14 21:58:26 +02:00 |
|
Irmen de Jong
|
bc8126eb16
|
2x faster word multiplication routine
|
2023-08-14 18:11:30 +02:00 |
|
Irmen de Jong
|
2c9e50873c
|
use math.square for optimized X*X calculation (words only).
Added IR SQUARE instruction.
|
2023-08-14 01:05:17 +02:00 |
|
Irmen de Jong
|
151a206617
|
experimental Commodore PET target
|
2023-08-12 23:25:07 +02:00 |
|
Irmen de Jong
|
e3fbe37f9f
|
fixed optimized code for >= and <=
|
2023-08-12 13:45:08 +02:00 |
|
Irmen de Jong
|
dc870cd5ea
|
fixed optimized code for > and <
|
2023-08-12 13:15:32 +02:00 |
|
Irmen de Jong
|
584be44743
|
fix compiler error on float comparison expressions
|
2023-08-12 00:09:38 +02:00 |
|
Irmen de Jong
|
7c0bde7310
|
parser: allow curly brace on next line for asmsub too
downgrade antlr4 one version again to what is used in IntelliJ's antlr plugin, to avoid potential version conflicts
|
2023-08-09 20:01:12 +02:00 |
|
Irmen de Jong
|
017ef8a837
|
optimization of > and <= in expressions
|
2023-08-07 21:23:31 +02:00 |
|
Irmen de Jong
|
0d63cdcb96
|
optimization of < and >= in expressions
|
2023-08-07 04:54:35 +02:00 |
|
Irmen de Jong
|
68a6f99c9f
|
optimization of < in expressions
|
2023-08-07 02:32:07 +02:00 |
|
Irmen de Jong
|
60781bcfc4
|
optimization of == and != in expressions
|
2023-08-07 01:25:41 +02:00 |
|
Irmen de Jong
|
77fa2e2722
|
optimization in + or - assignment to word array
|
2023-08-05 23:28:40 +02:00 |
|
Irmen de Jong
|
c36afd872e
|
optimization in assignment to memory
|
2023-08-04 23:54:11 +02:00 |
|
Irmen de Jong
|
7e58a4c130
|
optimization in assignment to array
|
2023-08-04 23:06:55 +02:00 |
|
Irmen de Jong
|
19a4bf1088
|
clean up AugmentableAssignmentAsmGen a bit
|
2023-08-04 21:48:02 +02:00 |
|
Irmen de Jong
|
9678bbae4b
|
dedup
|
2023-08-02 23:19:52 +02:00 |
|
Irmen de Jong
|
a4d093afa1
|
added -sourcelines cli option to include src lines in generated assembly (which is now off by default)
|
2023-08-02 23:05:24 +02:00 |
|
Irmen de Jong
|
ba788bcf0f
|
put the original p8 source lines into the generated assembly as comments (not only the line numbers).
|
2023-08-02 02:18:13 +02:00 |
|
Irmen de Jong
|
f2c62bee7e
|
docs
|
2023-08-01 22:49:55 +02:00 |
|
Irmen de Jong
|
1ae950a638
|
Merge branch 'remove_evalstack'
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
|
2023-07-31 21:57:43 +02:00 |
|