It would require only one byte of addressability if you put it at the
end of the program.
Rephrased: Put such a table at the end of the program. Since only the
first byte needs to be addressable, should the program grow near the
limit of addressability, every byte of the table, other than the first,
can be past the point of addressability without creating an error.
Tony Thigpen
Brian Westerman wrote on 11/30/25 7:59 PM:
Won't this add an extra 64x4 bytes to the program's addressibility?
Brian
On Sun, 30 Nov 2025 09:54:11 -0000, Jonathan Scott
<[email protected]> wrote:
Overlapping MVC where the overlap is not just 1 byte is likely to be much
slower than an ordinary MVC, as it is less likely to be handled in an optimised
way.
I think the fastest solution would be one ordinary MVC per 256 bytes, something
like the following (using the same literal in both cases to avoid needing a
second one, even though the second move is less than 256 bytes):
MVC P1(256),=64PL4'0'
MVC P1+256(104*4-256),=64PL4'0'
I had an ASSERT macro to verify assembly-time assumptions, so I'd add something
like ASSERT L'P1,EQ,4 in this case. If you don't have an equivalent macro, you
can at least use this:
DC 0SL2(L'P1-4,4-L'P1) Verify assumption that L'P1 is 4
[I'm retired now so the above is all from memory and has not been tested].
Jonathan Scott