You are reading a single comment by @allObjects and its replies. Click here to read the full conversation.
  • Step 4. After storing (writing) a third string - 1234567890 - to the memory - S04:
    Enter a string 1234567890 in the Value field and press write button.
    The store operation returns the object's id 00FA in the memory in ID, with which it can be retrieved, updated, and deleted.

    Step 5. After retrieving (read) of the string with id - 00FC - ('efghijklmn') from memory - S05:
    Enter the object ID 00FC in the ID field and press read button.
    The read operation returns the (string) object value efghijklmn with the ID from memory.
    (Currently no crosscheck takes place wether the obj ID is in the 3rd segment of the memory, is even, and matches with the id in the object data space.)

    Step 6. After deleting (delete) of object with id - 00FC - ('efghijklmn') from memory - S06:
    Enter the object ID 00FC in the ID field and press delete button.
    The delete operation returns the (string) object value efghijklmn with the ID as deleted from memory.
    (Currently no crosscheck takes place wether the obj ID is in the 3rd segment of the memory, is even, and matches with the id in the object data space.)

    @ 0008: 00FC - addr of last freed object pointer / object ID (begin of chain of freed object pointers)
    @ 00FC: 0000 - addr of next (previously) freed object pointer / object ID (0000 = none, end of chain, last one in chain)
    On new writes, last freed object ID are reused until all are gone.

    @ 0013..0021 - stored object still there, but type is overwritten with 80 to indicate deleted object
    @ 0013: 80 - 1 byte in object data space indicating deleted object / garbage collectable.


    3 Attachments

    • S04.png
    • S05.png
    • S06.png
About

Avatar for allObjects @allObjects started