In QSMM, there are three categories of assembler instructions: built-in instructions, user instructions, and mixed-type instructions.
The built-in instructions are
The assembler understands the built-in instructions without a prior definition of corresponding instruction classes and meta-classes.
The built-in instructions do not necessarily induce code for execution by some kind of a machine;
they can be the control words affecting the structure of a machine.
User instructions are assembler instructions with application-specific behavior. You declare a custom set of user instructions in an application program by registering instruction classes and meta-classes. You implement the execution of actions associated with the user instructions in the event handlers of instruction meta-classes.
The mixed-type instructions are
The disassembler can generate
nop1 instructions, but assembling them requires defining the corresponding instruction classes and meta-classes.
Their implementation can be specific to an application program.
In certain cases, the assembler may implicitly generate
nop instructions, but assembling them fails without a definition of the corresponding instruction class and meta-class.
|• jmp Instruction|
|• jprob Instruction|
|• choice Instruction Block|
|• joe Instruction|
|• stt Instruction|
|• nop and nop1 Instructions|
|• lookup Instruction|
|• abort Instruction|
|• User Instructions|