cmpi
Compare immediate
Subtracts the immediate value from the second operand and sets the flags, leaving the operand unchanged.
Sizes .b .w .l, .w by default
Used in
- Branching and control flowAssembly basics
XNZVC –●●●●
- ● set from the result
- – not changed
Forms
68020 only
These forms require the 68020. Select opt p=68020 before any code or data.
Operands
#imm- An immediate value written after
#: a number, character or label, such as#10,#$FFor#'a'. It must fit the operation’s size: byte-128to255, word-32768to65535, or long-2147483648to4294967295; signed and unsigned spellings are accepted. More <ea>- An operand using one of the addressing modes listed for this form. The list determines whether it can be a register, memory or an immediate value. With
opt p=68020, an allowedd(An,Xn)ord(PC,Xn)mode also permits the corresponding 68020 indexed and memory indirect forms. See 68020 addressing. More
The operand and X are unchanged.
On the 68020, the second operand may also be PC-relative memory, as in cmpi.w #1, flag(pc).
move.l #10, d0
cmpi.w #10, d0
seq d1 ; d1 = $FF (equal)
move.l #5, d2
cmpi.w #10, d2
slt d3 ; d3 = $FF (5 < 10)
sgt d4 ; d4 = $00