Sim41 Extended (sim41e)


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:


6.05
STO 00
1
STO IND 00
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

-----------------------------------------------

6.04
STO M
15
STO IND M
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:



5
STO 10
2
STO IND 10
is equal to:

5.00
STO 10
2
STO IND 10

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.