3
1 de 3 ARQUITECTURA DE COMPUTADORES 4º Trabalho de Laboratório Programação Assembly Objectivo: Pretende-se que os alunos compreendam a metodologia usada no desenvolvimento de programas em assembly, incluindo o uso de periféricos e de rotinas de interrupção. A programação será desenvolvida para o processador P3, sendo utilizado um assemblador e um simulador disponibilizados para o efeito. O trabalho terá a duração de duas semanas, devendo todo o projecto ser entregue na 2ª aula de laboratório. O trabalho deverá ser preparado fora do horário de laboratório, destinando-se as horas de laboratório à resolução de eventuais problemas, e à demonstração do trabalho realizado. É essencial a consulta do texto “Manual do Simulador do Processador P3”, e aconselha-se o estudo do programa de demonstração disponibilizado. Este material está disponível na página da cadeira. 1 JOGO DE TÉNIS - DESCRIÇÃO DE FUNCIONALIDADES Pretende-se com este trabalho implementar uma versão do jogo de ténis para computador. O jogo a implementar deverá ter as seguintes características: (1) ser disputado entre 2 jogadores e durar no máximo 2 minutos; (2) apresentar o resultado e tempo restante do jogo em tempo real; (3) permitir a escolha de 1 de 4 níveis 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 P P A S S G 1 R G 2 G 3 G 4 W O R D S Fig. 1 Janela de Placa e Janela de Texto para implementar o jogo de ténis.

Lab4 MEEC

Embed Size (px)

DESCRIPTION

LAB4 IST MEEC

Citation preview

  • 1 de 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.

    1 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

    P

    P A S S

    G

    1

    R

    G

    2

    G

    3

    G

    4

    W O R D

    S

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

  • 2 de 3

    2 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!

    3 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.

  • 3 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.

    4 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.)

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

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

    o Interruptores - Password: (1 Val.)

    Janela de Texto

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

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

    5 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, Prentice-Hall 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