English
Language : 

M166 Datasheet, PDF (59/127 Pages) Siemens Semiconductor Group – C16x Family of Siemens 16-Bit CMOS Single-Chip Microcontrollers
30Mar98@15:00h
C166 Family Instruction Set
Instruction Description
CMPI2
Integer Compare and Increment by 2
CMPI2
Syntax
Operation
Data Types
Description
CMPI2 op1, op2
(op1) ⇔ (op2)
(op1) ← (op1) + 2
WORD
This instruction is used to enhance the performance and flexibility of
loops. The source operand specified by op1 is compared to the source
operand specified by op2 by performing a 2’s complement binary subtrac-
tion of op2 from op1. Operand op1 may specify ONLY GPR registers.
Once the subtraction has completed, the operand op1 is incremented by
two. Using the set flags, a branch instruction can then be used in conjunc-
tion with this instruction to form common high level language FOR loops of
any range.
Condition Flags
E
Z
V
C
N
*
*
*
S
*
Addressing Modes
E Set if the value of op2 represents the lowest possible negative number.
Cleared otherwise. Used to signal the end of a table.
Z Set if result equals zero. Cleared otherwise.
V Set if an arithmetic underflow occurred, ie. the result cannot be repre-
sented in the specified data type. Cleared otherwise.
C Set if a borrow is generated. Cleared otherwise.
N Set if the most significant bit of the result is set. Cleared otherwise.
Mnemonic
CMPI2
CMPI2
CMPI2
Rwn, #data4
Rwn, #data16
Rwn, mem
Format
90 #n
96 Fn ## ##
92 Fn MM MM
Bytes
2
4
4
Semiconductor Group
59
Version 1.2, 12.97