15
14
13
12
11
10
9
8
7
6
5
4
3
0
0
0
0
1
1
0
A/L
n−1/Rn
Op-code
B/W
dst
0
ZC
#
0
0
0
0
0
1
1
A/L
Op-code
B/W
dst
0
0
0
0
0
1
1
A/L
Op-code
B/W
dst
dst.15:0
0
0
0
0
0
0
dst.19:16
0
0
0
0
0
0
0
0
0
0
1
x
x
1
MSP430 and MSP430X Instructions
150
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.5.2.4
Extended Single-Operand (Format II) Instructions
lists the extended MSP430X Format II instructions.
(1)
* = Status bit is affected
– = Status bit is not affected
0 = Status bit is cleared
1 = Status bit is set
Table 4-14. Extended Single-Operand Instructions
Mnemonic
Operands
Operation
Status Bits
(1)
n
V
N
Z
C
CALLA
dst
Call indirect to subroutine (20-bit address)
–
–
–
–
POPM.A
#n,Rdst
Pop n 20-bit registers from stack
1 to 16
–
–
–
–
POPM.W
#n,Rdst
Pop n 16-bit registers from stack
1 to 16
–
–
–
–
PUSHM.A
#n,Rsrc
Push n 20-bit registers to stack
1 to 16
–
–
–
–
PUSHM.W
#n,Rsrc
Push n 16-bit registers to stack
1 to 16
–
–
–
–
PUSHX(.B,.A)
src
Push 8-, 16-, or 20-bit source to stack
–
–
–
–
RRCM(.A)
#n,Rdst
Rotate right Rdst n bits through carry (16-, 20-bit register)
1 to 4
0
*
*
*
RRUM(.A)
#n,Rdst
Rotate right Rdst n bits unsigned (16-, 20-bit register)
1 to 4
0
*
*
*
RRAM(.A)
#n,Rdst
Rotate right Rdst n bits arithmetically (16-, 20-bit register)
1 to 4
0
*
*
*
RLAM(.A)
#n,Rdst
Rotate left Rdst n bits arithmetically (16-, 20-bit register)
1 to 4
*
*
*
*
RRCX(.B,.A)
dst
Rotate right dst through carry (8-, 16-, 20-bit data)
1
0
*
*
*
RRUX(.B,.A)
Rdst
Rotate right dst unsigned (8-, 16-, 20-bit)
1
0
*
*
*
RRAX(.B,.A)
dst
Rotate right dst arithmetically
1
0
*
*
*
SWPBX(.A)
dst
Exchange low byte with high byte
1
–
–
–
–
SXTX(.A)
Rdst
Bit7
→
bit8 ... bit19
1
0
*
*
Z
SXTX(.A)
dst
Bit7
→
bit8 ... MSB
1
0
*
*
Z
shows the addressing mode combinations for Format II instructions.
Figure 4-31. Extended Format II Instruction Format