SLAU144K December 2004 – August 2022 MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253 , MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2132-EP , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2252-Q1 , MSP430F2254 , MSP430F2272 , MSP430F2272-Q1 , MSP430F2274 , MSP430F2274-EP , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2201-Q1 , MSP430G2202 , MSP430G2203 , MSP430G2210 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2230 , MSP430G2231 , MSP430G2231-Q1 , MSP430G2232 , MSP430G2233 , MSP430G2252 , MSP430G2253 , MSP430G2302 , MSP430G2303 , MSP430G2312 , MSP430G2313 , MSP430G2332 , MSP430G2333 , MSP430G2352 , MSP430G2353 , MSP430G2402 , MSP430G2403 , MSP430G2412 , MSP430G2413 , MSP430G2432 , MSP430G2433 , MSP430G2444 , MSP430G2452 , MSP430G2453 , MSP430G2513 , MSP430G2533 , MSP430G2544 , MSP430G2553 , MSP430G2744 , MSP430G2755 , MSP430G2855 , MSP430G2955 , MSP430TCH5E
The instruction map is shown in Figure 3-12 and the complete instruction set is summarized in Table 3-17.
Mnemonic | Description | V | N | Z | C | ||
---|---|---|---|---|---|---|---|
ADC(.B)
(1) |
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
(1) |
dst | Branch to destination | dst → PC | - | - | - | - |
CALL |
dst | Call destination | PC+2 → stack, dst → PC | - | - | - | - |
CLR(.B)
(1) |
dst | Clear destination | 0 → dst | - | - | - | - |
CLRC
(1) | Clear C | 0 → C | - | - | - | 0 | |
CLRN
(1) | Clear N | 0 → N | - | 0 | - | - | |
CLRZ
(1) | Clear Z | 0 → Z | - | - | 0 | - | |
CMP(.B) |
src,dst | Compare source and destination | dst - src | * | * | * | * |
DADC(.B)
(1) |
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)
(1) |
dst | Decrement destination | dst - 1 → dst | * | * | * | * |
DECD(.B)
(1) |
dst | Double-decrement destination | dst - 2 → dst | * | * | * | * |
DINT
(1) | Disable interrupts | 0 → GIE | - | - | - | - | |
EINT
(1) | Enable interrupts | 1 → GIE | - | - | - | - | |
INC(.B)
(1) |
dst | Increment destination | dst +1 → dst | * | * | * | * |
INCD(.B)
(1) |
dst | Double-increment destination | dst+2 → dst | * | * | * | * |
INV(.B)
(1) |
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 × 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
(1) | No operation | - | - | - | - | ||
POP(.B)
(1) |
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
(1) | Return from subroutine | @SP → PC, SP + 2 → SP | - | - | - | - | |
RETI | Return from interrupt | * | * | * | * | ||
RLA(.B)
(1) |
dst | Rotate left arithmetically | * | * | * | * | |
RLC(.B)
(1) |
dst | Rotate left through C | * | * | * | * | |
RRA(.B) |
dst | Rotate right arithmetically | 0 | * | * | * | |
RRC(.B) |
dst | Rotate right through C | * | * | * | * | |
SBC(.B)
(1) |
dst | Subtract not(C) from destination | dst + 0FFFFh + C → dst | * | * | * | * |
SETC
(1) | Set C | 1 → C | - | - | - | 1 | |
SETN
(1) | Set N | 1 → N | - | 1 | - | - | |
SETZ
(1) | Set Z | 1 → Z | - | - | 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)
(1) |
dst | Test destination | dst + 0FFFFh + 1 | 0 | * | * | 1 |
XOR(.B) |
src,dst | Exclusive OR source and destination | src .xor. dst → dst | * | * | * | * |