17
EA869 Modos de Endereçamento ATMega328P Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1

EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

EA869 Modos de Endereçamento – ATMega328P

Faculdade de Engenharia Elétrica e de Computação (FEEC)

Universidade Estadual de Campinas (UNICAMP)

Prof. Levy Boccato

1

Page 2: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

Introdução Toda informação a ser manipulada por um processador está armazenada em

algum local do sistema de computação.

Alguns exemplos de localidades: a própria instrução; registradores; a memória de dados.

As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes formas de acessar informações no sistema definem os chamados modos de endereçamento.

Perspectiva do programador:

Ao escrever uma instrução Assembly, precisamos conhecer os modos de endereçamento disponíveis para sabermos como referenciar adequadamente os dados que devem ser manipulados.

Perspectiva do processador:

Ao ler uma instrução da memória de programa, o processador extrai da cadeia binária não apenas qual a operação que deve ser realizada (e.g., adição), mas também onde estão localizados os operandos.

2

Page 3: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

Introdução Definições básicas:

3

Modo direto Modo indireto O endereço efetivo está na própria instrução. Isto é, o valor que participará da operação está armazenado no próprio operando especificado na instrução.

O endereço efetivo está armazenado no endereço especificado na instrução. Em outras palavras, o conteúdo do endereço indicado na instrução corresponde ao endereço efetivo do dado a ser utilizado.

CO END-b

MEMÓRIA

operando EE

CO END-b

MEMÓRIA

EE

operando

Endereço Efetivo (EE) É o endereço real, ou final, de um dado a ser manipulado

Page 4: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Registrador direto:

4

Page 5: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Imediato:

Exemplo: ANDI r17, 0xf8

Formato da instrução:

5

0111 1111 0001 1000

7 f 1 8

Page 6: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Registrador direto:

6

Page 7: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P I/O direto:

7

Page 8: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Dado direto:

8

Page 9: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Dado indireto com deslocamento:

9

Page 10: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Dado indireto:

10

Page 11: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Dado indireto com pré-decremento:

11

Page 12: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Dado indireto com pós-incremento:

12

Page 13: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Memória de programa – Instruções LPM, ELPM e SPM:

13

Page 14: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Memória de programa com pós-incremento – LPM Z+ e ELPM Z+ :

14

Page 15: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Memória de programa direto – JMP e CALL:

15

Page 16: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Memória de programa indireto – IJMP e ICALL:

16

Page 17: EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de dados. As diferentes maneiras de referenciar um dado, ou, analogamente, as diferentes

ATMega328P Memória de programa relativo – RJMP e RCALL:

17