Thank you Otto -

I just saw your post as well as Steve's.
I missed a lot of stuff yesterday morning.

The DATA(24) option sounds like a simple thing to use and does not require any 
code changes.
I will pass this info along to the programmers.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of 
Schumacher, Otto
Sent: Tuesday, July 12, 2011 11:31 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: running Assembler I/O macro code as AMODE 31, RMODE ANY

To fix this problem of allowing all storage to be above the line the Assembler 
I/O subroutines will need to be rewritten. You can have the Cobol program 
compile specifying the compiler option DATA(24) this will indicate to the COBOL 
compile to obtain working storage below the line. This action will allow you to 
call the assembler module that is Amode(24). The Cobol module will then link as 
a Amode 31 Rmode any program.  This compiler option change will allow the 
program code to move above the line but will leave the COBOL programs working 
storage below the line.   

Regards
Otto Schumacher
 
HP Enterprise Services
Infrastructure Specialist
Ahold Account
CICS & Capacity Technical Support
P.O. Box 6462
2000 Wade Hampton Blvd.
LC1-302
Greenville,  South Carolina, 29606
Cell: 864 569--5338
Tel: 864 987-1417
Fax: 864 987-4500
E-mail: otto.schumac...@hp.com

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of 
Barkow, Eileen
Sent: Tuesday, July 12, 2011 11:06 AM
To: IBM-MAIN@bama.ua.edu
Subject: running Assembler I/O macro code as AMODE 31, RMODE ANY

We have some old Cobol programs that are being upgraded to Enterprise Cobol and
the users would like to be able to link them as AMODE 31 RMODE ANY.
The problem is that some of these programs call assembler modules to do the i/o 
via
QSAM and VSAM macros (TESTCB, SHOWCB, GET, PUT, PUTX, etc) and the only way 
these can work is
by linking everything as AMODE 24, RMODE BELOW.

Is there any way (like by using LE enabled Assembler), that the assembler macro 
code can run
AMODE 31, RMODE ANY? I know that one way is to reset the mode dynamically via 
BSM and other mode setting
instructions so that the data areas can be moved to 24 bit areas before the 
macros are issued and then moving
them back to AMODE 31 areas to be passed back to the Cobol programs.
But is there a simpler way to do this?


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to