2 Notation
2.3.2 Conditions to instructions
In many cases, the action of an instruction depends on the current state of the
processor. In these cases the conditions are shown by an if clause; this can take one
of the following forms:
• if condition
statement
• if condition
statement
else
statement
• if condition
statement
else if condition
statement
else
statement
These conditions can be nested. Braces, {}, are used to group statements which are
dependent on a condition. For example, the cj (conditional jump) instruction contains
the following lines:
if (Areg = 0)
Iptr′ ← next instruction + n
else
{
Iptr′ ← next instruction
Areg′ ← Breg
Breg′ ← Creg
Creg′ ← Areg
}
This says that if the value in Areg is zero, then the jump is taken (the instruction
operand, n, is added to the instruction pointer), otherwise the stack is popped and
execution continues with the next instruction.
2.4 Data structures and constants
A number of data structures have been defined in this man ual. Each comprises a
number of data slots that are referenced by name in the text and the instruction
descriptions.
These data structures are listed in the tables in Appendix A. Each table gives the
name of each slot in the structure and the word offsets from the base address of the
structure. A slot in a data structure is identified using the offset notation descr ibed in
section 2.2.5:
word[base_address @ word_offset]
13/205
®