CoMPare Immediate
NAME
CMPI -- Compare immediate
SYNOPSIS
CMP #<data>,<ea>
Size = (Byte, Word, Long)
FUNCTION
Subtracts the source operand from the destination operand and sets
the condition codes according to the result. The destination is
NOT changed. The size of the immediate data matches the operation
size.
FORMAT
<ea>
----------------------------------------=========================
|15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|-------|-----------|-----------|
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | SIZE | MODE | REGISTER |
|-------------------------------|-------------------------------|
| 16 BITS DATA | 8 BITS DATA |
|---------------------------------------------------------------|
| 32 BITS DATA |
-----------------------------------------------------------------
SIZE
00->one Byte operation
01->one Word operation
10->one Long operation
REGISTER
<ea> specifies destination operand, addressing modes allowed are:
--------------------------------- -------------------------------
|Addressing Mode|Mode| Register | |Addressing Mode|Mode|Register|
|-------------------------------| |-----------------------------|
| Dn |000 |N° reg. Dn| | Abs.W |111 | 000 |
|-------------------------------| |-----------------------------|
| An | - | - | | Abs.L |111 | 001 |
|-------------------------------| |-----------------------------|
| (An) |010 |N° reg. An| | (d16,PC) |111 | 010 |
|-------------------------------| |-----------------------------|
| (An)+ |011 |N° reg. An| | (d8,PC,Xi) |111 | 011 |
|-------------------------------| |-----------------------------|
| -(An) |100 |N° reg. An| | (bd,PC,Xi) |111 | 011 |
|-------------------------------| |-----------------------------|
| (d16,An) |101 |N° reg. An| |([bd,PC,Xi],od)|111 | 011 |
|-------------------------------| |-----------------------------|
| (d8,An,Xi) |110 |N° reg. An| |([bd,PC],Xi,od)|111 | 011 |
|-------------------------------| |-----------------------------|
| (bd,An,Xi) |110 |N° reg. An| | #data | - | - |
|-------------------------------| -------------------------------
|([bd,An,Xi]od) |110 |N° reg. An|
|-------------------------------|
|([bd,An],Xi,od)|110 |N° reg. An|
---------------------------------
RESULT
X - Not affected
N - Set if the result is negative. Cleared otherwise.
Z - Set if the result is zero. Cleared otherwise.
V - Set if an overflow occours. Cleared otherwise.
C - Set if a borrow occours. Cleared otherwise.
SEE ALSO
CMP CMPA CMPM CMP2
TST CHK CHK2
HTML Conversion by AG2HTML.pl V2.941126c, perl $RCSfile: cmpi.HTML,v $$Revision: 1.1 $$Date: 1999/09/14 21:14:08 $
Patch level: 36
& witbrock@cs.cmu.edu