Doesn't the real MVS LOAD only handle modules that have been processed by the 
link editor?

 -----Original Message-----
From:   VM/ESA and z/VM Discussions [mailto:[EMAIL PROTECTED]  On Behalf Of 
Alan Altmark
Sent:   Thursday, January 12, 2006 4:24 PM
To:     [email protected]
Subject:        Re: VM maclib reference

On Thursday, 01/12/2006 at 02:26 EST, Steve Gentry 
<[EMAIL PROTECTED]> wrote:
> New program, mode'ing old ones.  This is the one I asked about last 
week, 
> regarding example about loading table(s) above 16m line. 
> Looks like CMSSTOR, in part, will help.  Is there a macro or DIAG       
  to 
> tell me the length(size) in bytes of a module?  What about a TEXT deck? 
> This has to be able to be done in an assembler pgm. 

Look at the MVS LOAD macro.  It will load a text deck into memory and 
return the address & length in R0 & R1.  Make sure the your table is 
assembled with RMODE ANY so that it can be placed above the 16MB line. The 
DELETE macro will unload the TEXT deck.

If you want to do this with native CMS services, issue the NUCXLOAD 
command to load the text deck and use the NUCEXT QUERY macro to return 
address & length information (extracted from the SCBLOCK).  Starting the 
program name with an asterisk (e.g. "NUCXLOAD *TABLE MYTEXT") will make 
sure you don't accidentally try to "run" the program.  Use "NUCXDROP DROP 
*TABLE" to unload the table.  While this isn't particularly hard, I kind 
of like the MVS LOAD macro better.

Snippet for NUCXLOAD and NUCEXT:
         LA    R9,NUCXLOAD_Error
         CMSCALL PLIST=PgmLoad,ERROR=(R9)
         LA    R9,NUCEXTQUERY_Error
         NUCEXT QUERY,NAME=PgmName,ERROR=(R9) 
         USING SCBLOCK,R1
* At this point SCBXORG has address.  SCBXLEN has length.  
: 
PgmLoad  DS    0D 
         DC    CL8'NUCXLOAD'
PgmName  DC    CL8'*TABLE'
         DC    CL8'MYTEXT'       <-- filename of TEXT deck
         DC    8X'FF' 
         LTORG
         SCBLOCK

Alan Altmark
z/VM Development
IBM Endicott

Reply via email to