A plain assembler program can begin with probabilistic jumps to one of its initial states. If the probabilistic jumps are absent, the assembler program begins with its single initial state.
While instructions belonging to various states can intermix in a plain assembler program, the best practice is to segment a plain assembler program into states following one another.
If a plain assembler program does not end with a jmp instruction, the assembler implicitly adds this instruction for transferring control to the first state.
Every state probabilistically selects an instruction among a set of allowed user and mixed-type instructions assigned to the state.
After a user or mixed-type instruction, a plain assembler program can contain probabilistic jumps to other states.
Alternatively, a block of joe instructions can follow a user or mixed-type instruction for performing conditional jumps on its various outcomes.
Every conditional jump can transfer control to a block of probabilistic jumps to other states.
Adherence to assembler program structure described in this section simplifies understanding how the assembler converts a plain assembler program to a probability profile stored in the state transition matrix and action emission matrix of a node. This understanding is necessary to develop a plain assembler program for a node capable of efficient training.