Bill,
Assuming that the load module size does not change, the short answer is "yes". However, read on.
If you "exec" your program with no options other than noinit, nocodepage, test, then z390 uses some defaults for (1) how much memory you get; and (2) where to load your program in memory. The default for how much memory you get is 1MiB = 2^20 = X'000100000', so the last byte of available memory is at X'000FFFFF'. Programs are loaded by default at the high end of memory. So, you've probably noticed that your program always ends at X'000FFFFF'.
You can force your program to be loaded at the low end of memory -- address X'00008000' -- by adding the NOLOADHIGH option to your"bash/exec" invocation. Note: the z390 documentation for the LOADHIGH option states that the low address is X'00010000' when NOLOADHIGH is specified. The z390 developers know of this and are thinking of which value is best.
You can also increase the size of memory by using the MEM option, which specifies in units of MiB. The default is MEM(1), which agrees with what you now see. If you use this option on Linux, be sure to enclose it in quotes, as in
bash/exec yourProg 'mem(16)' noinit nocodepage test
(Without the quotes, the bash shell will attempt to interpret the parentheses and get an error.)
Using mem(16) gives you 16MiB, the maximum for 24-bit addresses.
Regards,
John Ganci