The Museum of HP Calculators

HP Forum Archive 11

[ Return to Index | Top of Index ]

Have memory, and getting "insuf memory" err mssg.
Message #1 Posted by Jes on 2 Apr 2003, 4:25 a.m.

1) on 48G, I have written code worth 16K bytes; 20K free Bytes.

I typed "triangle solver" program from a known commercial program house (which should use < 8000 Bytes, when arriving at a line where local-var's are assigned:

-> dep <-p2 <-p3 .... for a total of 24 variables

and I save (enter), I got "insuf memory" messg. I skipped that line and continued keying till the end of the program, and saved without problem. (I skipped a second assignment instance). Returning to key-in the "assignment" above , the error-messg persisted. I am blcoked there.

Since, there IS memory free 20KB, could anyone tell me what the pb maybe?

2) How does one skips to a particular program line; to avoid jumping 1 line at-a-time?

      
Re: Have memory, and getting "insuf memory" err mssg.
Message #2 Posted by James M. Prange on 2 Apr 2003, 5:41 a.m.,
in response to message #1 by Jes

I'm not completely clear on what you're saying. I take it that the problem occurs when attempting to save the program (with the ENTER key); not when trying to run the program.

I also take it that you have a copy of the program, with some parts left out, already stored in a global variable.

I'm not sure, but you might get by with less memory if you put the quoted (surrounded by ' ' delimiters) name and the stack and then press EDIT (which has an effect similar to the 48S series VISIT) rather than placing the program itself on the stack before editing it.

I'd check for unneeded variables, and purge any found to free up some memory. Consider temporarily copying some variables to another device (your PC if you have the cable, otherwise by IR to another 48, or to a 49G that has the 49G to 49G cable plus the 48 series adapter).

If that doesn't do it, then note that by default, ENTER saves a copy of the stack, and for commands that take arguments from the stack, a copy of the arguments (or the argument count for commands like \->LIST or DROPN that take an indefinite number of arguments). This can use up some memory.

So press LeftShift MODES, then MISC, and then press STK and ARG, to free up some memory by disabling saving the last stack and arguments (enable them again when you're all done).

If that still doesn't do it, then note that ENTER also, by default, saves a copy of each of the last 4 the command line strings.

So from the same menu, press CMD twice to discard the last command lines that are currently saved, and try again.

If that still doesn't do it, then press CMD once to temporarily disable last command lines saving, but note that I'm not sure what would happen if there's still not enough memory to put the program on the stack; I believe the result would be that the command line would be lost, so save this for the last resort.

Well, now you see why some of us consider 32K to be "not enough" for some things.

By "skip to a particular program line", do you mean when single-stepping? If so, then edit the program to place a HALT command before that line, and when single-stepping, press CONT (LeftShift ON) to get to the HALT command.

Regards
James


[ Return to Index | Top of Index ]

Go back to the main exhibit hall