# CMPI Instruction

CMPI (CoMPare Immediate) compares an immediate value with an effective address The flags are affected the same way as if the effective address was subtracted from the data register. None of the operands are changed. Often used with the Bcc instruction. An example:
CMP #<data>,D0
BGT X1
The program will branch to X1 if D0 is greater than the immediate value.
ADDRESS METHODS: Dn, (An), (An)+, -(An), x(An), x(An,xr.s), x.w, x.l
DATA LENGTH: Byte, word, longword

FLAGS: | X - U
N - S
Z - S
C - Set if a borrow was needed when subtracting, otherwise it is cleared.
V - S

SYNTAX: CMPI <ea>,Dn
There are four CMP instructions, CMP, CMPA, CMPI and CMPM. The compiler often chooses the right instruction, so you can write CMP all the time if you want.