![Page 1: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/1.jpg)
EEL7030 - Microprocessadores
Prof. Raimes Moraes
GpqCom – EEL
UFSC
![Page 2: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/2.jpg)
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.
![Page 3: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/3.jpg)
Registradores do 8085
![Page 4: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/4.jpg)
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.
![Page 5: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/5.jpg)
PilhaPILHA END. DADO
SP-1 20BCH FB [E]
SP-1 20BDH 4C [D]
SP-1 20BEH 3F [C]
SP-1 20BFH 2A [B]
SP 20C0H
• Exemplo de utilização da pilha pelo programador:
PUSH BPUSH D
PUSH
D
PUSH
B
[B] = 2AH ; [C] = 3FH[D] = 4CH ; [E] = FBHSP = 20C0H;
![Page 6: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/6.jpg)
PilhaPILHA END. DADO
SP+1 20BCH FB
SP+1 20BDH 4C
SP+1 20BEH 3F
SP+1 20BFH 2A
SP 20C0H
• Exemplo de utilização da pilha pelo programador:
POP BPOP D
[B] = 4CH ; [C] = FBH[D] = 2AH ; [E] = 3FHSP = 20C0H;
POP
B
POP
D
![Page 7: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/7.jpg)
PilhaPILHA END. DADO
20BCH FB
20BDH 4C
SP-+1 20BEH 06
SP-+1 20BFH 4C
SP 20C0H
• Exemplo de utilização da pilha pelo programador:
PUSH PSWMVI A,30HADD BMOV B,APOP PSW
[A] = 4CH ; [FLAGS] = 06H[B] = 08H ; SP = 20C0H;
PU S H
[A] = 4CH ; [FLAGS] = 06H[B] = 38H SP = 20C0H;
PO P
![Page 8: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/8.jpg)
SUBROTINA
Ninst:
RET
CALL Ninst
fim do programa
• 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.
![Page 9: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/9.jpg)
ProgramaSem Subrotina
Conjunto de N instruções repetidas
CALL Ninst
CALL Ninst
CALL Ninst
Ninst:
RET
ProgramaCom Subrotina SUBROTINA
![Page 10: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/10.jpg)
ProgramaSem Subrotina
CALL Ninst
CALL Ninst
CALL Ninst
ProgramaCom Subrotina SUBROTINA
Ninst:
RET
• Vantagens:
• Menor volume de código;• Código mais inteligível;
• Desvantagem:
• Menor velocidade de execução
![Page 11: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/11.jpg)
SUBROTINAExemplo
PILHA END. DADO
SP-1 20BEH 0DH
[PC LSB]
SP-1 20BFH 20H
[PC MSB]
SP 20C0H
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).
END. CÓDIGO
200A CALL 2028H
200D MOV A,B
![Page 12: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/12.jpg)
Subrotina modifica Regscujo conteúdo se quer
preservar?
PILHA END. DADO
SP+1 20CCH FB [E]
SP+1 20CDH 4C [D]
SP+1 20CEH C7 [Flg]
SP+1 20CFH 4C [A]
SP 20D0H
LXI SP,20D0HPUSH PSWPUSH DCALL 1234HPOP DPOP PSW
[A] = 4CH ; [Flg] = C7H[D] = 2AH ; [E] = 3FHSP = 20C0H;
PUSH
D
PUSH
PSW
![Page 13: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/13.jpg)
Diagrama de Blocos Kit Telemática
![Page 14: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/14.jpg)
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
![Page 15: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/15.jpg)
PinoIO/M
![Page 16: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/16.jpg)
8155
![Page 17: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/17.jpg)
Registrador de controle do 8155 (20H)
![Page 18: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/18.jpg)
Endereço de Acesso a Registradores do 8155
![Page 19: EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC](https://reader035.vdocuments.net/reader035/viewer/2022062303/552fc10c497959413d8c3362/html5/thumbnails/19.jpg)
REGISTRADOR ENDEREÇOA BACUS
COMMAND
20H
CHAVES (PORTA A) 21H
LEDS (PORTA B) 22 H
Endereço de Acesso a Registradores do 8155 no kit telemática e Abacus