Maybe from my debugging example you can understand stack behaviour...
mov.w #WDTPW + WDTHOLD, &WDTCTL
mov.w #00280h, SP
call #DbgStr
db 'Device ', 0
mov.w &00FF0h, R15
call #DbgWordHex
call #DbgCR
call #DbgRegs
call #DbgCR
call #DbgSR
call #DbgCR
push.w #01234h
push.w #05678h
push.w #0ABCDh
call #DbgStack
call #DbgCR
pop.w R15
pop.w R15
pop.w R15
...
Device 5529
R4:0002 R5:00CC R6:0021 R7:0000 R8:FFFF R9:FAF4
R10:EF76 R11:7FC9 R12:FFFF R13:FFFE R14:0007 R15:5529
SR:0000 0000000000000000
SP:027A 027A: CD AB 78 56 34 12 FF 3F ; ═źxV4. ?