·
Engenharia Elétrica ·
Microprocessadores
· 2021/2
Envie sua pergunta para a IA e receba a resposta na hora

Prefere sua atividade resolvida por um tutor especialista?
- Receba resolvida até o seu prazo
- Converse com o tutor pelo chat
- Garantia de 7 dias contra erros
Recomendado para você
32
Slide - Modos de Endereçamentos e Instruções de Transferência de Dados do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
35
Slide - Instruções Aritméticas do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
37
Slide - Instruções de Chamada de Desvios do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
34
Slide - Instruções Lógicas do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
39
Slide - Instruções de Chamada de Subrotinas do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
68
Paletização Automática Através de Braço Robótico Controlada por Microcontrolador Arduino
Microprocessadores
USU
19
Resumo sobre a Linguagem C para Microcontroladores
Microprocessadores
USU
2
Atividades de Programação Assembler-2021 2
Microprocessadores
UFC
1
Atividade 1-2022 1
Microprocessadores
UFC
12
Slide Conjunto de Intruções Pic-2021 2
Microprocessadores
UFC
Texto de pré-visualização
Um conjunto de três números na representação BCD 8421 (2 dígitos cada) está armazenado a partir do endereço de memória 2050H. Os códigos para representar números decimais (acender os Leds) em um display de 7-segmentos catodo comum estão armazenados a partir do endereço 2070H. A. Escreva um programa para ler três números na representação BCD 8421 (2 dígitos) contidos em memória e armazenar, a partir do endereço de memória 2090H, o corresponde código para o acionamento dos segmentos do display de cada um dos dígitos lidos. Por exemplo, se 16H, 29H e 34H estão armazenados em 2050H, 2051H e 2052H, gera-se a partir do endereço 2090H os seguintes bytes: 06H - 7DH - 5BH - 6FH - 4FH - 66H. Decimal: 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 Código: 3FH - 06H - 5BH - 4FH - 66H - 6DH - 7DH - 07H - 7FH - 6FH B. Que alteração deverá ocorrer para utilizar um display anodo comum? UNIVERSIDADE ESTADUAL PAULISTA "JÚLIO DE MESQUITA FILHO" FACULDADE DE ENGENHARIA DE ILHA SOLTEIRA DEPARTAMENTO DE ENGENHARIA ELÉTRICA Simulador do microprocessador 8085 - ABACUS Assunto: Resumo sobre o uso do simulador ABACUS. Disciplina: Laboratório de Microprocessadores I – Professor: Alexandre César Rodrigues da Silva - Período: 1o Semestre de 2022 O texto deste manual de uso do simulador Abacus está baseado no Capítulo 10 contido nas páginas 137 à 150 da obra do Prof. Roberto Ziller. Referência: Microprocessadores: Conceitos Importantes Roberto M. Ziller 2a Edição - Florianópolis: Ed. do autor, 2000 ISBN 85-901037-2-2 1 Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 2 O simulador ABACUS O Abacus é um simulador e um Assembler para o microprocessador 8085. Foi desenvolvido pelo Prof. Roberto W. Ziller, do Departamento de Engenharia Elétrica da Universidade Federal de Santa Catarina. A interface do Abacus está apresentada na Figura 1. Figura 1. Interface do simulador Abacus. Com o uso do Abacus é possível executar os exercícios propostos durante o curso Microprocessadores I. Com a execução dos programas armazenados na região da memória RAM pode-se acompanhar as mudanças no processador e na memória. É possível acompanhar o comportamento da pilha e a movimentação de ponteiros de memória (varredura de tabelas), criar "breakpoints" para interpretar a execução até qualquer ponto do programa, alterar o estado do processador e da memória, executar instruções passo a passo e gerar interrupções. Como dispositivos de entrada podem ser utilizados o próprio teclado do computador ou um conjunto de chaves (simulado por software). Como dispositivos de saída pode-se utilizar "display" numérico de 7 segmentos ou um conjunto de leds (simulado por software). Uma das funcionalidade do Abacus é o Assembler, em que é possível criar pro- gramas a partir da tabela de mnemônicos. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 3 As janelas A interface do Abacus consiste das seguintes janelas, cuja imagem está apresen- tada na Figura 2: • Programa; • Processador; • Memória; • Display; • Leds; • Chaves; • Assembler. Figura 2. Janelas do simulador Abacus. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 4 A Janela de Programa Na Janela de Programa, apresentada na Figura 3, é possível visualizar o pro- grama carregado na memória RAM que será simulado. Esta janela é dividida em três colunas. A coluna de "endereço", a coluna contendo os "códigos hexadecimais" e a coluna contendo os "mnemônicos" correspondentes. Figura 3. Janela de Programa do simulador Abacus. • O Cursor: O cursor da janela de programa é uma linha azul-clara que destaca o endereço contido no registrador PC (Contador de Programa), ou seja, destaca a próxima instrução a ser executada. Para executar o programa a partir de um determinado endereço basta mudar a posição do cursor, que pode ser realizado com um duplo clique sobre o endereço de memória desejado. • Breakpoints: Um clique com o botão no mouse à esquerda do endereço de memória na linha da janela de programa cria um "breakpoint". A cor da linha muda para ver- melha para indicar o ponto de "breakpont". Um "breakpoint" é um ponto que interrompe a execução do programa. Dessa forma, pode-se examinar detalhes do processador ou alterar o valor de registradores. Pode-se ter até 10 "breakpoint" ativos simultaneamente. Para remover um "breakpoint" clica-se novamente à esquerda do endereço de memória na linha da janela de programa. Para remover todos os "breakpoint" simultaneamente pode-se utilizar o botão Remover "breakpoints" (Quarto botão da esquerda para a direita da janela de programa apresentado na Figura 3). Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 5 A Janela de Programa - Continuação • Execução de um programa: O controle para a execução de um programa é feito pelos botões apresentados na Figura 4. Figura 4. Botões de controle para a execução de um programa. Da esquerda para a direita: – O primeiro botão representa o botão "Executar passo a passo". Com o pres- sionar deste botão executa-se uma instrução de cada vez; – O segundo botão é o botão "Executar". Executa o programa a partir da posição do cursor; – O terceiro botão é o botão "Parar". Interrompe a execução do programa. • Atualização da Janela: A execução de um programa pode modifica o conteúdo da memória. Quando termina a execução de um programa as atualizações são feitas automatica- mente. No entanto é possível que a atualização seja realizada durante a exe- cução do programa utilizando o botão "Atualizar durante a execução", último botão da janela de programa. • O Campo Mostrar até: Na janela de programa pode-se mostrar todos os endereços de memória (1 kByte), porém isto cria um desconforto na barra de rolagem. Nos exercícios que serão simulados não há a necessidade de uma grande quantidade de memória. Para evitar o desconforto no uso da barra de rolagem, a janela de programa mostra por default apenas os endereços correspondentes ao arquivo carregado. O último endereço que pode ser vizualizado é mostrado no campo "Mostrar até". Este campo pode ser alterado pelo usuário para modificar o tamanho da região de memória mostrada. • Janela de Programa no modo Assembler: Quando se está no modo Assembler não se pode executar nenhum pro- grama. Sendo assim, os botões apresentados na Figura 4 não estarão visíveis. Apresenta-se na Figura 5 dois outros botões para a edição de um programa quando se está no modo Assembler. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 6 A Janela de Programa - Continuação Figura 5. Botões para o auxílio na edição de um programa. O botão "Inserir um byte", insere o byte 00H na posição do cursor da janela de programa e o botão "Remover um byte" remove o byte onde está localizado o cursor. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 7 A Janela Processador Na Figura 6 apresenta-se a Janela Processador que permite visualizar o estado do microprocessador 8085. Nesta janela estão presentes todos os registradores e Flags, bem como os bits da máscara de interrupção. Os valores apresentados estão na notação hexadecimal, porém para apresentar os valores na notação decimal para os registrados A, B, C, D, E, H e L basta manter o cursor do mouse em repouso por alguns instantes sobre o valor hexadecimal. Note que nesta janela são apresentados os registradores PC (PCH e PCL) e SP (SPH e SPL). Estes dois registradores são de 2 bytes cada, pois armazenam endereços de memória. Figura 6. Janela do Processador 8085. Da esquerda para a direita tem-se os seguintes botões: • Reset: Utilizado para resetar o processador; • RST 5.5: Para a solicitação da interrupção 5.5; • RST 6.5: Para a solicitação da interrupção 6.5; • RST 7.5: Para a solicitação da interrupção 7.5; • TRAP: Para a solicitação da interrupção trap. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 8 A Janela de Memória O Abacus simula um região de 1 kB de memória RAM, na faixa de endereço de 2000H ao endereço 23FFH. Qualquer programa a ser executado deve estar armazenado nesta faixa de memória. A tentativa de acesso a endereços de memória fora desta faixa gera uma mensagem de erro. O endereço na faixa de 0000H a 1FFFH é considerada memória ROM e não pode ser visualizada pelo simulador. No Abacus, alguns endereços de ROM são utiliza- dos como subrotinas que o usuário pode chamar do programa armazenado em RAM. A Janela de Memória RAM (Leitura e Escrita) apresentada na Figura 7 permite visualizar e modificar o conteúdo dos bytes da memória RAM. Neste região estarão armazenados o programa, os dados, as variáveis e a região da Pilha. Figura 7. Janela de Memória RAM. Os botões disponíveis nesta janela permitem ativar um mecanismo para o acompanhamento de programas que trabalham com endereçamento indireto por registradores (um par de registrador contém um endereço de memória), bem como o ponteiro de pilha, são os chamados seguidor de ponteiro. Dessa forma, pode-se acompanhar (animação) os endereços de memória para onde o par de registrador está apontando. Os seguintes botões estão disponíveis: • BC - Seguir o ponteiro endereçado pelo par de registradores B; • DE - Seguir o ponteiro endereçado pelo par de registradores D; • HL - Seguir o ponteiro endereçado pelo par de registradores H; • SP - Seguir o ponteiro endereçado pelo registrador SP (Stack Pointer). Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 9 A Janela de Display O simulador Abacus disponililiza dois displays de 7 segmentos, um com 4 dígitos (display de endereços) e o outro com 2 dígitos (display de dados). Apresenta-se na Figura 8 a Janela de Display. Para a utilização destes displays deve-se chamar as subrotinas simuladas em ROM cujos endereços de chamadas serão descritos no Menu Opções. Figura 8. Janela de display. A Janela de Leds A Janela de Leds apresenta um conjunto de 8 (oito) Leds, sendo que o Led mais à esquerda corresponde ao bit mais significativo da porta paralela de saída. Estes Leds estão conectados na Porta Paralela B, cujo endereço é 22H. Os Leds serão acesos nas correspondentes posições do byte que assumem valor lógico "1". Apresenta-se na Figura 9 a Janela de Leds. Figura 9. Janela de Leds. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 10 A Janela de Chaves A Janela de Chaves está apresenta na Figura 10. Estas chaves são lidas a partir da Porta paralela A, cujo endereço é 21H. Os bits lidos assumirão o valor lógico "0" ou "1" se as chaves correspondentes estiverem abertas ou fechadas, respectivamente. A chave mais a esquerda corresponde ao bit mais significativo. Figura 10. Janela de Chaves. A Janela Assembler A Janela Assembler é ativada pela barra de ferramentas, opção "Assembler" ou pelo símbolo correspondente disponível na barra de Menu. Esta janela sobrepõe as janelas Processador, Display, Led e Chaves, conforme apresentada na Figura 11. Figura 11. Janela Assembler. Neste modo, pode-se editar um programa selecionando com o mouse as in- struções desejadas. Quando seleciona-se uma instruções, o OpCode correspondente é inserido na Janela de Memória e na Janela de Programa. Nas instruções que necessitam especificar um registrador, abre-se um menu para que o programador selecione o registrador desejado e nas instruções que necessitam de um argumento numérico o Assembler insere na memória e na janela de programa somente o OpCode. O argumento numérico deve ser inserido pelo teclado do com- putador. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 11 Os Menus da Interface do Abacus A interface do simulador Abacus dispõe do menu, cuja imagem está apresentada na Figura 12. • Arquivos; • Ferramentas; • Opções; • Ajuda. Figura 12. Menu da Interface do Abacus. No menu "Arquivo" tem-se as seguintes opções: • Abrir Arquivo; • Recarregar; • Salvar; • Salvar Como; • Sair. A opção "Abrir" permite abrir um arquivo existente. O arquivo tem a extensão ".hex" e o nome do arquivo aberto é apresentado na barra da Janela de Programa. A opção "Recarregar" permite carregar novamente o último arquivo aberto. As opções "Salvar" e "Salvar Como", permitem, respectivamente, salvar e salvar atribuindo um novo nome ao arquivo de programa atual, ou seja, o programa cujo conteúdo está na faixa de 2000H até o endereço contido em "Mostra Até", apresentado na Janela de Programa. No menu "Ferramentas" tem-se a opção de ativar o Assembler do Abacus. O menu "Opções" disponibiliza os seguintes items: • Subrotinas em ROM; • Desvios de Tratadores para RAM; • Desvios das instruções RST. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 12 Opção: Subrotina em ROM O Abacus inclui algumas subrotinas simuladas em ROM cujos endereços de chamada das subrotinas estão apresentados na Figura 13. Figura 13. Caixa de diálogo das Subrotinas. Estes endereços podem ser modificados pelo usuário para que o simulador fique compatível com algum hardware específico contendo subrotinas análogas, mas em localizações diferentes de memória. Opção: Desvios de tratadores para RAM Os endereços de desvios das interrupções do 8085 não correspondem à região de memória RAM simulada pelo Abacus. No Abacus é possível reprogramar os endereços de desvios da chamada de subrotina, cujos endereços default de chamada das subrotinas estão apresentados na Figura 14. Figura 14. Caixa de diálogo dos Tratadores de Interrupções. O processador se comporta como se houvesse nos endereços de desvios do processador, instruções JMP para os novos endereços especificados nesta caixa de diálogo. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 13 Opção: Desvios das Instruções RST Da mesma forma que na Caixa de Diálogo dos tratadores de interrupções, as instruções RST desviam o processamento do programa para região de memória não simulada pelo Abacus. Os endereços de desvios das instruções RST podem ser reprogramados para atender a necessidade de algum hardware específico. Os endereços default para as instruções RST são apresentados na Figura 15. Figura 15. Caixa de diálogo para desvios das instruções RST. O processador se comporta como se houvesse nos endereços de desvios do processador, instruções JMP para os novos endereços especificados nesta caixa de diálogo. Resumo sobre o uso do simulador ABACUS. Conjunto de Instruções ( MNEMÔNICOS ) ACI Add Immediate with Carry ADC Add with Carry ADD Add ADI Add Immediate ANA Logical AND with Accumulator ANI Logical AND Immediate with Accumulator CALL Call CC Call if Carry CM Call if Minus CMA Complement Accumulator CMC Complement Carry CMP Compare with Accumulator CNC Call if no Carry CNZ Call if no Zero CP Call if Positive CPE Call if Parity Even CPI Compare Immediate CPO Call if Parity Odd CZ Cal if Zero DAA Decimal Adjust Accumulator DAD Double Register Add DCR Decrement DCX Decrement Register Pair DI Disable Interrupts EI Enable Interrupts HLT Halt IN Input from Port INR Increment INX Increment Register Pair JC Jump if Carry JM Jump if Minus JMP Jump JNC Jump if no Carry JNZ Jump if not Zero JP Jump if Positive JPE Jump if Parity Even JPO Jump if Parity Odd JZ Jump if Zero LDA Load Accumulator Direct LDAX Load Accumulator Indirect LHLD Load H and L Direct LXI Load Register Pair Immediate MOV Move MVI Move Imediate NOP No Operation ORA Inclusive OR with Accumulator ORI Inclusive OR Immediate OUT Out to Port PCHL Move H&L to Program Counter POP Pop PUSH Push RAL Rotate Left Through Carry RAR Rotate Right Through Carry RC Return if Carry RET Return from Subrotine RIM Read Interrupt Mask RLC Rotate Accumulator Left RM Return if Minus RNC Return if no Carry RNZ Return if Not Zero RP Return if Positive RPE Return if Parity Even RPO Return if Parity Odd RRC Rotate Accumulator Right RST Restart RZ Return if Zero SBB Subtract with Borrow SBI Subtract Immediate with Borrow SHLD Store H and L Direct SIM Set Interrupt Mask SPHL Move H&L to SP STA Store Accumulator Direct STAX Store Accumulate Indirect STC Set Carry SUB Subtract SUI Subtract Immediate XCHG Exchange H and L with D and E XRA Exclusive OR with Accumulator XRI Exclusive OR Immediate with Accumulator XTHL Exchange H&L with Top of Stack 1 Correção: C9H => RET CAH => JZ Adr
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
32
Slide - Modos de Endereçamentos e Instruções de Transferência de Dados do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
35
Slide - Instruções Aritméticas do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
37
Slide - Instruções de Chamada de Desvios do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
34
Slide - Instruções Lógicas do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
39
Slide - Instruções de Chamada de Subrotinas do 8085 - Microprocessadores 2021-2
Microprocessadores
UNESP
68
Paletização Automática Através de Braço Robótico Controlada por Microcontrolador Arduino
Microprocessadores
USU
19
Resumo sobre a Linguagem C para Microcontroladores
Microprocessadores
USU
2
Atividades de Programação Assembler-2021 2
Microprocessadores
UFC
1
Atividade 1-2022 1
Microprocessadores
UFC
12
Slide Conjunto de Intruções Pic-2021 2
Microprocessadores
UFC
Texto de pré-visualização
Um conjunto de três números na representação BCD 8421 (2 dígitos cada) está armazenado a partir do endereço de memória 2050H. Os códigos para representar números decimais (acender os Leds) em um display de 7-segmentos catodo comum estão armazenados a partir do endereço 2070H. A. Escreva um programa para ler três números na representação BCD 8421 (2 dígitos) contidos em memória e armazenar, a partir do endereço de memória 2090H, o corresponde código para o acionamento dos segmentos do display de cada um dos dígitos lidos. Por exemplo, se 16H, 29H e 34H estão armazenados em 2050H, 2051H e 2052H, gera-se a partir do endereço 2090H os seguintes bytes: 06H - 7DH - 5BH - 6FH - 4FH - 66H. Decimal: 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 Código: 3FH - 06H - 5BH - 4FH - 66H - 6DH - 7DH - 07H - 7FH - 6FH B. Que alteração deverá ocorrer para utilizar um display anodo comum? UNIVERSIDADE ESTADUAL PAULISTA "JÚLIO DE MESQUITA FILHO" FACULDADE DE ENGENHARIA DE ILHA SOLTEIRA DEPARTAMENTO DE ENGENHARIA ELÉTRICA Simulador do microprocessador 8085 - ABACUS Assunto: Resumo sobre o uso do simulador ABACUS. Disciplina: Laboratório de Microprocessadores I – Professor: Alexandre César Rodrigues da Silva - Período: 1o Semestre de 2022 O texto deste manual de uso do simulador Abacus está baseado no Capítulo 10 contido nas páginas 137 à 150 da obra do Prof. Roberto Ziller. Referência: Microprocessadores: Conceitos Importantes Roberto M. Ziller 2a Edição - Florianópolis: Ed. do autor, 2000 ISBN 85-901037-2-2 1 Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 2 O simulador ABACUS O Abacus é um simulador e um Assembler para o microprocessador 8085. Foi desenvolvido pelo Prof. Roberto W. Ziller, do Departamento de Engenharia Elétrica da Universidade Federal de Santa Catarina. A interface do Abacus está apresentada na Figura 1. Figura 1. Interface do simulador Abacus. Com o uso do Abacus é possível executar os exercícios propostos durante o curso Microprocessadores I. Com a execução dos programas armazenados na região da memória RAM pode-se acompanhar as mudanças no processador e na memória. É possível acompanhar o comportamento da pilha e a movimentação de ponteiros de memória (varredura de tabelas), criar "breakpoints" para interpretar a execução até qualquer ponto do programa, alterar o estado do processador e da memória, executar instruções passo a passo e gerar interrupções. Como dispositivos de entrada podem ser utilizados o próprio teclado do computador ou um conjunto de chaves (simulado por software). Como dispositivos de saída pode-se utilizar "display" numérico de 7 segmentos ou um conjunto de leds (simulado por software). Uma das funcionalidade do Abacus é o Assembler, em que é possível criar pro- gramas a partir da tabela de mnemônicos. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 3 As janelas A interface do Abacus consiste das seguintes janelas, cuja imagem está apresen- tada na Figura 2: • Programa; • Processador; • Memória; • Display; • Leds; • Chaves; • Assembler. Figura 2. Janelas do simulador Abacus. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 4 A Janela de Programa Na Janela de Programa, apresentada na Figura 3, é possível visualizar o pro- grama carregado na memória RAM que será simulado. Esta janela é dividida em três colunas. A coluna de "endereço", a coluna contendo os "códigos hexadecimais" e a coluna contendo os "mnemônicos" correspondentes. Figura 3. Janela de Programa do simulador Abacus. • O Cursor: O cursor da janela de programa é uma linha azul-clara que destaca o endereço contido no registrador PC (Contador de Programa), ou seja, destaca a próxima instrução a ser executada. Para executar o programa a partir de um determinado endereço basta mudar a posição do cursor, que pode ser realizado com um duplo clique sobre o endereço de memória desejado. • Breakpoints: Um clique com o botão no mouse à esquerda do endereço de memória na linha da janela de programa cria um "breakpoint". A cor da linha muda para ver- melha para indicar o ponto de "breakpont". Um "breakpoint" é um ponto que interrompe a execução do programa. Dessa forma, pode-se examinar detalhes do processador ou alterar o valor de registradores. Pode-se ter até 10 "breakpoint" ativos simultaneamente. Para remover um "breakpoint" clica-se novamente à esquerda do endereço de memória na linha da janela de programa. Para remover todos os "breakpoint" simultaneamente pode-se utilizar o botão Remover "breakpoints" (Quarto botão da esquerda para a direita da janela de programa apresentado na Figura 3). Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 5 A Janela de Programa - Continuação • Execução de um programa: O controle para a execução de um programa é feito pelos botões apresentados na Figura 4. Figura 4. Botões de controle para a execução de um programa. Da esquerda para a direita: – O primeiro botão representa o botão "Executar passo a passo". Com o pres- sionar deste botão executa-se uma instrução de cada vez; – O segundo botão é o botão "Executar". Executa o programa a partir da posição do cursor; – O terceiro botão é o botão "Parar". Interrompe a execução do programa. • Atualização da Janela: A execução de um programa pode modifica o conteúdo da memória. Quando termina a execução de um programa as atualizações são feitas automatica- mente. No entanto é possível que a atualização seja realizada durante a exe- cução do programa utilizando o botão "Atualizar durante a execução", último botão da janela de programa. • O Campo Mostrar até: Na janela de programa pode-se mostrar todos os endereços de memória (1 kByte), porém isto cria um desconforto na barra de rolagem. Nos exercícios que serão simulados não há a necessidade de uma grande quantidade de memória. Para evitar o desconforto no uso da barra de rolagem, a janela de programa mostra por default apenas os endereços correspondentes ao arquivo carregado. O último endereço que pode ser vizualizado é mostrado no campo "Mostrar até". Este campo pode ser alterado pelo usuário para modificar o tamanho da região de memória mostrada. • Janela de Programa no modo Assembler: Quando se está no modo Assembler não se pode executar nenhum pro- grama. Sendo assim, os botões apresentados na Figura 4 não estarão visíveis. Apresenta-se na Figura 5 dois outros botões para a edição de um programa quando se está no modo Assembler. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 6 A Janela de Programa - Continuação Figura 5. Botões para o auxílio na edição de um programa. O botão "Inserir um byte", insere o byte 00H na posição do cursor da janela de programa e o botão "Remover um byte" remove o byte onde está localizado o cursor. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 7 A Janela Processador Na Figura 6 apresenta-se a Janela Processador que permite visualizar o estado do microprocessador 8085. Nesta janela estão presentes todos os registradores e Flags, bem como os bits da máscara de interrupção. Os valores apresentados estão na notação hexadecimal, porém para apresentar os valores na notação decimal para os registrados A, B, C, D, E, H e L basta manter o cursor do mouse em repouso por alguns instantes sobre o valor hexadecimal. Note que nesta janela são apresentados os registradores PC (PCH e PCL) e SP (SPH e SPL). Estes dois registradores são de 2 bytes cada, pois armazenam endereços de memória. Figura 6. Janela do Processador 8085. Da esquerda para a direita tem-se os seguintes botões: • Reset: Utilizado para resetar o processador; • RST 5.5: Para a solicitação da interrupção 5.5; • RST 6.5: Para a solicitação da interrupção 6.5; • RST 7.5: Para a solicitação da interrupção 7.5; • TRAP: Para a solicitação da interrupção trap. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 8 A Janela de Memória O Abacus simula um região de 1 kB de memória RAM, na faixa de endereço de 2000H ao endereço 23FFH. Qualquer programa a ser executado deve estar armazenado nesta faixa de memória. A tentativa de acesso a endereços de memória fora desta faixa gera uma mensagem de erro. O endereço na faixa de 0000H a 1FFFH é considerada memória ROM e não pode ser visualizada pelo simulador. No Abacus, alguns endereços de ROM são utiliza- dos como subrotinas que o usuário pode chamar do programa armazenado em RAM. A Janela de Memória RAM (Leitura e Escrita) apresentada na Figura 7 permite visualizar e modificar o conteúdo dos bytes da memória RAM. Neste região estarão armazenados o programa, os dados, as variáveis e a região da Pilha. Figura 7. Janela de Memória RAM. Os botões disponíveis nesta janela permitem ativar um mecanismo para o acompanhamento de programas que trabalham com endereçamento indireto por registradores (um par de registrador contém um endereço de memória), bem como o ponteiro de pilha, são os chamados seguidor de ponteiro. Dessa forma, pode-se acompanhar (animação) os endereços de memória para onde o par de registrador está apontando. Os seguintes botões estão disponíveis: • BC - Seguir o ponteiro endereçado pelo par de registradores B; • DE - Seguir o ponteiro endereçado pelo par de registradores D; • HL - Seguir o ponteiro endereçado pelo par de registradores H; • SP - Seguir o ponteiro endereçado pelo registrador SP (Stack Pointer). Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 9 A Janela de Display O simulador Abacus disponililiza dois displays de 7 segmentos, um com 4 dígitos (display de endereços) e o outro com 2 dígitos (display de dados). Apresenta-se na Figura 8 a Janela de Display. Para a utilização destes displays deve-se chamar as subrotinas simuladas em ROM cujos endereços de chamadas serão descritos no Menu Opções. Figura 8. Janela de display. A Janela de Leds A Janela de Leds apresenta um conjunto de 8 (oito) Leds, sendo que o Led mais à esquerda corresponde ao bit mais significativo da porta paralela de saída. Estes Leds estão conectados na Porta Paralela B, cujo endereço é 22H. Os Leds serão acesos nas correspondentes posições do byte que assumem valor lógico "1". Apresenta-se na Figura 9 a Janela de Leds. Figura 9. Janela de Leds. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 10 A Janela de Chaves A Janela de Chaves está apresenta na Figura 10. Estas chaves são lidas a partir da Porta paralela A, cujo endereço é 21H. Os bits lidos assumirão o valor lógico "0" ou "1" se as chaves correspondentes estiverem abertas ou fechadas, respectivamente. A chave mais a esquerda corresponde ao bit mais significativo. Figura 10. Janela de Chaves. A Janela Assembler A Janela Assembler é ativada pela barra de ferramentas, opção "Assembler" ou pelo símbolo correspondente disponível na barra de Menu. Esta janela sobrepõe as janelas Processador, Display, Led e Chaves, conforme apresentada na Figura 11. Figura 11. Janela Assembler. Neste modo, pode-se editar um programa selecionando com o mouse as in- struções desejadas. Quando seleciona-se uma instruções, o OpCode correspondente é inserido na Janela de Memória e na Janela de Programa. Nas instruções que necessitam especificar um registrador, abre-se um menu para que o programador selecione o registrador desejado e nas instruções que necessitam de um argumento numérico o Assembler insere na memória e na janela de programa somente o OpCode. O argumento numérico deve ser inserido pelo teclado do com- putador. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 11 Os Menus da Interface do Abacus A interface do simulador Abacus dispõe do menu, cuja imagem está apresentada na Figura 12. • Arquivos; • Ferramentas; • Opções; • Ajuda. Figura 12. Menu da Interface do Abacus. No menu "Arquivo" tem-se as seguintes opções: • Abrir Arquivo; • Recarregar; • Salvar; • Salvar Como; • Sair. A opção "Abrir" permite abrir um arquivo existente. O arquivo tem a extensão ".hex" e o nome do arquivo aberto é apresentado na barra da Janela de Programa. A opção "Recarregar" permite carregar novamente o último arquivo aberto. As opções "Salvar" e "Salvar Como", permitem, respectivamente, salvar e salvar atribuindo um novo nome ao arquivo de programa atual, ou seja, o programa cujo conteúdo está na faixa de 2000H até o endereço contido em "Mostra Até", apresentado na Janela de Programa. No menu "Ferramentas" tem-se a opção de ativar o Assembler do Abacus. O menu "Opções" disponibiliza os seguintes items: • Subrotinas em ROM; • Desvios de Tratadores para RAM; • Desvios das instruções RST. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 12 Opção: Subrotina em ROM O Abacus inclui algumas subrotinas simuladas em ROM cujos endereços de chamada das subrotinas estão apresentados na Figura 13. Figura 13. Caixa de diálogo das Subrotinas. Estes endereços podem ser modificados pelo usuário para que o simulador fique compatível com algum hardware específico contendo subrotinas análogas, mas em localizações diferentes de memória. Opção: Desvios de tratadores para RAM Os endereços de desvios das interrupções do 8085 não correspondem à região de memória RAM simulada pelo Abacus. No Abacus é possível reprogramar os endereços de desvios da chamada de subrotina, cujos endereços default de chamada das subrotinas estão apresentados na Figura 14. Figura 14. Caixa de diálogo dos Tratadores de Interrupções. O processador se comporta como se houvesse nos endereços de desvios do processador, instruções JMP para os novos endereços especificados nesta caixa de diálogo. Resumo sobre o uso do simulador ABACUS. Laboratório de Microprocessadores I – Simulador do microprocessador 8085 - ABACUS 13 Opção: Desvios das Instruções RST Da mesma forma que na Caixa de Diálogo dos tratadores de interrupções, as instruções RST desviam o processamento do programa para região de memória não simulada pelo Abacus. Os endereços de desvios das instruções RST podem ser reprogramados para atender a necessidade de algum hardware específico. Os endereços default para as instruções RST são apresentados na Figura 15. Figura 15. Caixa de diálogo para desvios das instruções RST. O processador se comporta como se houvesse nos endereços de desvios do processador, instruções JMP para os novos endereços especificados nesta caixa de diálogo. Resumo sobre o uso do simulador ABACUS. Conjunto de Instruções ( MNEMÔNICOS ) ACI Add Immediate with Carry ADC Add with Carry ADD Add ADI Add Immediate ANA Logical AND with Accumulator ANI Logical AND Immediate with Accumulator CALL Call CC Call if Carry CM Call if Minus CMA Complement Accumulator CMC Complement Carry CMP Compare with Accumulator CNC Call if no Carry CNZ Call if no Zero CP Call if Positive CPE Call if Parity Even CPI Compare Immediate CPO Call if Parity Odd CZ Cal if Zero DAA Decimal Adjust Accumulator DAD Double Register Add DCR Decrement DCX Decrement Register Pair DI Disable Interrupts EI Enable Interrupts HLT Halt IN Input from Port INR Increment INX Increment Register Pair JC Jump if Carry JM Jump if Minus JMP Jump JNC Jump if no Carry JNZ Jump if not Zero JP Jump if Positive JPE Jump if Parity Even JPO Jump if Parity Odd JZ Jump if Zero LDA Load Accumulator Direct LDAX Load Accumulator Indirect LHLD Load H and L Direct LXI Load Register Pair Immediate MOV Move MVI Move Imediate NOP No Operation ORA Inclusive OR with Accumulator ORI Inclusive OR Immediate OUT Out to Port PCHL Move H&L to Program Counter POP Pop PUSH Push RAL Rotate Left Through Carry RAR Rotate Right Through Carry RC Return if Carry RET Return from Subrotine RIM Read Interrupt Mask RLC Rotate Accumulator Left RM Return if Minus RNC Return if no Carry RNZ Return if Not Zero RP Return if Positive RPE Return if Parity Even RPO Return if Parity Odd RRC Rotate Accumulator Right RST Restart RZ Return if Zero SBB Subtract with Borrow SBI Subtract Immediate with Borrow SHLD Store H and L Direct SIM Set Interrupt Mask SPHL Move H&L to SP STA Store Accumulator Direct STAX Store Accumulate Indirect STC Set Carry SUB Subtract SUI Subtract Immediate XCHG Exchange H and L with D and E XRA Exclusive OR with Accumulator XRI Exclusive OR Immediate with Accumulator XTHL Exchange H&L with Top of Stack 1 Correção: C9H => RET CAH => JZ Adr