Version 3.1 implements multi column register memory.
On this version there are 26 columns defined on each register.
So the columns available are:
Column with title "value" (equal to mem0)
Columns mem1, mem2, mem3, ..., mem25
To access the extended memory only indirect operations are used.
Examples:
saves 1 on register 06 column 5
-----------------------------------------------
4.03 |
STO 01 |
"ABC" |
ASTO IND 01 |
saves ABC on register 04 column 3
-----------------------------------------------
5.02 |
ENTER^ |
100 |
STO IND Y |
saves 100 on register 05 column 2
-----------------------------------------------
saves 15 on register 06 column 4
The two first decimals represent the column.
On this version the implemented commands to access other columns are:
STO , RCL , ASTO, ARCL, ST+, ST-, ST*, ST/, DSE, ISG
All these commands must use IND to store or recall data
More commands used to access columns will be implemented soon.
I am testing the new features with 26 columns only but i am planning to increase
the columns to 100 on the following versions.
Column 0 is the standard memory of sim41
So:
is equal to:
Both chunks of code are equal and save 2 to register 05 or register 05 column 0 (this is the same thing)
Note that the compatibility with classic HP41 memory management is total when the first two
decimals are .00 on the memory used as reference before use indirect.
Memory is saved using CSV file format.
I tested two way communication between sim41e and Libre Office. A saved sim41e memory file
could be loaded on Libre Office. Then you can do changes to it, save the changes using
CSV format and load the changed memory file again into sim41e.