Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/04/2018 1 PROCEDIMENTO DE ENSINO AULA 4 MODOS DE ENDEREÇAMENTO PROCEDIMENTO DE ENSINO O endereçamento de uma instrução é sempre realizado através do valor armazenado no CI. RI (CI) Toda instrução é formada por C.Op.+ Op., onde o Op. Pode ser valor numérico, um caractere alfabético, um endereço (instrução de desvio). A localização dos dados pode estar explicitamente indicada na mesma instrução, denominado campo do operando, ou implícito (quando armazenado no acumulador). MODOS DE ENDEREÇAMENTO ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 92 04/04/2018 2 PROCEDIMENTO DE ENSINO Todos os exemplos e algoritmos que vimos até agora, utilizaram um endereço para localização do dado na MP, no entanto temos outros maneiras de endereçamento como: Imediato; Direto; Indireto; Por registrador; Indexado; Base mais deslocamento. MODOS DE ENDEREÇAMENTO ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 93 PROCEDIMENTO DE ENSINO O método mais simples e mais rápido de obter um dado, uma vez que o dado é indicado no próprio campo do operando. Vantagem Rapidez no tempo de execução de uma instrução (executa apenas um ciclo); Nenhuma referência à memória. Desvantagem Limitação no tamanho do dado; Programas repetidamente executados, com valores diferentes a cada execução, acarretaria no trabalho de alteração do valor do campo Op. MODO IMEDIATO OPERANDO = A ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 94 04/04/2018 3 PROCEDIMENTO DE ENSINO Formato Instru. C.Op. Reg. Op. Função JMP Op. A35 A 35 Armazenar o valor 35 no CI MOV R,Op. 5307 5 3 07 Armazenar o valor 07 no Registrador 03 MODO IMEDIATO Utilização Inicialização de contadores(valores fixos); Na operação com constantes matemáticas; Indicação da quantidade de posições; Instruções de desvio. Exemplos: ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 95 PROCEDIMENTO DE ENSINO É o método que vemos utilizando em nossos exemplos, onde o operando da Instrução indica o endereço de memória onde se localiza o dado. Um método também simples, mais lento que o imediato , devido a sua referência a memória. Vantagem Constante mudança do dado na memória sem alteração do código de endereçamento que indica o valor. Desvantagem “limitação a quantidade de endereços da memória”. Por exemplo, com tamanho de 12 bits somente pode-se acessar as células na faixa de 0 a 4095. MODO DIRETO EA = A ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 96 04/04/2018 4 PROCEDIMENTO DE ENSINOMODO DIRETO ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 97 PROCEDIMENTO DE ENSINO Formato Instru. C.Op. Op1. Op2. Função LDA Op. 73B 7 3B Armazenar o valor do endereço 3B no CI ADD Op.1,Op2. B5C3B B 5C 3B Somar os valores dos endereços 5C e 3B e Armazenar no endereço 5C MODO DIRETO Exemplo ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 98 04/04/2018 5 PROCEDIMENTO DE ENSINO Este método o campo operando representa o endereço de uma célula, onde o conteúdo desta célula não é o dado e sim um outro endereço do dado.(duplo endereçamento). Vantagem Elimina o problema do modo direto, limitação do valor de endereço, se estendendo ao tamanho necessário. Desvantagem Aumento ao número de ciclos a memória para execução da instrução. MODO INDIRETO EA = (A) ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 99 PROCEDIMENTO DE ENSINOMODO INDIRETO ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 100 04/04/2018 6 PROCEDIMENTO DE ENSINO Formato Instru. C.Op. Op. Função LDA Op. 474 4 74 Ler o dado do endereço contido no endereço 74 e armazenar no registrador acumulador. MODO INDIRETO É utilizado na manutenção de ponteiros de dados, movimentando uma relação de dados para a nova posição(alterando o endereço dado sem alterar o Operando. Exemplo: ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 101 PROCEDIMENTO DE ENSINO Método que possui a mesma características dos modos anteriores, exceto a célula de memória referenciada na instrução é substituída por um registrador. Vantagem Consiste em menos números de bits para endereçar, tendo em vista o número pequeno de registradores. O dado fica armazenado num meio mais rápido do que a MP, nenhuma referência à memória. Desvantagem Na falta de registradores, definir quais dados deverão ir para os registradores ou a MP. ENDEREÇAMENTO POR REGISTRADOR EA = R ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 102 04/04/2018 7 PROCEDIMENTO DE ENSINO Modo de Utilização Modo por registrador direto O registrador endereçado contém o dado a ser manipulado. Modo por registrador Indireto O registrador referenciado armazena o endereço de uma célula onde se encontra o dado. ENDEREÇAMENTO POR REGISTRADOR ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 103 PROCEDIMENTO DE ENSINOENDEREÇAMENTO POR REGISTRADOR ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 104 04/04/2018 8 PROCEDIMENTO DE ENSINO O campo endereço contém um endereço de memória principal e o registrador especificado, um deslocamento positivo relativo a esse endereço. Esses endereços servem de ponteiro para os referidos elementos. O endereço do dado é a soma do valor do campo operando e de um valor do campo do registrador. MODO INDEXADO EA = A + (R) R (R) + 1 ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 105 PROCEDIMENTO DE ENSINO O endereço do dado e a soma do valor do campo operando e de um valor armazenado em um dos registradores (registrador índice); Muito utilizados para acessos a elementos de arrays. localização pode ser dada por um ponteiro, e o elemento desejado através de um deslocamento. Vantagem: Rapidez na execução das instruções de acesso aos dados (a alteração dos endereços e realizada na UCP. ENDEREÇAMENTO INDEXADO ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 106 04/04/2018 9 PROCEDIMENTO DE ENSINO MODO DIRETO MODO INDIRETO MODO INDEXADO LDA A(1) ADD B(1) STA C(1) LDA A(2) ADD B(2) . . . HLT T LDA A(1) ADD B(1) STA C(1) INC A INC B INC C DCR N JNZ T HLT MVI (R4),1 MVI (R2),100 T LDA (R4), 19FF ADD (R4), 1A63 STA (R4), 1AC7 INC (R4) DCR (R2) JZR (R2), T HLT Exemplo de Programação ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 107 PROCEDIMENTO DE ENSINO Para converter um programa Assembly em linguagem de maquina e podermos realizar os ciclos de instrução passo a passo (execução do programa), vamos considerar: a) UCP/MP com mesmas características anteriormente descritas; b) as variáveis usadas no programa são: c) o programa esta armazenado na MP a partir do endereço 18h, e no instante inicial vamos considerar que: I. CI=1816 II. Conteúdo de RI e R0 são da instrução anterior EXECUÇÃO DO PROGRAMA ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 108 04/04/2018 10 PROCEDIMENTO DE ENSINO Programa em linguagem de montagem para solucionar a expressão: X=Y+Z-T PROGRAMA MP CPU EXECUÇÃO DE PROGRAMA EM CÓDIGO DE MÁQUINA ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco 109 PROCEDIMENTO DE ENSINO 1. Implemente um programa em linguagem de montagem usando o PIC 18F4550 do MPLAB para solucionar as expressões abaixo: a) X = A + (B*(C-A) + (D-E+B) * D) b) Y = (A – E) *(B + D - E) Obs.: Na multiplicação o resultado é Salvo na variável PRODL. EXERCÍCIOS 110ENGENHARIAS – Sistemas a Microprocessadores – Henry Lubanco VARIÁVEL ENDEREÇO VALOR A 20 0E B 21 05 C 22 1F D 23 10 E 24 0F X 25 00 Y 26 00
Compartilhar