If a user or mixed-type assembler instruction has a single allowed outcome, or an assembler program ignores the outcome of the assembler instruction, one of these assembler program fragments should immediately follow the instruction:
jmp instruction transferring control to a state.
jprob instructions transferring control to states if the state transition matrix does not have the restriction to define only deterministic state transitions.
choice instruction block containing case instructions transferring control to states if the state transition matrix does not have the restriction to define only deterministic state transitions.
The following examples illustrate the instruction arrangements.
The examples contain comments showing a possible location of a block of joe instructions for analyzing the outcome of a user or mixed-type instruction.
user or mixed-type instruction
; A block of `joe' instructions would be here.
; The beginning of another state
or
user or mixed-type instruction
; A block of `joe' instructions would be here.
jmp S0 ; jump to a state
or
user or mixed-type instruction
; A block of `joe' instructions would be here.
jprob prob1, S1
jprob prob2, S2
...
jprob probN, SN
jmp S0 ; This instruction is not necessary
; if it specifies the jump to a
; state going just after this line.
or
user or mixed-type instruction
; A block of `joe' instructions would be here.
choice
case prob1, S1
case prob2, S2
...
case probN, SN
end choice
jmp S0 ; This instruction is not necessary
; if it specifies the jump to a
; state going just after this line.
The above jprob and case instructions specify probabilities of transitions to target states for a source state, a user or mixed-type instruction emitted in the source state, and any possible outcome of the user or mixed-type instruction.