1 / 19

EEL7030 - Microprocessadores

EEL7030 - Microprocessadores. Prof. Raimes Moraes GpqCom – EEL UFSC. Pilha. Região da memória RAM utilizada pelo programador e processador; Pelo programador : armazenar dados temporários;

cana
Download Presentation

EEL7030 - Microprocessadores

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. EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC

  2. Pilha • Região da memória RAM utilizada pelo programador e processador; • Pelo programador: armazenar dados temporários; • Pelo processador: armazenar endereços e flags qdo da alteração do fluxo de execução do programa (subrotina e interrupção); • No 8085, a transferência de dados e endereços para a pilha acontece em par de bytes.

  3. Registradores do 8085

  4. Pilha • Programador deve informar o processador sobre área de memória RAM disponível para a pilha, inicializando o registrador Stack Pointer (ponteiro de pilha)*. • Exemplo: • LXI SP, 20C0H • *OBS: Qdo o processador executa sistema operacional, este gerencia a pilha.

  5. Pilha • Exemplo de utilização da pilha pelo programador: P U S H D [B] = 2AH ; [C] = 3FH [D] = 4CH ; [E] = FBH SP = 20C0H; P U S H B PUSH B PUSH D

  6. Pilha • Exemplo de utilização da pilha pelo programador: P O P B POP B POP D P O P D [B] = 4CH ; [C] = FBH [D] = 2AH ; [E] = 3FH SP = 20C0H;

  7. Pilha • Exemplo de utilização da pilha pelo programador: [A] = 4CH ; [FLAGS] = 06H [B] = 08H ; SP = 20C0H; PUSH PSW MVI A,30H ADD B MOV B,A POP PSW P U S H P O P [A] = 4CH ; [FLAGS] = 06H [B] = 38H SP = 20C0H;

  8. SUBROTINA • Conjunto de instruções para o qual o fluxo de execução do programa é desviado pela instrução: • CALL (endereço) • A instrução RET faz com que o microprocessador retorne à executar instrução que se segue à chamada da subrotina. CALL Ninst Ninst: RET fim do programa

  9. Programa Sem Subrotina Programa Com Subrotina SUBROTINA CALL Ninst Conjunto de N instruções repetidas CALL Ninst Ninst: CALL Ninst RET

  10. Programa Sem Subrotina Programa Com Subrotina SUBROTINA • Vantagens: • Menor volume de código; • Código mais inteligível; • Desvantagem: • Menor velocidade de execução CALL Ninst Ninst: CALL Ninst RET CALL Ninst

  11. SUBROTINA Exemplo 1 Salva atual PC (200Dh) na pilha. (O PC é atualizado ao obter o código da instrução CALL); 2 Sobrescreve PC com endereço da subrotina; (PC = 2028H) 3 Executa subrotina; 4 Retorna à instrução que se segue ao CALL no programa principal (instrução RET retira endereço da pilha (incrementando SP) e sobrescreve PC).

  12. Subrotina modifica Regs cujo conteúdo se quer preservar? P U S H D LXI SP,20D0H PUSH PSW PUSH D CALL 1234H POP D POP PSW P U S H PSW [A] = 4CH ; [Flg] = C7H [D] = 2AH ; [E] = 3FH SP = 20C0H;

  13. Diagrama de Blocos Kit Telemática

  14. Instruções para acesso a dispositivos de entrada e saída IN(end.): conteúdo do endereço especificado pela instrução é carregado no acumulador; OUT(end.): conteúdo do acumulador carregado no registrador do endereço especificado; OBS: end.: 00 a FFH

  15. Pino IO/M

  16. 8 1 5 5

  17. Registrador de controle do 8155 (20H)

  18. Endereço de Acesso a Registradores do 8155

  19. Endereço de Acesso a Registradores do 8155 no kit telemática e Abacus

More Related