4 Using ST20-C1 instructions
Accessing a word addressed array
Let Wa_ptr be a pointer to an array Wa that starts at a word boundary, and in which all
component types are measured in words. Let e be a subscript expression. The
address of component e of Wa is
e; Wa_ptr; wsub;
or if e is a constant expression this can be optimized to:
Wa_ptr; ldnlp e;
Accessing a byte addressed array
Similarly, let Ba_ptr be a pointer to an array (Ba) which may start at any byte location,
and in which each component type is measured in bytes. Let e be a subscript expres-
sion.
The address of component e of Ba is:
e; Ba_ptr; add;
4.6 Comparisons and jumps
This section describes the arithmetical comparison instructions and their use in condi-
tional program behavior. Unconditional jumps are also described. Functions and
procedures are described in section 4.10, and evaluation of boolean expressions is
described in section 4.7.
Comparisons, conditional behavior and jumps are provided by the instructions listed in
Table 4.9.
Mnemonic
Name
eqc n
equal to constant
gt
greater than
gtu
greater than unsigned
order
order
orderu
order unsigned
cj n
conditional jump
jn
jump
jab
jump absolute
Table 4.9 Comparison and jump instructions
4.6.1 Representation of true and false
The ST20 uses 0 as false and 1 as true. These values are generated by predicate
operations (for example comparisons). They can be loaded with single byte load
constant instructions.
43/205
®