Como mencionado, a instruções MOVE é utilizada para empilhar e desempilhar dados da pilha via SP/A7. 
            
            Operação
            origem -> (SP|A7)
            Endereçamento Origem
            (Ax), (Ax)+, n(Ax), n(Ax,Dx[.W|.L]|Ax[.W|.L]), absoluto.W, absoluto.L, n(PC), n(PC,Dx[.W|.L]|Ax[.W|.L]) e #imediato
            Endereçamento Destino
            (SP)+, -(SP)
            Tamanho do dado
            Byte, Word e Longword
            CCR
            X: -
N: -
Z: - 
V: -
C: -
            Sintaxe
            MOVE.B Dx,-(SP) ; empilhar
MOVE.B Dx,(SP)+ ; desempilhar
MOVE.L #$imediato,-(SP)
            Exemplo:
            
; D0 = 123456FF SP= FFFFFFFF
MOVE.L D0, -(SP);
; D0 = 123456FF SP = FFFFFFFB
            
                De forma semelhante a MOVE, podemos utilizar a instrução MOVEM para armazenar múltiplos regitradores na pilha. 
            
            Operação
            Di-Df -> (SP|A7)
Ai-Af -> (SP|A7)
Di-Df/Ai-Af -> (SP|A7)
Dx/Dy/Ax/Ay -> (SP|A7)
            Endereçamento Origem
            Dx, Ax, (Ax), n(Ax), n(Ax,Dx[.W|.L]|Ax[.W|.L]), absoluto.W, absoluto.L, n(PC), n(PC,Dx[.W|.L]|Ax[.W|.L])
            Endereçamento Destino
            (SP|A7)+, -(SP|A7)
            Tamanho do dado
            Byte, Word e Longword
            CCR
            X: -
N: -
Z: - 
V: -
C: -
            Sintaxe
            MOVEM.L Di-Df,-(SP)
MOVEM.L (SP)+,Di-Df; 
            Exemplo:
            
MOVEM.L D0-D1,-(SP)
MOVE (SP)+,D0-D1