32.000 elements = 32.000 bits = 4k size (of course) ... sorry
about that
Am 27.08.2024 um 17:01 schrieb Bernd
Oppolzer via groups.io:
toggle quoted message
Show quoted text
Am 27.08.2024 um 12:43 schrieb Dave
Wade:
In any case: the compiler can be downloaded as an AWS tape from the compiler website and
installed by VM370CE users individually; the current version there is 2023.01
but I am working on an improvment, which will be version 2024.08, probably.
(there is this problem with sets involving negative integers, see the Moshix video ... I am working on that;
I need a completely new implementation of Pascal sets, which is AMODE 31 ready, BTW ... and it will
support sets of up to 32.000 elements)
Does that still work on a 370?
Yes, I hope :-)
in fact, I am doing the development on the Windows variant first, because this means creating and defining new
P-Code instructions etc., then changeing the compiler so that it creates the new instructions and then implementing
them in the P-Code interpreter, and then make the compiler run again, when it compiles itself using the new
instructions.
After that, the P-Code to 370 translator must be changed so that the new P-Code instructions create correct
370 instructions (or library routines, when needed).
That said, there is a sort of problem with the maximum size of automatic storage for a procedure,
which is 8k at the moment. A set with 32.000 elements needs 8k bytes (32.000 bits), so there is
not much room for other variables in a procedure. The current sets were limited to 2000 bits,
which is 256 bytes. That said: if you really use such large sets, you will run into trouble probably
(when you're on the mainframe) ... but that's subject to testing :-)
The real size of a set depends on how you define it. A set of CHAR, for example, has 36 bytes.
A set of 0 .. 50 (where the elements can be all numbers from 0 to 50) needs 11 bytes (will be
rounded to 12).
Anyway: the old solution was plain wrong, and it was limited to AMODE 24 by design, which is not a good idea.
Cheers,
Bernd