Instruction Set

CMP[.W]

Compare source and destination

 

CMP.B

Compare source and destination

 

Syntax

CMP

 

src,dst or

CMP.W

src,dst

 

CMP.B

 

src,dst

 

 

Operation

dst + .NOT.src + 1

 

 

 

or

 

 

 

 

 

(dst − src)

 

 

 

Description

The source operand is subtracted from the destination operand. This is

 

accomplished by adding the 1s complement of the source operand plus 1. The

 

two operands are not affected and the result is not stored; only the status bits

 

are affected.

 

 

 

Status Bits

N: Set if result is negative, reset if positive (src >= dst)

 

Z: Set if result is zero, reset otherwise (src = dst)

 

C: Set if there is a carry from the MSB of the result, reset otherwise

 

V: Set if an arithmetic overflow occurs, otherwise reset

Mode Bits

OSCOFF, CPUOFF, and GIE are not affected.

Example

R5 and R6 are compared. If they are equal, the program continues at the label

 

EQUAL.

 

 

 

 

CMP

 

R5,R6

; R5 = R6?

 

 

JEQ

 

EQUAL

; YES, JUMP

 

Example

Two RAM blocks are compared. If they are not equal, the program branches

 

to the label ERROR.

 

 

 

 

MOV

#NUM,R5

 

; number of words to be compared

 

 

MOV

#BLOCK1,R6

; BLOCK1 start address in R6

 

 

MOV

#BLOCK2,R7

; BLOCK2 start address in R7

 

L$1

CMP

@R6+,0(R7)

; Are Words equal? R6 increments

 

 

JNZ

ERROR

 

; No, branch to ERROR

 

 

INCD R7

 

; Increment R7 pointer

 

 

DEC

R5

 

; Are all words compared?

 

 

JNZ

L$1

 

; No, another compare

Example

The RAM bytes addressed by EDE and TONI are compared. If they are equal,

 

the program continues at the label EQUAL.

 

 

CMP.B EDE,TONI

 

; MEM(EDE) = MEM(TONI)?

 

 

JEQ

EQUAL

 

; YES, JUMP

3-34

RISC 16−Bit CPU

Page 70
Image 70
Texas Instruments MSP430x1xx manual Cmp.W, Cmp.B

MSP430x1xx specifications

The Texas Instruments MSP430x1xx series is a family of ultra-low-power microcontrollers that are highly regarded in the embedded systems community for their versatility and performance. Designed for applications ranging from portable instrumentation to low-power industrial devices, the MSP430x1xx combines flexibility and efficiency with advanced features tailored for energy-sensitive applications.

One of the standout characteristics of the MSP430x1xx is its ultra-low-power operation. This series offers several low-power modes that can significantly extend battery life in portable devices. The microcontroller can be in active mode, low-power mode, or even in a deep sleep state, allowing developers to optimize power consumption based on the application's requirements. In fact, some configurations can operate at just a few microamps, making it ideal for battery-operated devices.

Another key feature is the 16-bit RISC architecture that provides powerful processing capabilities while maintaining a low power profile. The MSP430x1xx series supports a maximum clock speed of 16 MHz, allowing for efficient task execution while consuming minimal energy. This architecture ensures that programs run smoothly while the microcontroller remains energy efficient.

The MSP430x1xx is equipped with various integrated peripherals, including analog-to-digital converters (ADCs), timers, and communication interfaces like UART, SPI, and I2C. The inclusion of a powerful ADC enables the microcontroller to handle sensor readings with high accuracy, making it suitable for applications like environmental monitoring and medical devices. The integrated timers provide essential functionality for real-time applications, allowing for event-driven programming and precise timing control.

Memory options in the MSP430x1xx series are also robust, with configurations offering flash memory sizes from 1 KB to 64 KB. This flexibility allows developers to choose the optimal memory size for their specific applications, accommodating a wide range of requirements.

Additionally, the MSP430x1xx microcontrollers are designed with a wide operating voltage range, typically from 1.8V to 3.6V, making them compatible with various power sources and further enhancing their usability in diverse applications.

In summary, the Texas Instruments MSP430x1xx series of microcontrollers is an excellent choice for developers seeking low-power, high-performance solutions for embedded applications. With an efficient architecture, a rich set of peripherals, and flexible memory options, these microcontrollers are positioned to meet the growing demands of modern electronic designs, particularly in battery-powered and energy-sensitive applications.