TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Departamento de Ciências Exatas e Aplicadas Campus João Monlevade

Por:   •  15/12/2019  •  Trabalho acadêmico  •  802 Palavras (4 Páginas)  •  200 Visualizações

Página 1 de 4

MINISTÉRIO DA EDUCAÇÃO[pic 1][pic 2]

Universidade Federal de Ouro Preto – UFOP Departamento de Ciências Exatas e Aplicadas Campus João Monlevade

[pic 3]

8085 – Laboratório 4

Alunos: Hiago Freitas Amaral - 12.2.8052 Fabiany Alves Dolabela – 16.1.8382 Luisabelly de Castro Oliveira – 16.1.8041

Professor: Marcelo

10/2019

[pic 4]

Departamento de Ciências Exatas e Aplicadas – DECEA

Exercício 1:

Para a primeira lista de instruções, temos o valor 6 carregado no acumulador, e os endereços 1509 e 2000 carregados respectivamente no par B e o outro no par H. Após feitas as alocações de memória, um CMP foi utilizado para comparar o valor contido no registrador C com o conteúdo do acumulador, como o conteúdo do acumulador é menor que o conteúdo do registrador C, o flag CY foi setado. JZ é utilizado para realizar um salto, caso o flag de Z estivesse setado, aconteceria um salto para o fim da lista de instruções. Através do mnemônico INR o acumulador é carregado, e então uma nova comparação é realizada utilizando JC, caso o flag CY seja igual a 1, o algoritmo retorna para o label setado, nesse caso (COMPARA), e assim o loop é realizado até que o conteúdo do acumulador seja igual ao conteúdo do registrador C, ou seja, até que o flag Z seja igual a 1. Utilizando PCHL o algoritmo executa indefinidamente.

Exercício 2:

#ORG 2050H

#DB AAH,23H, BCH #ORG 2000H #BEGIN 2000H

LHLD 2050 //carrega o conteúdo de 2050 e 2051 no par H e L(invertido)

XCHG //coloca os valores contidos nos registradores H e L nos registradores D e E MOV A,E //Copia o conteúdo de E para o acumulador

CMP D //Compara com o valor em D

JC CY1 // Se o flag de cy =1 significa que o conteúdo do acumulador é menor que do registrador D

MOV B,E // se cy=0 o conteúdo de E é movido pra B MOV C,D // e o conteúdo de D é movido pra C

JMP JUMP // Pula para JUMP

CY1:        MOV B,D //Caso o flag seja 1, o conteúdo em D é carregado em B MOV C,E //O conteúdo de E é carregado em C

JMP JUMP

JUMP: LHLD 2052 // carrega o conteúdo de 2052 no par H e L XCHG // carrega o conteúdo de 2052 em E

MOV A,E // Move E, para o Acumulador

CMP B // Compara o valor do Acumulador com B JC CY12 // Se A

MOV D,C //Se não, C=D MOV C,B //B=C

MOV B,A //A=B

JMP JUMP1 //Pula para o endereçamento dos números ordenados a partir de 2070

CY12:        CMP C //Compara se A

MOV D,C // Se não, D=C MOV C,A / e C=A

JMP JUMP1 //Pula para o endereçamento dos números ordenados a partir de 2070

CY3: MOV D,A //Caso A seja menor que todos, é inserido em D;

JUMP1:LXI H,2070 //carrega o endereço 2070 no par H e Ç MOV M,B // carrega o conteúdo de B na memoria INX H //Incrementa 2070 para 2071

MOV M,C//Carrega o conteúdo de C na memoria

INX H //Incrementa 2071 para 2072

MOV M,D //carrega o conteúdo de D na memória. HLT

Comparar os conteúdos de 2050 com 2051 #ORG 2050H

#DB AAH,23H,BCH #ORG 2000H #BEGIN 2000H

LHLD 2050 XCHG MOV A,E CMP D

SECY=0: MOV D,B

MOV B,A MOV A,D JC SECY=0 CMP C

1SECY=0: JC SEGUE

MOV D,C MOV C,A MOV A,D JC 1SECY=0

...

Baixar como (para membros premium)  txt (4.7 Kb)   pdf (111.4 Kb)   docx (37.9 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com