3 Architecture
The mnemonics and names for the primary instructions are listed in Table 3.5.
mnemonic
name
adc n
add constant
ajw n
adjust work space
fcall n
function call
cj n
conditional jump
eqc n
equals constant
jn
jump
ldc n
load constant
ldl n
load local
ldlp n
load local pointer
ldnl n
load non-local
ldnlp n
load non-local pointer
stl n
store local
stnl n
store non-local
Table 3.5 Primary instructions
3.4.4 Secondary instructions
The ST20 encodes all other instructions, known as secondary instructions, indirectly
using the instruction data value.
mnemonic
name
opr n
operate
Table 3.6 Operate instruction
The function code opr causes the instruction data value to be interpreted as the
operation code of the instruction to be executed. This selects an operation to be
performed on the values held in the evaluation stack, so that a further 16 operations
can be encoded in a single byte instruction. The pfix instruction component can be
used to extend the instruction data value, allowing any number of operations to be
encoded.
Secondary instructions do not have an operand specified b y the encoding, because
the instruction data value has been used to specify the operation.
To ensure that programs are represented as compactly as possible, the operations are
encoded in such a way that the most frequently used secondary instructions are
represented without using prefix instructions.
For example, the instruction add is encoded by:
opr 4
The instruction and is encoded by:
opr F9
27/205
®