IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Storage Limits for Variable/Arrays in PL/1


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
delly999

New User


Joined: 12 Jan 2007
Posts: 13
Location: Ontario, Canada

PostPosted: Thu May 10, 2007 11:52 pm
Reply with quote

Hi All.

I am having problems while storing the Array listed below:

DCL BIT_ARRAY(9984) BIT(32000);

The total amount of memory needed for this array is just under 40m(9984*4000). I got a compiler error saying I cannot go above the 16M line in memory.

I tried to Dynamically allocate a 2 dimentional array at runtime with the same storage requirements, and overlay the array that I need.

DCL (ROW,R_BIT) FIXED BIN(15);

DCL COMP_ARRAY(ROW,R_BIT) CHAR(1) CONTROLLED;
DCL BIT_ARRAY(9984) BIT(32000) BASED(ADDR(COMP_ARRAY));

ROW = 9984;
R_BIT = 4000;

ALLOCATE COMP_ARRAY;

This worked fine to compile, but as soon as I ran and started to load BIT_ARRAY after 16m of data is loaded I abend with a SOC4 message. Does anyone know away out of this storage problem without using LINK LISTS?

Thanks in advance
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Fri May 11, 2007 12:44 am
Reply with quote

You are problebly running in lower memory. Check AMODE and RMODE. If you want to run in upper (unlimited) then it should be 32 and any. Seems you compiled/linked with 24. The lower memory is restricted to 16 MB including the operating system which takes about 7 MB so there's not much left for your array.
Back to top
View user's profile Send private message
delly999

New User


Joined: 12 Jan 2007
Posts: 13
Location: Ontario, Canada

PostPosted: Fri May 11, 2007 1:14 am
Reply with quote

Thanks Bitneuker,

This helped me find the problem. It was essentially a Endevor problem. Even though I have the correct Link Option in the program, and the Endevor load module looked to be listed as AMODE=31 and RMODE=ANY, the program was still treated as AMODE=24. I created JCL Compiler with my own LOADLIB and ran successfully. Thanks for your help. Cheers
Back to top
View user's profile Send private message
agkshirsagar

Active Member


Joined: 27 Feb 2007
Posts: 691
Location: Earth

PostPosted: Fri May 11, 2007 3:28 am
Reply with quote

You mean this was BUG in Endevor?
Back to top
View user's profile Send private message
delly999

New User


Joined: 12 Jan 2007
Posts: 13
Location: Ontario, Canada

PostPosted: Fri May 11, 2007 6:21 pm
Reply with quote

Seems that way. When I compile using Endevor and execute the program from the load lib that Endevor creates I have the problem above, and when I compile outside of Endevor I do not. We just created a Development system that had some kinks that still needed to be worked out. Will hammer it out with CA folks.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Fri May 11, 2007 11:03 pm
Reply with quote

delly999 wrote:
Thanks Bitneuker,

Thanks for your help. Cheers


glad to be of help icon_wink.gif
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
No new posts CICS vs LE: STORAGE option CICS 0
No new posts Variable Output file name DFSORT/ICETOOL 8
No new posts Insufficient Storage ABENDS & Debugging 7
Search our Forums:

Back to Top