Re: CMS program management tutorial - Reslib - MACLIB

Mike Stramba <[email protected]>
Newsgroups gmane.comp.emulators.hercules390.vm
Message-ID <[email protected]>
Hi Bob,

I just revisited the "RESLIB" technique trying to run another program - MACLIB.

I'm getting erratic results, sometimes it's working, sometimes not.

Is there something special about MACLIB ?


SVMAC    CSECT
         LR    R12,R15
         USING SVMAC,R12
         LA    R1,MACLIST
         SVC   202
EXIT     BR    R14
MYERR    WRTERM 'ERROR FROM SVC 202'
         B     EXIT
*
MACLIST  DS  0D
         DC    CL8'MACLIB'
P1       DC    CL8'GEN'
         DC    CL8'FOO'
FNAME    DC    CL8'GWTO'
         REGEQU
         END


On 7/13/10, Robert O'Hara <rohara-h1UBTB8qgA32lB8bt/G8DwC/[email protected]> wrote:
> So where can CMS programs run?
>
> 1. The nucleus.  CMS commands such as STATE are part of the nucleus; their
> code is resident in memory at all times.
>
> 2. The user area at x20000.  This is where user programs run by default.
> They can be as large as the virtual machine allows.  Programs written in
> COBOL, FORTRAN, PL/I, etc all run here.  And the CMS EDIT command runs here.
>
> 3. The transient area at xE000.  Programs running here can be no larger than
> 8K.  Many CMS commands such as LISTFILE run here.  When you invoke CMS
> SUBSET mode from within EDIT, you can only run transient commands, because
> the editor is occupying the user area.  Thus you can call LISTFILE from your
> PL/I program, but not EDIT.
>
> 4. The CMS shared segment at 15MB in the SixPack.  CMS defines a shared
> segment where EDIT, EXEC, and OS simulation code can reside.  But because
> the shared segment is not guarenteed to be there (define your VM to 16MB and
> it won't be), the above code will run in the user area or self-load into
> high memory.
>
> 5. Resident memory via the RESLIB program.  The SixPack features a program
> called RESLIB that lets you in effect dynamically extend the CMS nucleus.
> It is similar to NUCXLOAD introduced in VM/SP (but not compatible with it).
> These programs reside in high memory.
>
> In the forthcoming SixpPack v1.2 I use RESLIB to load REXX and the GCCLIB C
> runtime routines into high memory.  Thus a REXX program can call any CMS
> program, regardless of where it runs.
>
> So if you want to write a program that invokes EDIT, instead of
>    ASSEMBLE CALLEDIT
>    LOAD CALLEDIT
>    GENMOD CALLEDIT
>    CALLEDIT
> which will fail, do this:
>    ASSEMBLE CALLEDIT
>    RESLIB LOAD CALLEDIT
>    CALLEDIT
> Now your program is resident in high storage; you can repeatedly invoke it
> without calling RESLIB again.  Type HELP RESLIB in CMS on the SixPack for
> more information.
>
> Bob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.