On 7/12/2011 9:06 AM, Barkow, Eileen wrote:
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?
VSAM can work AMODE 31 just fine.
For QSAM, there are a number of approaches that allow you
to code file processing in AMODE 31 without switching back
and forth using BSM and the like.
Visit
http://www.trainersfriend.com/General_content/Book_site.htm
check out these papers:
* Applications Assembler Programming for z
* Writing Reentrant Programs (In Assembler)
* I/O and AMODE 31
they're all free and have some tidbits you might find helpful.
--
Kind regards,
-Steve Comstock
The Trainer's Friend, Inc.
303-393-8716
http://www.trainersfriend.com
* Special promotion: 15% off on all DB2 training classes
scheduled by September 1, taught by year end 2011
* Check out our entire DB2 curriculum at:
http://www.trainersfriend.com/DB2_and_VSAM_courses/DB2curric.htm
----------------------------------------------------------------------
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