Using the Address Register indirect with Displacement mode for addressing
is still ROMable, isn't it? I was under the impression that the requirement for
ROMable code was the same as that for re-entrant code. Am I wrong?
An assembler will NEVER (unless there's a bug somewhere) change your code
so that it won't be re-entrant. (Now saying that, my assembler will start to do
just that! 🙂 )
— Colin —
Colin,
My point is that the Amiga development packages generally generate code
that requires fixups at load time. The earlier statement was that the assembler
would replace one addressing mode with another in order to optimize the code.
Now if the code is disk loadable, this is not a problem, however if I write my
code using an inefficient addressing mode in order to avoid a loadtime fixup,
and the assembler optimizes this to a mode that DOES require a fixup, then the
code is no longer ROMable while it is still re-entrant.
-Dean