Appendix C: Memory Allocation 217

When converting registers, note that:

You can convert registers from the common pool only if they are uncommitted. If, for example, you try to convert registers which contain program instructions, you will get an Error 10 (insufficient memory).

You can convert occupied registers from the data storage pool, causing a loss of stored data. An Error 3 results if you try to address a "lost" – that is, nonexistent – register. Therefore, it is good practice to store data in the lowest-numbered registers first, as these are the last to be converted.

Program Memory

As mentioned before, each register consists of seven bytes of memory. Program instructions use one or two bytes of memory. Most program lines use one byte; those using two bytes are listed on page 218.

The maximum programming capacity of the HP-15C is 448 program bytes (64 convertible registers at seven bytes per register). At power-up, memory can hold up to 322 program bytes (46 allocated registers at seven bytes per register).

Automatic Program Memory Reallocation

Within the common register pool, program memory will automatically expand as needed. One uncommitted register at a time, starting with the highest-numbered register available, will be allocated to seven bytes of program memory.

Conversion of Uncommitted Registers to Program Memory