EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de...
Transcript of EA869 Modos de Endereçamento ATMega328Plboccato/topico_6_enderecamento... · 2019-04-09 · de...
![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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022050109/5f46dc9180788e55ec225046/html5/thumbnails/17.jpg)
ATMega328P Memória de programa relativo – RJMP e RCALL:
17