>>Unfortunately neither Turbo itself not its output is very "clean":
It is
>>neither ROMable not Thingable ;(
>Given Simon's Assembly background I would think that the output from
TURBO
>would be fairly clean (but I've never looked at it and I really don't
know
Turbo, as one of its "speed-up" tricks, generates self-modifying code,
so a Turbo compiled program could never run from ROM in its DP form at
least. Example: machine code loops were speeded up with a series of
consecutive move.l ... type instructions in succession and the loop
generated a jmp or jsr to the appropriate number of move.l
instructions, so it had to modify the parameter for the jump
instruction to tell itself how far into the loop to jump to generate
the correct number of move.l instructions!

In brief, the code modified itself to some extent as it ran, so it
couldn't modify itself while executing from a ROM, and if it were
HOT_RES'ed for example, chaos would ensue if two or more copies of the
program running from the same place tried to modify the same code!

That's what's meant by by non-rommable and non-thingable code.

--
Dilwyn Jones
[EMAIL PROTECTED]
http://www.soft.net.uk/dj/index.html

Reply via email to