Instruction Set Description
221
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.6.3.9
CMPX
CMPX.A
Compare source address-word and destination address-word
CMPX.[W]
Compare source word and destination word
CMPX.B
Compare source byte and destination byte
Syntax
CMPX.A src,dst
CMPX src,dst
or
CMPX.W src,dst
CMPX.B src,dst
Operation
(.not. src) + 1 + dst or dst – src
Description
The source operand is subtracted from the destination operand by adding the 1s
complement of the 1 to the destination. The result affects only the status bits.
Both operands may be located in the full address space.
Status Bits
N:
Set if result is negative (src > dst), reset if positive (src
≤
dst)
Z:
Set if result is zero (src = dst), reset otherwise (src
≠
dst)
C:
Set if there is a carry from the MSB, reset otherwise
V:
Set if the subtraction of a negative source operand from a positive destination
operand delivers a negative result, or if the subtraction of a positive source operand
from a negative destination operand delivers a positive result, reset otherwise (no
overflow)
Mode Bits
OSCOFF, CPUOFF, and GIE are not affected.
Example
Compare EDE with a 20-bit constant 18000h. Jump to label TONI if EDE equals the
constant.
CMPX.A
#018000h,EDE
; Compare EDE with 18000h
JEQ
TONI
; EDE contains 18000h
...
; Not equal
Example
A table word pointed to by R5 (20-bit address) is compared with R7. Jump to label TONI
if R7 contains a lower, signed, 16-bit number.
CMPX.W
@R5,R7
; Compare 2 signed numbers
JL
TONI
; R7 < @R5
...
; R7 >= @R5
Example
A table byte pointed to by R5 (20-bit address) is compared to the input in I/O Port1.
Jump to label TONI if the values are equal. The next table byte is addressed.
CMPX.B
@R5+,&P1IN
; Compare P1 bits with table. R5 + 1
JEQ
TONI
; Equal contents
...
; Not equal
Note: Use CMPA for the following cases for better density and execution.
CMPA
Rsrc,Rdst
CMPA
#imm20,Rdst