









Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Um experimento que utiliza fluxogramas e instruções de desvio no microprocessador 8085-a. O objetivo é estruturar programas complexos e aprender a alterar a sequência de execução de um programa com desvios condicionais e incondicionais. O documento inclui fluxogramas e simulações de dois programas em assembly.
Tipologia: Provas
1 / 17
Esta página não é visível na pré-visualização
Não perca as partes importantes!










O objetivo deste experimento é estruturar programas complexos com fluxograma e utilizar
as instruções de desvio.
Primeiramente deveríamos elaborar um programa para transferir um bloco de memória da posição 2040H até 2060H para o endereço a partir da posição 2070H.
Utilizando o programa Diagram Designer foi feito o Fluxograma.
Figura 2 - Fluxograma do Programa 1
A Tabela abaixo apresenta o programa 1.
Tabela 1 - Programa 1
Endereço Hexa Mnemônico Comentário
Carrega o par de registradores DE com os bytes especificados.
2003H 01 70 20 LXI B,2070h^ Carrega o par de registradores BC com os bytes especificados.
2006 H 1A LDAX D O Byte armazenado na memória endereçado pelo par DE é copiado para o Acumulador.
Copia o conteúdo do Acumulador para a posição de memória endereçada pelo par de registradores BC.
2008H 13 INX D Adiciona 1 ao conteúdo do par de registradores DE.
2009H 03 INX B Adiciona 1 ao conteúdo do par de registradores BC.
200AH 7B MOV A, E Copia o conteúdo do registrador E para o Acumulador.
200BH FE 61 CPI 61H Compara o byte especificado com o conteúdo do Acumulador. Flags alteradas: (Z, CY).
Testa a condição da Flag Z. Se verdadeira, desvia o fluxo do programa para o endereço especificado. (Verdade se Z = 0).
2010H 76 HLT Suspende o processamento.
Figura 4 - Fluxograma Programa 2
Tabela 2 - Programa 2
Endereço Hexa Mnemônico Comentário
Carrega o registrador SP (SPH e SPL) com os bytes especificados.
2003H 21 60 20
Carrega o par de registradores HL com os bytes especificados.
2006H 7E MOV A, M Copia o conteúdo da posição de memória endereçada pelo par HL para o Acumulador.
2007H CD 0D 20
Chama a sub-rotina no endereço especificado e salva na pilha 2 bytes referentes ao endereço de retorno. O apontador de pilha é decrementado de dois. 200AH 76 HLT Suspende o processamento.
200BH 00 NOP Não executa nenhuma operação.
200CH 00 NOP Não executa nenhuma operação.
Carrega o par de registradores HL com os bytes especificados.
2010H 06 64 MVI B,64H Copia o dado especificado pelo segundo byte da instrução para o registrador B.
2012H CD 1D 20
Chama a sub-rotina no endereço especificado e salva na pilha 2 bytes referentes ao endereço de retorno. O apontador de pilha é decrementado de dois. 2015H 06 0A MVI B,0AH Copia o dado especificado pelo segundo byte da instrução para o registrador B.
2017H CD 1D 20
Chama a sub-rotina no endereço especificado e salva na pilha 2 bytes referentes ao endereço de retorno. O apontador de pilha é decrementado de dois. 201AH 77 MOV M, A Copia o conteúdo do Acumulador para a posição de memória endereçada pelo par HL.
201BH C9 RET Retorno da sub-rotina. Retira da pilha 2 bytes colocando- os no PC.
201CH 00 NOP Não executa nenhuma operação.
201DH 36 FF MVI M,FFH Copia o dado especificado pelo segundo byte da instrução para a memória endereçada pelo par HL.
201FH 34 INR M Adiciona 1 ao conteúdo da memória endereçada pelo par HL. Flags alteradas (S Z AC P).
Figura 6 - Fluxograma do Programa 3
Tabela 3 - Programa 3
Endereço Hexa Mnemônico Comentário
LDA 2081H Copia para o Acumulador o conteúdo da memória cujo endereço é especificado.
2003H FE 00 CPI 00H Compara o byte especificado com o conteúdo do Acumulador. Flags alteradas: (Z, CY).
2005H CA 2B 20
JZ 202BH Testa a condição da Flag Z. Se verdadeira, desvia o^ fluxo do programa para o endereço especificado. (Verdade se Z = 1). 2008H 47 MOV B, A Copia o conteúdo do Acumulador para o registrador B.
LDA 2080H Copia para o Acumulador o conteúdo da memória cujo endereço é especificado.
200CH 67 MOV H, A Copia o conteúdo do Acumulador para o registrador H.
200DH FE 00 CPI 00H Compara o byte especificado com o conteúdo do Acumulador. Flags alteradas: (Z, CY).
200FH CA 2B 20
JZ 202BH Testa a condição da Flag Z. Se verdadeira, desvia o fluxo do programa para o endereço especificado. (Verdade se Z = 1). 2012H 11 00 00
Carrega o par de registradores DE com os bytes especificados.
2015H 0E 00 MVI C,00H Copia o dado especificado pelo segundo byte da instrução para o registrador C.
2017H 7C MOV A, H Copia o conteúdo do registrador H para o Acumulador.
2018H 82 ADD D Adiciona o conteúdo do registrador D ao conteúdo do Acumulador. O resultado fica no Acumulador. Flags alteradas (S Z AC P CY). 2019H 57 MOV D, A Copia o conteúdo do Acumulador para o registrador D.
STA 2083H Copia o conteúdo do Acumulador para o endereço de memória especificado.
201DH 3E 00 MVI A,00H Copia o dado especificado pelo segundo byte da instrução para o Acumulador.
201FH 8B ADC E Adiciona o conteúdo do registrador E e o bit de carry (CY) ao conteúdo do Acumulador. O resultado fica no Acumulador. Flags alteradas (S Z AC P CY). 2020H 5F MOV E, A Copia o conteúdo do Acumulador para o registrador E.
O ultimo programa é para dividir dois números de 8 bits.
Figura 8 - Fluxograma do Programa 4
Tabela 4- Programa 4
Endereço Hexa Mnemônico Comentário
2000H 3A 91 20 LDA 2091H Copia para o Acumulador o conteúdo da memória cujo endereço é especificado.
2003H 47 MOV B, A Copia o conteúdo do Acumulador para o registrador B.
LDA 2090H Copia para o Acumulador o conteúdo da memória cujo endereço é especificado.
Compara o byte especificado com o conteúdo do Acumulador. Flags alteradas: (Z, CY).
Testa a condição da Flag Z. Se verdadeira, desvia o fluxo do programa para o endereço especificado. (Verdade se Z = 1).
200CH 0E 00 MVI C,00H Copia o dado especificado pelo segundo byte da instrução para o registrador C.
Subtrai do Acumulador o conteúdo do registrador B. O resultado fica no Acumulador. Flags Alteradas (S Z AC P CY).
Testa a condição da Flag CY. Se verdadeira, desvia o fluxo do programa para o endereço especificado. (Verdade se CY = 1).
2012H 0C INR C Adiciona 1 ao conteúdo do registrador C. Flags alteradas (S Z AC P).
20 JMP 200EH^ Desvia o fluxo do programa para o endereço especificado.
Adiciona o conteúdo do registrador B ao conteúdo do Acumulador. O resultado fica no Acumulador. Flags alteradas (S Z AC P CY).
2017H 32 93 20 STA 2093H Copia o conteúdo do Acumulador para o endereço de memória especificado.