mirror of
https://github.com/irmen/prog8.git
synced 2026-04-21 17:16:33 +00:00
add cx16.r0r1sl, cx16.r2r3sl, ... that memory-map signed longs on the virtual registers
This commit is contained in:
@@ -1155,6 +1155,7 @@ so pay attention to any jumps and rts instructions in the inlined code!
|
||||
|
||||
- ``cx16.r0`` - ``cx16.r15`` (memory-mapped **uword** values, most often these are used)
|
||||
- ``cx16.r0s`` - ``cx16.r15s`` (memory-mapped **word** values, used when you need a signed word)
|
||||
- ``cx16.r0r1sl`` - ``cx16.r14r15sl`` (memory-mapped **long** values in 2 consecutive virtual registers, used when you need a signed long)
|
||||
- ``cx16.r0H``, ``cx16.r0L`` (for each r0..r15; memory-mapped **ubyte** values, both bytes of the register)
|
||||
- ``cx16.r0sH``, ``cx16.r0sL`` (for each r0..r15; memory-mapped **byte** values, both bytes of the register)
|
||||
- ``cx16.r0bH``, ``cx16.r0bL`` (for each r0..r15; memory-mapped **bool** values, both bytes of the register)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
TODO
|
||||
====
|
||||
|
||||
Implement struct field long bitshifts. See github issue 194
|
||||
|
||||
|
||||
Weird Heisenbug
|
||||
@@ -12,8 +13,7 @@ Weird Heisenbug
|
||||
Future Things and Ideas
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
- make $8000000 a valid long integer (-2147483648) this is more involved than you think. To make this work: long \|= $80000000
|
||||
- add cx16.r0r1sL, r2r3sL, ... etc to map signed longs on the virtual registers?
|
||||
- implement rest of long comparisons in IfElseAsmGen compareLongValues(): expressions operands that might clobber the R14-R15 registers...
|
||||
- implement rest of long comparisons in IfElseAsmGen compareLongValues(): expressions operands that might clobber the R14-R15 registers... (github issue 196?)
|
||||
- struct/ptr: implement the remaining TODOs in PointerAssignmentsGen.
|
||||
- struct/ptr: optimize deref in PointerAssignmentsGen: optimize 'forceTemporary' to only use a temporary when the offset is >0
|
||||
- struct/ptr: optimize the float copying in assignIndexedPointer() (also word and long?)
|
||||
|
||||
Reference in New Issue
Block a user