Objetivos
Clique sobre os objetivos listados abaixo para navegar até o conteúdo desejado.
Os modos de endereçamento representam a forma como os dados são recuperados pelo
processador para processamento de uma instrução.
O 68K possui algumas formas de endereçamento que serão vistos nesta parte do tutorial.
A compreensão total é importante para continuar os estudos do processador.
Diferentes assemblers, tutoriais, e manuais podem utilizar suas próprias notações diferentes
das apresentadas ao longo desta parte do tutorial.
Notação utilizada:
|
|
MNEMÔNICO |
Nome da instrução abreviado |
#NNNNNN; |
Endereço hexadecimal imediato |
.B |
Byte |
.W |
Word |
.L |
Longword |
-> |
Atribuição |
Dx,Dy |
D0-D7 |
Ax,Ay |
A0-A7 |
n |
Valor 0-7 |
nn |
Valor 16-bits sinalizado |
$ |
Endereço de memória |
| |
ou |
No ME implícito, o mais básico dos endereçamentos, não há operandos para buscar. A própria instrução contém as
informações necessárias para execução.
Sintaxe:
MNEMÔNICO
Ex:
;não faz nada
NOP
No ME Registrador, dois registradores são os operandos onde os valores necessários para execução da
instrução estão armazenados.
Sintaxe:
MNEMÔNICO.B Dx,Dy ; Dx -> Dy
MNEMÔNICO.W Dx,Dy ; Dx -> Dy
MNEMÔNICO.L Dx,Dy ; Dx -> Dy
Ex:
MOVE.B D0,D1
No indireto, um valor byte , word ou Longword contido pelo endereço contido em A0-7
é acessado para realizar um instrução.
Sintaxe:
MNEMÔNICO.B (Ax),Dx ; (Ax) -> Dx
MNEMÔNICO.W (Ax),Dx ; (Ax) -> Dx
MNEMÔNICO.L (Ax),Dx ; (Ax) -> Dx
Ex:
MOVE.L (A7),D0
Indirect With After Incremento / Indireto com Pós-incremento
No indireto com pós-incremento, um valor byte , word ou Longword contido pelo endereço
em A0-7 é são utilizado pela instrução como o endereço da origem dos dados para realizar um instrução.
Após o uso do valor, o registrador de endereço é incrementado de acordo com o tamanho do dado.
Sintaxe:
MNEMÔNICO.B (Ax)+,Dx|Ay ; (Ax)+ -> Dx|Ay
MNEMÔNICO.W (Ax)+,Dx|Ay ; (Ax)+ -> Dx|Ay
MNEMÔNICO.L (Ax)+,Dx|Ay ; (Ax)+ -> Dx|Ay
Ex:
MOVE.L (A7)+,D0
Indirect With Predecrement / Indireto com Pré-decremento
No modo indireto com pré-decremento um endereço contido em A0-7 é decrementando, de acordo com o tamanho do dado,
e assim um valor byte , word ou Longword contido nesse endereço é recuperado para sua
utilização.
Sintaxe:
MNEMÔNICO.B -(Ax),Dx|Ay ; -(Ax) -> Dx|Ay
MNEMÔNICO.W -(Ax),Dx|Ay ; -(Ax) -> Dx|Ay
MNEMÔNICO.L -(Ax),Dx|Ay ; -(Ax) -> Dx|Ay
Ex:
MOVE.L -(A7),D0
Indirect Index / Indireto Indexado
No indireto Indexado, um valor byte, word ou Longword contido no endereço A0-7
é indexado a um valor n(0-7), ou indexado com um registrador D0-7 para a instrução calcular
o endereço de acesso.
Sintaxe:
1. MNEMÔNICO n(Ax),Dx
2. MNEMÔNICO n(Ax,Dx.L|.W),Dx
3. MNEMÔNICO n(Ax,Ay.L|.W),Dx
Em (2) e (3), quando usado com .W, o valor 16-bits(Entre -32768 e +32767) do registrador
é tratado como sinalizado.
Ex:
MOVE.L 4(A0,A1.L),D7
MOVE.L -16(A0,A1.L),D7
Absolute Imediate/ Absoluto Imediato
No endereçamento absoluto, um valor imediato de 16-bits ou 32-Bits é utilizado como
endereço de origem ou destino de um dado em memória.
Sintaxe:
MNEMÔNICO $NNNN,Dx
MNEMÔNICO $NNNNNN,Dx
Ex:
MOVE.L $F00000,D0
Program Count Indexed / Contador de Programa Indexado
Nesse modo de endereçamento, o registrador PC é utilizado ao invés dos
registradores A0-7. Um valor nn sinalizado de 16-Bits(-32768 a +32767) é utilizado como índice.
Sintaxe:
1. MNEMÔNICO nn(PC),Dx
2. MNEMÔNICO nn(PC,Dx.W|.L)
3. MNEMÔNICO nn(PC,Ax.W|.L)
Em (2) e (3), quando usado com .W, o valor 16-bits(-32768 a +32767)
do registrador é tratado como sinalizado.
Ex:
MOVE.L $FFFF(PC),D0
No ME imediato, um valor byte , word ou Longword imediato
faz parte da instrução. Tanto os registradores D0-7 quanto A0-7 utilizam esse modo.
Sintaxe:
MNEMÔNICO.B #$valor,Dx ; $valor -> Dx
MNEMÔNICO.W #$valor,Dx ; $valor -> Dx
MNEMÔNICO.L #$valor,Dx ; $valor -> Dx
MNEMÔNICO.B #$valor,Ax ; $valor -> Ax
MNEMÔNICO.W #$valor,Ax ; $valor -> Ax
MNEMÔNICO.L #$valor,Ax ; $valor -> Ax
Ex:
MOVE.L #$FFFFFF,D0
MOVEA.L #$C00000,A0
Histórico de atualizações
- 05/09/2024 - Revisão 1 - Correção de erros gramaticais, sintaxe de modo de endereçamento
- 01/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.