Objetivos
        
    
    
    
        
Instruções de Movimentação
    
    
        
            
                Com as instruções de movimentação podemos carregar dados nos 
                registradores A, X e Y e em memória. 
                Apenas as flags N e Z são afetadas por 
                estas instruções, exceto instruções de escrita em memória, e esse tipo de instrução utiliza quase todos os modos de endereçamento.
            
            Notação utilizada
            
                
                    
                         | 
                         | 
                    
                
                
                    
                        | M | 
                        Endereço de memória | 
                    
                    
                        | <- | 
                        Atribuição | 
                    
                    
                        | ; | 
                        Comentário | 
                    
                    
                        | Flags | 
                         | 
                    
                    
                        | a | 
                        Alterada de acordo com resultado | 
                    
                    
                        | - | 
                        Não sofre alteração | 
                    
                    
                        | 0 | 
                        Sempre zero | 
                    
                    
                        | 1 | 
                        Sempre um | 
                    
                
            
            
                Mais informações sobre os registradores e flags podem ser vistas 
                em Registradores.
            
         
     
    
        LDA - Load Accumulator / Carregar Acumulador
        
     
    
        
            
                A instrução LDA carrega um byte, imediato ou em memória, no registrador A. As flags N e Z são atualizadas 
                de acordo com o valor.
            
            Operação
            A <- valor
            Endereçamento:
            
                
                
                
                    
                        | Imediato | 
                        LDA #$NN | 
                    
                    
                        | Página Zero | 
                        LDA $NN | 
                    
                    
                        | Página Zero,X | 
                        LDA $NN,X | 
                    
                    
                        | Absoluto | 
                        LDA $NNNN 
                         | 
                    
                    
                        | Absoluto,X | 
                        LDA $NNNN,X | 
                    
                    
                        | Absoluto,Y | 
                        LDA $NNNN,Y | 
                    
                    
                        | Indireto,X | 
                        LDA ($NN,X) | 
                    
                    
                        | Indireto,Y | 
                        LDA ($NN),Y | 
                    
                
            
            F(Flags)
            N: a
V: -
B: - 
D: -
Z: a
C:-
            Exemplo:
            
LDA #$01	;Carrega A com valor imediato
;...
LDA $00	;Carrega A com valor contido em $0000.
         
     
    
        LDX - Load X Register / Carregar Registrador X
        
     
    
        
            
                A instrução LDX carrega um byte, imediato ou em memória, no registrador X. As flags N e C são atualizadas de acordo 
                com o valor.
            
            Operação
            X <- M
            Endereçamento:
            
                
                
                
                    
                        | Imediato | 
                        LDX #$NN | 
                    
                    
                        | Página Zero | 
                        LDX $NN | 
                    
                    
                        | Absoluto | 
                        LDX $NNNN 
                         | 
                    
                    
                        | Absoluto,Y | 
                        LDX $NNNN,Y | 
                    
                    
                        | Pagina Zero,Y | 
                        LDX $NN,Y | 
                    
                
            
            F(Flags)
            N: a
V: -
B: - 
D: -
Z: a
C:-
            Exemplo:
            
LDX #$01	;Carrega X com valor imediato
;...
LDX $00	;Carrega X com valor contido em $0000.
         
     
    
        LDY - Load Y Register / Carregar Acumulador Y
        
     
    
        
            
                A instrução LDY carrega um byte, imediato ou em memória,  no registrador Y. As flags N e C são atualizadas de acordo 
                com o valor.
            
            Operação
            Y <- M
            Endereçamento:
            
                
                
                
                    
                        | Imediato | 
                        LDY #$NN | 
                    
                    
                        | Página Zero | 
                        LDY $NN | 
                    
                    
                        | Absoluto | 
                        LDY $NNNN 
                         | 
                    
                    
                        | Absoluto,X | 
                        LDY $NNNN,X | 
                    
                    
                        | Página Zero,X | 
                        LDY $NN,X | 
                    
                
            
            F(Flags)
            N: a
V: -
B: - 
D: -
Z: a
C:-
            Exemplo:
            
LDY #$01	;Carrega Y com valor imediato
;...
LDY $00	;Carrega Y com valor contido em $0000.
         
     
    
        STA - Store Accumulator / Armazenar Acumulador
        
     
    
        
            
                A instrução STA armazena ou transfere o valor contido no registrador A em um local de memória. Nenhuma flag é alterada. 
            
            Operação
            M <- A
            Endereçamento:
            
                
                
                
                    
                        | Página Zero | 
                        STA $NN | 
                    
                    
                        | Página Zero,X | 
                        STA $NN,X | 
                    
                    
                        | Absoluto | 
                        STA $NNNN 
                         | 
                    
                    
                        | Absoluto,X | 
                        STA $NNNN,X | 
                    
                    
                        | Absoluto,Y | 
                        STA $NNNN,Y | 
                    
                    
                        | Indireto,X | 
                        STA ($NN,X) | 
                    
                    
                        | Indireto,Y | 
                        STA ($NN),Y | 
                    
                
            
            F(Flags)
            N: a
V: -
B: - 
D: -
Z: a
C:-
            Exemplo:
            
LDA #$FF
STA $00	;Armazena A em $0000.
         
     
    
        STX - Store X Register / Armazenar Registrador X
        
     
    
        
            
                A instrução STX armazena ou transfere o valor contido no registrador em um local de memória.  Nenhuma flag é alterada. 
            
            Operação
            M <- X
            Endereçamento:
            
                
                
                
                    
                        | Página Zero | 
                        STX $NN | 
                    
                    
                        | Página Zero,Y | 
                        STX $NN,Y | 
                    
                    
                        | Absoluto | 
                        STX $NNNN 
                         | 
                    
                
            
            F(Flags)
            N: -
V: -
B: - 
D: -
Z: -
C:-
            Exemplo:
            
LDX  #$FF
STX $00	;Armazena X em $0000.
         
     
    
        STY - Store Y Register / Armazenar Registrador Y
        
     
    
        
            
                A instrução STX armazena ou transfere um valor contido no registrador em um local de memória. Nenhuma flag é alterada. 
            
            Operação
            M <- Y
            Endereçamento:
            
                
                
                
                    
                        | Página Zero | 
                        STY $NN | 
                    
                    
                        | Página Zero,Y | 
                        STY $NN,Y | 
                    
                    
                        | Absoluto | 
                        STY $NNNN 
                         | 
                    
                
            
            F(Flags)
            N: -
V: -
B: - 
D: -
Z: -
C:-
            Exemplo:
            
LDY #$FF
STY $00	;Armazena Y em $0000.
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 12/03/2025 - revisão 3 - correção em título LDX/LDY, flags afetada na intro, STX/STA/STY; Melhorias pontuais
 
                - 11/09/2024 - revisão 2 - correção em modos de endereçamento LDX, LDY e adição de flags afetadas
 
                - 30/08/2024 - revisão 1 - Correção em links de objetivos
 
                - 28/04/2023 - versão inicial
 
            
         
     
    
        
    
    
            
            
                
                    
                    Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
                em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.