Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

Resumo primeiro exercício de Microprocessador 2013

Por:   •  6/11/2018  •  2.807 Palavras (12 Páginas)  •  290 Visualizações

Página 1 de 12

...

O programa permuta os dados1 ↔ dados2 através do XCHG que permuta os dados D ↔ H e E ↔ L. A permutação ocorre dado por dado. Os dados finais ficarão:

dados1 26h, F2h, E4h, 34h, 87h, 54h, 90h, 33h, BFh, 20h

dados2 10h, 35h, 22h, 16h, 33h, 25h, 27h, 6Ah, FFh, 12h

(b) Desenhe uma tabela mostrando os endereços e o conteúdo da pilha após a execução da instrução CALL 0200h.

O acumulador CALL antes de executar a sua sub-rotina envia para a pilha o próximo endereço:

404Eh

18h

SP[pic 1]

404Fh

00h

4050h

(c) Após a execução qual o maior valor a partir da posição 4000? E a partir de 4100?

Posição 4000h: F2h e Posição 4100h: FFh

(d) Mostre o que deve ser feito para garantir o correto uso das chamadas de sub-rotinas a garantir a corretude do programa.

Para o uso correto das chamadas de sub-rotina deve guardar, antes da execução da sub-rotina o endereço que segue na pilha, para depois, na volta da sub-rotina este endereço seja retirado da pilha para execução, e ainda, para retornar ao programa principal é necessária a instrução RET no final da sub-rotina de instrução CALL. Os dados normalmente armazenados são endereços de chamadas/retornos de sub-rotina e endereços de retorno de interrupções, que automaticamente armazenados pelo 8085 e ainda outros dados que podem ser armazenados pelo programador usando a instrução PUSH. Posteriormente esses dados são retirados da pilha usando a instrução POP. -1-

---------------------------------------------------------------

Acha Maior da Memória:

.define

BUFFER 4100h

.data 4100h

V2: DB 04h,05h,03h,02h,09h,07h

.org 0000h

LXI H,4100h

MVI B,00h

DENOVO:MOV A,M

CMP B

JC CONTINUA

MOV B,A

MOV D, H

MOV E, L

CONTINUA: INX H

MOV A,L

CPI 06h

JNZ DENOVO

MOV A, B

XCHG

HLT

Acha Menor:

; define variáveis

.define

BUFFER 4100H

.data 4100H

V2: DB 020,030,100,001,002,008,038

.ORG 0000H

LXI H,4100H

MVI B,0H

DENOVO: MOV A,M

CPI 038H

JNC CONTINUA

INR B

CONTINUA: INX H

MOV A,L

CPI 0AH

JNZ DENOVO

MOV M,B

FIM: HLT FIM

Acha Maior B e Menor C:

.define

BUFFER 4000H

.data 4000h v2: DB 5h,6h,9h,3h

.org 0000h

LXI H,4000H

MVI C,FH

MVI B,0H

DENOVO: MOV A,M

CMP B

JC CONT1

MOV B,A

CONT1: CMP C

JNC CONT2

MOV C,A

CONT2: INX H

MOV A,L

CPI 4H

JNZ DENOVO

MOV M,B

INX H

MOV M,C

HLT

Acha Zero

.DEFINE

BUFFER 4100H;

.data 4100H;

V2: DB 1,0,2,0,0,4,6,6,5,9,0

.org 0000H

LXI H,4100H

MVI B,0

DENOVO: MOV A,M

CPI 0H

JNZ CONTINUA

INR B

CONTINUA: INX H

MOV A,L

CPI 0BH

JNZ DENOVO

MOV M,B

HLT

-2-

Contar o numero de zeros

.define

BUFFER 4100h

.data BUFFER

V2:DB

...

Baixar como  txt (20 Kb)   pdf (97.6 Kb)   docx (598.7 Kb)  
Continuar por mais 11 páginas »
Disponível apenas no Essays.club