English
Language : 

C166SV2 Datasheet, PDF (241/438 Pages) Infineon Technologies AG – 16-Bit Microcontroller
User Manual
C166S V2
Detailed Instruction Description
CMPI2
Group
Integer Compare and Increment by 2
Compare and Loop Control Instructions
Syntax
CMPI2 op1, op2
Source Operand(s)
op1, op2 → WORD
CMPI2
Destination Operand(s) op1 → WORD
Operation
(op1) ⇔ (op2)
(op1) ← (op1) + 2
Description
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 2s complement binary subtraction 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
conjunction with this instruction to form common high level language FOR loops of any
range.
CPU Flags
E
Z
V
C
N
*
*
*
S
*
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, i.e. the result cannot be
represented in the word 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.
Encoding
Mnemonic
CMPI2
CMPI2
CMPI2
Rwn , #data16
Rwn , #data4
Rwn , mem
Format
96 Fn ## ##
90 #n
92 Fn MM MM
Bytes
4
2
4
User Manual
8-241
V 1.7, 2001-01