Next: , Previous: , Up: Assembler Instructions   [Contents][Index]


5.3.4 casels Instruction [EXPERIMENTAL]

This instruction deals with probabilities lists. See Using Probabilities Lists, for more information about the concept of probabilities lists in the QSMM framework.

In QSMM version 1.17, the casels instruction acquired experimental status because it seems that the concept of probabilities lists requires a reworking. The supposed reworking is to make it possible to define and use probabilities lists by the means of expansion of appropriate macros. If and when the assembler preprocessor has such capabilities, directives for defining probabilities lists (see Defining Probabilities Lists) and the casels instruction created for using those probabilities lists will eventually disappear from supported assembler program syntax. Currently, the developer may utilize an external macro processor to define probabilities lists and use them by generating corresponding choice instruction blocks (see choice Instruction Block) for better compatibility with future assembler program syntax.

The casels instruction has the syntax

        casels  list_name, loc_label_1, ..., loc_label_N

and specifies control transfer to one of location labels loc_label_1, ..., loc_label_N with probabilities equal to corresponding elements of probabilities list list_name. The number of location labels must be equal to the length of that probabilities list. If a casels instruction has a location label assigned to it, then you must not use the location label in arguments of the casels instruction.

Use can split the argument list of a casels instruction into multiple lines. To indicate that a line of this list continues on the next line, terminate the continued line with the comma after a probabilities list name or a location label. The following example shows this:

        casels  ls,
                L1, L2, L3, L4, L5,
                L6, L7, L8, L9, L10

The casels instruction effectively sets profile probabilities in the action emission matrix or the state transition matrix. If a particular casels instruction is prepended with an stt instruction, then the casels instruction will set profile probabilities in the action emission matrix. If a particular casels instruction is not prepended with an stt instruction, then the casels instruction will set profile probabilities in the state transition matrix. See stt Instruction, for more information.

If the assembler considers it should assemble a user instruction at a particular place but encounters a casels instruction at that place, then the assembler will assemble the nop instruction and treat the casels instruction as a specification of possible transitions to states after invocation of this nop instruction.


Next: , Previous: , Up: Assembler Instructions   [Contents][Index]