View previous topic :: View next topic
|
Author |
Message |
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
I had not noticed that the program had rmode 24...
i still think that the only way is to coordinate with the support group |
|
Back to top |
|
|
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 82 Location: Bangalore, India
|
|
|
|
Thanks all,
I am in touch with the support group but not getting any update since last two days, hopefully they will come back with some solution.
Enrico,
could you tell me what's the significance of RMODE=24.
Regards,
Nirmal |
|
Back to top |
|
|
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 82 Location: Bangalore, India
|
|
|
|
Robert,
Quote: |
change the program to run in 31-bit mode |
Do you mean we need the whole mainframe to be upgraded to 31 bit and now we are using 24 bit mainframe?
Regards,
Nirmal |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
No, all IBM computers for quite a few years support 31-bit addressing. The latest generations support 64-bit addressing, even. However, your program is specifically coded to use 24-bit addressing. The COBOL option DATA(31) along with specifying AMODE(31),RMODE(ANY) in your linkage step will convert your program to 31-bit addressing. However, if there are subroutines that require 24-bit addressing, doing this can cause them to generate S0C4 abends since you may pass an address to the subroutine that it cannot access. |
|
Back to top |
|
|
Bill Dennis
Active Member
Joined: 17 Aug 2007 Posts: 562 Location: Iowa, USA
|
|
|
|
kedianirmal wrote: |
could you tell me what's the significance of RMODE=24 |
Using 24 bit addressing, your progam MUST reside within the first 16MB of the memory range. A lot of that range is used for system code usually leaving only 9 to 10MB free for user programs. You have exceeded that limit.
You;ll need to investigate using 31-bit addressing or reduce the array sizes. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Your module doubled in size. . . Why?
Quote: |
I have increased three arrays in the program from 2000 to 4000 which is declared as PIC X. |
Possibly, i misunderstood, but i read that you added only a few k bytes. Did something else change?
Depending on just why this size increased, the approach to the solution may need to change. . . Even if you find a way to run "this" version, there may well come a time when you make it large enough that it cannot run. |
|
Back to top |
|
|
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 82 Location: Bangalore, India
|
|
|
|
Hi,
Previousely Robert Sample has mentioned that
Quote: |
No, all IBM computers for quite a few years support 31-bit addressing. The latest generations support 64-bit addressing, even. However, your program is specifically coded to use 24-bit addressing. The COBOL option DATA(31) along with specifying AMODE(31),RMODE(ANY) in your linkage step will convert your program to 31-bit addressing. However, if there are subroutines that require 24-bit addressing, doing this can cause them to generate S0C4 abends since you may pass an address to the subroutine that it cannot access. |
What can be considered as a subroutine. Perfrom section can be considered as a subroutine in a program? The section is defined in the program itself.
Regards,
Nirmal |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
'Pounding sand' is a phrase that comes to mind. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
In this context, a subroutine is a separately compiled piece of code that is called by your program. PERFORM sections in a single COBOL program would not qualify as subroutine in this context. CALL 'ABC' USING ... would be a case of a subroutine. Basically, if the binder (linkage editor) requires an INCLUDE statement for the program name, it's a subroutine in this context. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
To repeat:
Quote: |
Your module doubled in size. . . Why? |
If you resolve this, your problem should go away. . .
If this cannot be resolved, you may need to look at a different approach. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
maybe, after all, the three arrays that were doubled in size were not PIC X |
|
Back to top |
|
|
|