1 / 11

Modos de endereçamento

Modos de endereçamento. (Mil e uma maneiras de especificar um operando). Modo direto. Tratamento de variáveis Endereço conhecido (programador ou compilador) Variáveis escalares (uma palavra de memória) Exemplo: total := total + parcela LDR A total ADD A parcela STR A total.

cicely
Download Presentation

Modos de endereçamento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modos de endereçamento (Mil e uma maneiras de especificar um operando)

  2. Modo direto • Tratamento de variáveis • Endereço conhecido (programador ou compilador) • Variáveis escalares (uma palavra de memória) • Exemplo: total := total + parcela LDR A total ADD A parcela STR A total

  3. Modo imediato • Tratamento de constantes • Não necessita reservar posições de memória (de variáveis) • Economiza um acesso à memória • Exemplos: contador := contador + 1; total := 0; LDR A contador LDR A #0 ADD A #1 STR A total STR A contador

  4. Modo indireto • Tratamento de endereços de variáveis • Necessita de um acesso extra à memória • Exemplos: variavel := ponteiro^; LDR A ponteiro,I A  mem(mem(ponteiro)) STR A variavel mem(variável)  A

  5. Modo indexado • Tratamento de vetores (arrays, matrizes, etc) • Endereço do operando calculado através da soma de dois valores • Um valor codificado na instrução • Outro valor armazenado no registrador X • Significado de cada valor depende do programa

  6. Modo indexado • Exemplos: • Acessar elemento de um array de n bytes, indexado de 0 a n-1, denominado vetor • Quatro situações: • endereço de vetor fixo, índice fixo • endereço de vetor fixo, índice variável • endereço de vetor variável, índice fixo • endereço de vetor variável, índice variável

  7. Modo indexado • Situação (1) • endereço de vetor fixo, índice fixo • Exemplo: vetor inicia no endereço 132, e o índice é 7 • Endereço final do operando fixo: 132+7=139 • Usa-se modo direto: LDR A 139

  8. Modo indexado • Situação (2) • endereço de vetor fixo, índice variável • Exemplo: vetor inicia no endereço 132, e o índice é dado pela variável i • Endereço final do operando fixo: 132+i • Usa-se modo indexado: LDR X i LDR A 132,X

  9. Modo indexado • Situação (3) • endereço de vetor variável, índice fixo • Exemplo: vetor inicia no endereço e, e o índice é 7 • Endereço final do operando fixo: e+7 • Usa-se modo indexado: LDR X e LDR A 7,X

  10. Modo indexado • Situação (4) • endereço de vetor variável, índice variável • Exemplo: vetor inicia no endereço e, e o índice é dado pela variável i • Endereço final do operando fixo: e+i • Usa-se modo indexado: LDR X e ADD X i LDR A 0,X

  11. Modos “extras” • Modo registrador: operando está no registrador indicado (A, B ou X) LDR A operando LDR B operando LDR X operando • Modo registrador indireto: endereço do operando está no registrador X LDR A 0,X

More Related