Instruction Set Description
232
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.6.3.19 PUSHM
PUSHM.A
Save n CPU registers (20-bit data) on the stack
PUSHM.[W]
Save n CPU registers (16-bit words) on the stack
Syntax
PUSHM.A #n,Rdst
1
≤
n
≤
16
PUSHM.W #n,Rdst
or
PUSHM #n,Rdst
1
≤
n
≤
16
Operation
PUSHM.A: Save the 20-bit CPU register values on the stack. The SP is decremented
by 4 for each register stored on the stack. The MSBs are stored first (higher address).
PUSHM.W: Save the 16-bit CPU register values on the stack. The SP is decremented
by 2 for each register stored on the stack.
Description
PUSHM.A: The n CPU registers, starting with Rdst backwards, are stored on the stack.
The SP is decremented by (n × 4) after the operation. The data (Rn.19:0) of the pushed
CPU registers is not affected.
PUSHM.W: The n registers, starting with Rdst backwards, are stored on the stack. The
SP is decremented by (n × 2) after the operation. The data (Rn.19:0) of the pushed
CPU registers is not affected.
Note : This instruction does not use the extension word.
Status Bits
Status bits are not affected.
Mode Bits
OSCOFF, CPUOFF, and GIE are not affected.
Example
Save the 5 20-bit registers R9, R10, R11, R12, R13 on the stack
PUSHM.A
#5,R13
; Save R13, R12, R11, R10, R9
Example
Save the 5 16-bit registers R9, R10, R11, R12, R13 on the stack
PUSHM.W
#5,R13
; Save R13, R12, R11, R10, R9