30Mar98@15:00h
Semiconductor Group
27
Version 1.2, 12.97
C166 Family Instruction Set
Instruction Description
Missing or existing parentheses signify whether the used operand specifies an immediate constant
value, an address or a pointer to an address as follows:
opX
Specifies the immediate constant value of opX
(opX)
Specifies the contents of opX
(opX
n
)
Specifies the contents of bit n of opX
((opX))
Specifies the contents of the contents of opX
(ie. opX is used as pointer to the actual operand)
The following operands will also be used in the operational description:
CP
Context Pointer register
CSP
Code Segment Pointer register
IP
Instruction Pointer
MD
Multiply/Divide register
(32 bits wide, consists of MDH and MDL)
MDL, MDH
Multiply/Divide Low and High registers (each 16 bit wide )
PSW
Program Status Word register
SP
System Stack Pointer register
SYSCON
System Configuration register
C
Carry condition flag in the PSW register
V
Overflow condition flag in the PSW register
SGTDIS
Segmentation Disable bit in the SYSCON register
count
Temporary variable for an intermediate storage of
the number of shift or rotate cycles which remain
to complete the shift or rotate operation
tmp
Temporary variable for an intermediate result
0, 1, 2,...
Constant values due to the data format
of the specified operation
•Data Types• This part specifies the particular data type according to the instruction. Basically, the
following data types are possible:
BIT, BYTE, WORD, DOUBLEWORD
Except for those instructions which extend byte data to word data, all instructions have only one
particular data type. Note that the data types mentioned in this subsection do not consider accesses
to indirect address pointers or to the system stack which are always performed with word data.
Moreover, no data type is specified for System Control Instructions and for those of the branch
instructions which do not access any explicitly addressed data.