Buscar

P2 2010.1

Prévia do material em texto

UERJ  ENGENHARIA DE SISTEMAS E COMPUTAÇÃO 17/06/10
2a Prova (P2) DE FUNDAMENTOS DE COMPUTADORES DIGITAIS I
ALUNO: ...........................................................................................................................................
	
1a QUESTÃO (3,0 pontos) :
	O mapa de memória abaixo representa uma área de dados para ser utilizada por um programa escrito em Assembly Z80. Nesta área estão 2 Blocos de Memória, BLOC1 e BLOC2, com, respectivamente, 200 e 100 posições, uma mensagem (“Amo Z80!”) e alguns bytes. XX indica que o conteúdo de memória, naquela posição, não deve ser inicializado, apenas o espaço deve ser reservado. Todos os valores indicados no mapa de memória são hexadecimais.
 	Pede-se a codificação de um trecho do programa em Assembly Z80, que declare esta área, usando-se labels (rótulos) e diretivas (pseudo- instruções ORG, DEFS, DEFB, DEFW, etc). 
Nota: O valor ASCII de um caracter P, por exemplo, pode ser representado por 'P', bem como os valores ASCII de uma cadeia de caracteres c1c2...cn podem ser representados por 'c1c2...cn' .
	endereços
	conteúdos
	labels
	
	
	
	
	
	
	16A0
	XX
	BLOC1
	
	XX
	
	
	.
	
	
	.
	
	
	.
	
	
	XX
	
	
	XX
	BLOC2
	
	XX
	
	
	.
	
	
	.
	
	
	.
	
	
	XX
	
	
	‘A‘
	MENS
	
	‘M‘
	
	
	‘O‘
	
	
	‘‘
	
	
	‘Z‘
	
	
	8
	
	
	0
	
	
	‘!‘
	
	
	‘$‘
	
	
	30
	CONSTAN
	
	FF
	
	
	12
	
	
	07
	
	
	CB
	
	
	
	
	
	
	
	
	2a QUESTÃO (3,0 pontos) :
	Seja o trecho de programa, em Assembly Z-80, contido na coluna "Listagem" do Quadro abaixo. Complete a coluna "Montagem" com os endereços das instruções na Memória Principal e os códigos de máquina (objeto) das mesmas. Em seguida, complete a coluna "Execução", escrevendo os valores assumidos pelos registradores e flags, após a execução de cada instrução. Utilize sempre a representação hexadecimal.
	O primeiro conjunto de valores da coluna "Execução" representa os conteúdos, em hexadecimal, dos registradores e flags, imediatamente antes da busca e execução da instrução RR C.
	
	LISTAGEM
	MONTAGEM
	EXECUÇÃO
	
	END.
	CÓD.
	PC
	SP
	A
	B
	C
	D
	E
	H
	L
	P/V
	CY
	Z
	S
	
	
	
	1900
	1A68
	28
	00
	07
	60
	A0
	18
	52
	1
	0
	1
	0
	SEGUE EQU 1960H
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	 RL C
	1900
	CB01
	1902
	1A68
	28
	00
	0D
	60
	A0
	18
	52
	1
	0
	0
	0
	 CP 70H
	1902
	FE70
	1904
	1A68
	70
	00
	0D
	60
	A0
	18
	52
	1
	0
	0
	0
	 JP C, SEGUE
	1904
	DA1960
	1907
	1A68
	70
	00
	0D
	60
	A0
	18
	52
	1
	0
	0
	0
3a QUESTÃO (4,0 pontos) :
	Escrever uma subrotina, em Assembly Z-80, que procura o byte de maior valor num Bloco de Memória com 100 bytes não-sinalizados, cujo início é apontado por DE. A subrotina, que deverá se chamar MAXBYTE, coloca o valor do maior byte imediatamente depois do fim do Bloco. A subrotina deve manter o contexto em que foi chamada, isto é, deverá retornar sem alterar os conteúdos dos registradores e flags.

Continue navegando