sudhansp
New User
Joined: 27 Aug 2009 Posts: 6 Location: INDIA
|
|
|
|
Hi,
I don't know assembler i wanted to get few clarification
1) We are migrating the COBOL code to enterprise COBOL Assembler programs are called by OS/VS COBOL,VS COBOL II if i convert those programs what are the change need to be done in assembler program only?
2) what are the changes will be done at compilation? |
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
Newer versions of COBOL are linked as AMODE 31/RMODE ANY, whereas OS/VS COBOL had to be linked as 24/24. VS/COBOL II should have been linked as 31/ANY as this AMODE/RMODE were supported.
Unless the Assembler sub-programs require below the line addressability, you can re-link them as 31/ANY or add the AMODE and RMODE directives to the source.
However, if they do require 24/24, then the Caller (in this case, newer COBOL), must also be 24/24. You'd have to specify (at a minimum) the compile option DATA(24) as the default is DATA(31).
An AMODE 31 Caller cannot directly call an AMODE 24 sub-program, unless you use a linkage-assistant in-house written sub-program, as the high-order addresses off the R1 parmlist will not be recognized (max addressability is an AL3) and you'll wind up with a S0C4.
There were many improvements to HLASM over Assembler H (IEV90) and you should be able to Assemble H sub-programs using HLASM (ASMA90) without issues or perhaps, just a few.
Your mileage may vary....
Bill |
|