Você está na página 1de 3

ARQUITECTURA DE COMPUTADORES

4 Trabalho de Laboratrio

Programao Assembly
Objectivo: Pretende-se que os alunos compreendam a metodologia usada no desenvolvimento de programas em
assembly, incluindo o uso de perifricos e de rotinas de interrupo. A programao ser desenvolvida para o
processador P3, sendo utilizado um assemblador e um simulador disponibilizados para o efeito. O trabalho ter a
durao de duas semanas, devendo todo o projecto ser entregue na 2 aula de laboratrio. O trabalho dever ser
preparado fora do horrio de laboratrio, destinando-se as horas de laboratrio resoluo de eventuais problemas, e
demonstrao do trabalho realizado. essencial a consulta do texto Manual do Simulador do Processador P3, e
aconselha-se o estudo do programa de demonstrao disponibilizado. Este material est disponvel na pgina da cadeira.

JOGO DE TNIS - DESCRIO DE FUNCIONALIDADES

Pretende-se com este trabalho implementar uma verso do jogo de tnis para computador.
O jogo a implementar dever ter as seguintes caractersticas:
(1) ser disputado entre 2 jogadores e durar no mximo 2 minutos;
(2) apresentar o resultado e tempo restante do jogo em tempo real;
(3) permitir a escolha de 1 de 4 nveis de dificuldade (2 velocidades e 2 tamanhos de raquetes);
(4) permitir colocar o jogo em pausa e reiniciar e, ainda, iniciar ou parar o jogo a qualquer momento;

N1 01:27

G
1

G
2

G
3

G
4

Fig. 1 Janela de Placa e Janela de Texto para implementar o jogo de tnis.

1 de 3

JOGO DE TNIS - CARACTERSTICAS DE IMPLEMENTAO

A implementao das funcionalidades descritas para o parqumetro deve seguir as seguintes regras (ver fig. 1):
(1) Janela de Texto (1 Semana)
a.

Dever servir para representar o jogo. A representao dever incluir uma linha de meio campo, 2
traos representando as raquetes e o representando a bola. Os 4 nveis de dificuldade correspondem
a considerar 2 tamanhos para as raquetes (1/8 e 1/4 do nmero de linhas) e 2 velocidades para a bola e
para o movimento das raquetes.

b.

O campo de cada jogador deve ter 4 zonas de proximidade da rede e quanto mais perto da rede estiver
quando tocar na bola mais rpida deve seguir a bola. A velocidade deve aumentar sempre que o
jogador acerta na bola numa zona mais prxima da rede, na zona mais distante a velocidade ser 1, na
seguinte 2, depois 3 e, finalmente, 4 quando estiver na zona mais prxima da rede. O nmero de
pontos obtido corresponder velocidade com que a bola foi jogada.

c.

Considerar para o jogador da esquerda as teclas W, S, A e D, e para o da direita as teclas


I,J,K e L. Com estas teclas deve permitir deslocar a respectiva raquete para cima e para
baixo, para a direita e para a esquerda. Os movimentos para cima e para baixo devem corresponder a
um deslocamento da dimenso da raquete. Os movimentos para a direita e para a esquerda devem
colocar a raquete a meio da prxima zona do campo.

d.

O jogo acaba ao fim de 2 minutos ou quando um jogador fizer 20 pontos.

(2) Janela de Interface (2 Semana)


a.

LCD: No LCD dever ser apresentado (1) o tempo restante de jogo (2 minutos em contagem
decrescente); (2) o nvel de dificuldade do jogo (N1 a N4)

b.

DISPLAYS de 7 segmentos: Dever apresentar o resultado do jogo em tempo real.

c.

Botes de Interrupo: Devero ser utilizados conforme indicado na figura para dar incio ao jogo
de nvel 1 a 4 (G1 a G4), parar ou comear o jogo (S), reinicializar relgio e resultado (R), fazer uma
pausa (P).

d.

Interruptores: Os interruptores servem para introduzir uma password binria de 8 bits, s com a
configurao correta devem ser permitidas as interrupes.

e.

LEDS: Podem ser utilizados livremente por cada grupo, sejam criativos!.

(3) Memria de Dados:


a.

A memria de dados pode ser utilizada para guardar parte da informao relativa implementao das
vrias funcionalidades do jogo.

Todas as questes adicionais, sobre o funcionamento e implementao do jogo, no definidas no enunciado ficam ao
critrio de cada grupo, sejam criativos!

PREPARAO E PLANEAMENTO DO PROJECTO

Comece por estudar a arquitectura (a nvel do programador) e o conjunto de instrues do P3 (consulte [4]). Instale o
assemblador e o simulador do P3, e familiarize-se com o respectivo funcionamento e potencialidades (carregamento de
programas, simulao, visualizao do contedo dos registos, debug, perifricos disponveis, funcionamento das
interrupes, etc.). Teste essas funcionalidades e potencialidades atravs do desenvolvimento e anlise de pequenos
programas de teste:

Familiarize-se com a estrutura bsica dos programas em assembly para o P3;


Desenvolva rotinas para interaco com os perifricos disponibilizados (dado que essas rotinas sero quase
de certeza utilizadas no trabalho, conveniente desenvolver procedimentos genricos que possam ser
reutilizados posteriormente preocupe-se nomeadamente, com a passagem de parmetros para essas
rotinas);
Familiarize-se com a implementao e funcionamento de rotinas de interrupo e com o temporizador.

2 de 3

Utilize os conhecimentos adquiridos na cadeira de programao quando escrever o seu cdigo, nomeadamente no que
diz respeito estruturao e organizao de programas em subrotinas, e ainda no que diz respeito a comentrios e
documentao dessas subrotinas.

FASEAMENTO E AVALIAO

O trabalho decorrer durante duas semanas, devendo ser discutido, apresentado e entregue o relatrio na 2 aula de
laboratrio (Max. 10 pginas incluindo o cdigo comentado). O trabalho dever ser planeado e desenvolvido, tanto
quanto possvel, fora do horrio de laboratrio, sendo impossvel realiza-lo sem qualquer preparao prvia e apenas
durante as 3 horas de laboratrio.
Na 1 aula de laboratrio devem ser tiradas todas e quaisquer dvidas sobre o projecto. No 2 laboratrio apenas ser
efectuada a visualizao dos projectos.
O trabalho ser avaliado da seguinte forma:
1. Projecto a entregar na 2 aula de laboratrio (4 valores), que consiste no seguinte:

Fluxograma simplificado com a estrutura do programa desenvolvido. (1 val.);

Listagem do cdigo DEVIDAMENTE COMENTADO, onde sero avaliados a qualidade do cdigo


(estruturao, eficincia dos algoritmos, etc.) e a qualidade dos comentrios; (2 val.);

Apresentao do relatrio (1 val.);

Cdigo em formato digital (ficheiro(s) *.as), a ser recolhido pelo corpo docente, deve ser o mesmo cdigo que
seja apresentado no relatrio/listagem.

2. Funcionamento do programa (16 valores), avaliado nos seguintes pontos:

Janela de Interface
o

DISPLAY 7 Segmentos Resultado do jogo em tempo real: (1 Val.)

LCD Nvel do jogo, tempo de jogo restante (Temporizador): (2 Val.)

Interrupes Comeo do jogo, paragem, reinicializao, pausa e nveis de jogo: (4 Val.)

Interruptores - Password: (1 Val.)

Janela de Texto
o

Representao esttica do campo, das raquetes e da bola: (2 Val.)

Representao dinmica, i.e., movimento correto das raquetes e da bola: (6 Val.)

BIBLIOGRAFIA

[1] N. Horta, Arquitectura de Computadores, Aulas Tericas, 2013.


[2] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, 4th Edition Updated, PrenticeHall International, 2008.
[3] G. Arroz, J. Monteiro, A. Oliveira, Arquitectura de Computadores: dos Sistemas Digitais aos
Microprocessadores, IST Press, 2007.
[4] G. Arroz, J.C. Monteiro, A. Oliveira, Manual do Simulador do P3, IST, 2005

3 de 3

Você também pode gostar