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 + 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 + 1
0
*
*
1
XOR(.B)
src,dst
Exclusive OR source and destination
src .xor. dst
→
dst
*
*
*
*
†
Emulated Instruction
Содержание MSP430x4xx Family
Страница 1: ...MSP430x4xx Family 2007 Mixed Signal Products User s Guide SLAU056G ...
Страница 2: ......
Страница 6: ...vi ...
Страница 114: ...3 76 RISC 16 Bit CPU ...
Страница 304: ...5 20 FLL Clock Module ...
Страница 340: ...7 8 Supply Voltage Supervisor ...
Страница 348: ...8 8 16 Bit Hardware Multiplier ...
Страница 372: ...9 24 32 Bit Hardware Multiplier ...
Страница 400: ...10 28 DMA Controller ...
Страница 428: ...13 10 Basic Timer1 ...
Страница 466: ...15 24 Timer_A ...
Страница 522: ...17 30 USART Peripheral Interface UART Mode ...
Страница 544: ...18 22 USART Peripheral Interface SPI Mode ...
Страница 672: ...23 12 Comparator_A ...
Страница 692: ...24 20 LCD Controller ...
Страница 746: ...26 28 ADC12 ...