Tilde Memories

Tilde Memories are a temporary storage location for working with data. It stores a single byte of data at a time. Unlike the accumulator, tilde memories are mostly shared between tasks. This creates an easy mechanism to share data across tasks.
Unlike persistent memories, tilde memories are volatile and return to a zero state after the device resets. They are denoted by the tilde symbol "~" followed by the memory location.
Most modern devices have 64 tilde memory locations (~0-63). Memories ~0-59 are common to all tasks and ~60-63 are "private" for each task.

Many commands can interact with tilde memories, but these are the most common ones that directly affect them.

  • LDA - Load a value into the accumulator from a tilde memory

  • CMP - Compare to the value in the accumulator to a tilde memory

  • STA - Store from the accumulator to a tilde memory

  • Copy - Copy from a label or incoming message to a set of tilde memories

Syntax

~X Where X is the memory location number.

Examples

{
LDA ~43         //Load a value in tilde memory 43 into the accumulator
CMP ~11         //Compare the value in ~11 with the value in the accumulator
STA ~10         //Store the value in the accumulator into tilde memory location ~10
Copy @0,~0,7    //Copies the entire message into 7 tilde memories starting at ~0. ~1=Area, ~3=Opcode
}