Carregar apresentação
A apresentação está carregando. Por favor, espere
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:
END. DADO SP-1 20BCH FB [E] 20BDH 4C [D] 20BEH 3F [C] 20BFH 2A [B] SP 20C0H 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: POP B POP D
END. DADO SP+1 20BCH FB 20BDH 4C 20BEH 3F 20BFH 2A SP 20C0H Exemplo de utilização da pilha pelo programador: P O B POP B POP D P O D [B] = 4CH ; [C] = FBH [D] = 2AH ; [E] = 3FH SP = 20C0H;
7
Pilha Exemplo de utilização da pilha pelo programador:
END. DADO 20BCH FB 20BDH 4C SP-+1 20BEH 06 20BFH SP 20C0H 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 [A] = 4CH ; [FLAGS] = 06H [B] = 38H SP = 20C0H; 7
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 fim do programa Ninst: RET
9
SUBROTINA CALL Ninst Conjunto de N instruções repetidas CALL Ninst
Programa Sem Subrotina Programa Com Subrotina SUBROTINA CALL Ninst Conjunto de N instruções repetidas CALL Ninst Ninst: CALL Ninst RET
10
SUBROTINA Vantagens: Menor volume de código; Código mais inteligível;
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 CALL Ninst Ninst: RET CALL Ninst
11
SUBROTINA Exemplo END. CÓDIGO 200A CALL 2028H 200D MOV A,B
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). PILHA END. DADO SP-1 20BEH 0DH [PC LSB] 20BFH 20H [PC MSB] SP 20C0H
12
Subrotina modifica Regs cujo conteúdo se quer preservar?
PILHA END. DADO SP+1 20CCH FB [E] 20CDH 4C [D] 20CEH C7 [Flg] 20CFH 4C [A] SP 20D0H 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
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
COMMAND 20H CHAVES (PORTA A) 21H LEDS (PORTA B) 22 H
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.