06-03-2010, 05:45 PM
Not sure where else to put this - Not really a bug, per se, as an efficiency; I mentioned it elsewhere but I think it got lost.
With a sub that pokes memory based on labels:
eg:
Seems to produce assembler that does this:
Can the compiler not shortcut that to
and work out at assembly time where that should be, thus producing shorter and faster code for what is, after all, a constant?
(or is there something clever in the optimizer that spots that sort of thing - load followed by incs or fixed adds?)
With a sub that pokes memory based on labels:
eg:
Code:
SUB pokethis(data as uByte)
poke @label+1,data
return
label:
asm
LD A,00
end asm
Seems to produce assembler that does this:
Code:
ld hl, __LABEL__BLPutCharHeight
inc hl
Can the compiler not shortcut that to
Code:
ld hl, __LABEL__BLPutCharHeight+N ?
(or is there something clever in the optimizer that spots that sort of thing - load followed by incs or fixed adds?)