03-31-2011, 09:57 AM
You know it occurs to me that it might spot cases where it could keep it on register. Simple loops that don't do much, and live below 256 for B or 65536 for BC..
Remember that code I showed you that made djnz-like speed from a 16 bit counter?
Perhaps implementing a push-pop to bc if it calls something that would need that register. But quite a lot of for-next loops are to a static number, or in the next best case from something like 1 to uInteger. Both of which could be stored in registers, assuming that doesn't get too complicated.
And of course, it would be blinding fast
Remember that code I showed you that made djnz-like speed from a 16 bit counter?
Perhaps implementing a push-pop to bc if it calls something that would need that register. But quite a lot of for-next loops are to a static number, or in the next best case from something like 1 to uInteger. Both of which could be stored in registers, assuming that doesn't get too complicated.
And of course, it would be blinding fast
