Upon return from the LOAD macro execution, "The three low-order bytes of register 1 contain a length value for the module. When the module is a program object, bound with FETCHOPT=NOPACK option, the length value returned is the number of doublewords equivalent to the fullpage-multiple area obtained with GETMAIN to hold the program object. If the program object is bound with FETCHOPT=PACK, the length value returned is the number of doublewords equivalent to the virtual storage size indicated in the directory entry."
During link-edit, "The FETCHOPT option allows you to specify how a program object should be paged-mapped (loaded) into virtual storage for execution. The syntax of the FETCHOPT option is: FETCHOPT=({PACK|NOPACK}{,PRIME|NOPRIME}). The parameters for FETCHOPT are: PACK|NOPACK allows you to specify whether the program object is page-mapped into virtual storage on a page or double word boundary. Specifying PACK causes the program object to be page-mapped into page-aligned virtual storage and then moved to storage with double word alignment. NOPACK causes the program to be page-mapped into page-aligned virtual storage without a secondary move. The PACK option may be specified when virtual storage is limited and performance is not an issue. It may be appropriate when many small programs are loaded. PRIME|NOPRIME allows you to specify if the program object should be completely read into virtual storage before execution. When PRIME is coded, all of the program pages are read before program execution begins. When NOPRIME is coded, program pages are not read until they are needed during execution. You cannot specify the combination (PACK,NOPRIME). The default is (NOPACK,NOPRIME). This option is only valid when processing program objects." In PDSE load libraries, program objects are stored in pages that are 4K long. Because the NOPACK option is in effect, the length that is returned in register 1 is the length of all the 4K pages needed to hold the table, not the actual length of the table. Make sure that link-edit parameter FETCHOPT=(PACK,PRIME) is specified. This will allow the LOAD macro to function properly. Don Imbriale >-----Original Message----- >From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf >Of Miklos Szigetvari >Sent: Wednesday, September 28, 2005 12:46 PM >To: IBM-MAIN@BAMA.UA.EDU >Subject: Loading a program > > Hi > >Try to load a program via LOAD macro to find some text constants in the >load module (i.e. the compile time text for every object) >For my surprise the load length from reg1 is not the same as module >length for program objects. >(With DESERV I can find out the module lengh) >I don't know if I can use this method (LOAD and search) to find out this >text constants. > *********************************************************************** Bear Stearns is not responsible for any recommendation, solicitation, offer or agreement or any information about any transaction, customer account or account activity contained in this communication. *********************************************************************** ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html