> They had enough spare bytes to not have to pull
> that trick. It'd have been better to clean up some
> algorithms somewhere or reuse some code.
I assume from your clear and unequivocal statement that you have first hand knowledge of that. I'll bow to your better information.
> Note: I've worked with very memory constrained
> systems in assembly before
As have I.
> (actually hand assembled code on paper as well).
That's how I started, although largely I ended up writing directly in machine code since it was quicker, and after I found my third bug in the assembler I had occasional access to I gave up on writing mnemonics at all. It was only much later when I had other people to communicate with that I went back to writing assembly.
And I remember writing code that really, really needed to do things like jumping into the middle of instructions.
Thank you - useful. Perhaps they really didn't need to use that specific trick on that specific occasion. It might be interesting for someone to comb through and find out if they used it lots of times, or just a few. perhaps they simply got into the mindset and used it because they could, in anticipation of needing it.
Certainly that sort of thing is easier to do first time round, rather than having to go round again to find bytes when you find later that you need them. It becomes a habit, much like these days it's a habit to layout code clearly, name variables carefully, and comment tricky code.
A possibility and a fair one! I might write something to scan through looking for jumps that jump inside opcodes (added to list of projects which I will do one day).
"They had enough spare bytes to not have to pull that trick"
Hogwash. When you're writing an interepter for a low-specced system you have no truly spare bytes, because every one you take is one that programs running on your interpreter cannot have.
Prime example COS/SIN = same operation with 180 phase shift. I've seen BASIC implementations with two separate implementations...
Note: I've worked with very memory constrained systems in assembly before (actually hand assembled code on paper as well).