View previous topic :: View next topic |
Author |
Message |
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Thu Jun 10, 2004 8:36 pm Post subject: |
|
|
Why wouldn't this work? Think about it in assember rather than COBOL. Your data resides below the line so the addresses of the data are of the form ??XXXXXX where the ?? nibbles don't matter to a 24 bit program. That data is being accessed by a 31 bit mode program, but the parameter list used to pass the addresses of the data to the 31 bit program (via the LINK SVC) will have 00 or 80 as the first byte in each address. That makes the addresses 00XXXXXX or 80XXXXXX which is perfectly acceptable to a 31 bit program. The CBL DATA(31) clause should refer to storage dynamically allocated by the 2nd program (that storage which is GETMAIN'ed for local use) but has no bearing on how the parameters are addressed. temporary storage may be above the line, but that is used only by the 2nd routine (*)
* I don't know cobol terminology, and LE uses conventions other than 'standard linkage conventions', but the processing concepts are the same as in regular assembler. |
|
Back to top |
|
 |
Bithead Advanced

Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
|
Posted: Fri Jun 11, 2004 8:52 am Post subject: |
|
|
I found my mistake. I had a 31 bit program calling a 24 bit program with data(31) rather that a 24 bit program calling a 31 bit program. The first will fail, the second should not.
I will get this sorted out just in time to include 64 bit addressing into the mix! |
|
Back to top |
|
 |
reddy_niranjan Beginner
Joined: 07 Jun 2004 Posts: 3 Topics: 1
|
Posted: Wed Jun 16, 2004 4:16 am Post subject: |
|
|
Is this DATA(31) or DATA(24) is must be in first line of IGYCRCTL step??
What is the actual differance and relations between DATA(31) & AMODE(31)?? |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12382 Topics: 75 Location: San Jose
|
|
Back to top |
|
 |
|
|