Texas Instruments MSP430x4xx User Manual

Page 109

Advertising
background image

Instruction Set

3-75

RISC 16−Bit CPU

Table 3−17.MSP430 Instruction Set

Mnemonic

Description

V

N

Z

C

ADC(.B)

dst

Add C to destination

dst + C

dst

*

*

*

*

ADD(.B)

src,dst

Add source to destination

src + dst

dst

*

*

*

*

ADDC(.B)

src,dst

Add source and C to destination

src + dst + C

dst

*

*

*

*

AND(.B)

src,dst

AND source and destination

src .and. dst

dst

0

*

*

*

BIC(.B)

src,dst

Clear bits in destination

.not.src .and. dst

dst

BIS(.B)

src,dst

Set bits in destination

src .or. dst

dst

BIT(.B)

src,dst

Test bits in destination

src .and. dst

0

*

*

*

BR

dst

Branch to destination

dst

PC

CALL

dst

Call destination

PC+2

stack, dst

PC

CLR(.B)

dst

Clear destination

0

dst

CLRC

Clear C

0

C

0

CLRN

Clear N

0

N

0

CLRZ

Clear Z

0

Z

0

CMP(.B)

src,dst

Compare source and destination

dst − src

*

*

*

*

DADC(.B)

dst

Add C decimally to destination

dst + C

dst (decimally)

*

*

*

*

DADD(.B)

src,dst

Add source and C decimally to dst.

src + dst + C

dst (decimally)

*

*

*

*

DEC(.B)

dst

Decrement destination

dst − 1

dst

*

*

*

*

DECD(.B)

dst

Double-decrement destination

dst − 2

dst

*

*

*

*

DINT

Disable interrupts

0

GIE

EINT

Enable interrupts

1

GIE

INC(.B)

dst

Increment destination

dst +1

dst

*

*

*

*

INCD(.B)

dst

Double-increment destination

dst+2

dst

*

*

*

*

INV(.B)

dst

Invert destination

.not.dst

dst

*

*

*

*

JC/JHS

label

Jump if C set/Jump if higher or same

JEQ/JZ

label

Jump if equal/Jump if Z set

JGE

label

Jump if greater or equal

JL

label

Jump if less

JMP

label

Jump

PC + 2 x offset

PC

JN

label

Jump if N set

JNC/JLO

label

Jump if C not set/Jump if lower

JNE/JNZ

label

Jump if not equal/Jump if Z not set

MOV(.B)

src,dst

Move source to destination

src

dst

NOP

No operation

POP(.B)

dst

Pop item from stack to destination

@SP

dst, SP+2

SP

PUSH(.B)

src

Push source onto stack

SP − 2

SP, src

@SP

RET

Return from subroutine

@SP

PC, SP + 2

SP

RETI

Return from interrupt

*

*

*

*

RLA(.B)

dst

Rotate left arithmetically

*

*

*

*

RLC(.B)

dst

Rotate left through C

*

*

*

*

RRA(.B)

dst

Rotate right arithmetically

0

*

*

*

RRC(.B)

dst

Rotate right through C

*

*

*

*

SBC(.B)

dst

Subtract not(C) from destination

dst + 0FFFFh + C

dst

*

*

*

*

SETC

Set C

1

C

1

SETN

Set N

1

N

1

SETZ

Set Z

1

C

1

SUB(.B)

src,dst

Subtract source from destination

dst + .not.src + 1

dst

*

*

*

*

SUBC(.B)

src,dst

Subtract source and not(C) from dst.

dst + .not.src + C

dst

*

*

*

*

SWPB

dst

Swap bytes

SXT

dst

Extend sign

0

*

*

*

TST(.B)

dst

Test destination

dst + 0FFFFh + 1

0

*

*

1

XOR(.B)

src,dst

Exclusive OR source and destination

src .xor. dst

dst

*

*

*

*

† Emulated Instruction

Advertising