CMPA Instruction


CMPA (CoMPare Address) compares an address register 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 A0,A1
BGT X1

The program will branch to X1 if A1 is greater than A0, otherwise the program will continue.
ADDRESS METHODS: Dn, An, (An), (An)+, -(An), x(An), x(An,xr.s), x.w, x.l, x(PC), x(PC,xr.s), #x

DATA LENGTH: 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: CMPA <ea>,An

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.