The assign operation lets you transfer data into output(s) without affecting it. This is commonly used for retrieving a value from, or saving to a store/object.
Assign is the default operation for an instruction and can therefore be omitted altogether (see the second example).
This example simply returns the input directly without affecting the data.
<instruction operation="assign">
<output space="immediate" />
<input value="hello world" />
</instruction>
hello world
This example stores the value "pigeon" into the store called "myVar":
<instruction> <!-- "assign" is default so omitted here -->
<output space="store" value="myVar"/>
<input value="pigeon" />
</instruction>
the store "myVar" contains "pigeon"
This example retrieves the value from a store:
<instruction operation="assign">
<output space="immediate" />
<input space="store" value="myVar" />
</instruction>
pigeon