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.