How can a 31 bit program be changed to use z/VSE memory objects ?
Ingolf24 120000DRN3 Comment (1) Visits (5157)
z/VSE 5.1 supports 64 bit virtual addressing. To allow access to virtual storage above 2 GB, the program has to define memory objects (chunks of virtual storage) via the IARV64 assembler macro.
The benefit of 64 bit virtual is not just to have access to a large amount of virtual storage, it also provides the capability to access virtual storage without changing partition allocations or startup procedures. You just need to have enough VSIZE (virtual storage defined at IPL time) available and to issue the command "sysdef memobj,limit=20m", where limit defines the available storage for memory objects in megabytes (in the example 20 MB).
As shown in the following example it is not that hard to change a program that uses GETVIS storage to use 64 bit virtual storage (above 2 GB).
First an extract of a small program using GETVIS / FREEVIS:
* Data Area
DATA DS 0F
Instead of GETVIS / FREEVIS we are now using IARV64 services to allocate 64 bit virtual stoage:
* Data area
DATA DS 0D
With the "QUERY TD" command you can verify the memory object usage.
It's not hard to change to memory objects, right ?