Calculadora
Linguagem de Montagem no Simulador SPIM
Luiz Alves Fonseca Viana, Aquiles Campos, Vanielli Jardim e Richard Ibraim
Disciplina de Arquitetura de Computadores, Prof.: Luiz Drumond
{ nanabeatles87@hotmail.com},{aquilesmc89@gmail.com}, {vanielli.jardim1@gmail.com}, {richard_ibraim@ig.com.br}
Descrição
Neste trabalho, deve-se implementar, em linguagem de montagem, uma calculadora usando o simulador SPIM do processador MIPS.
1. Especificação do Trabalho
A implementação da calculadora deve apresentar as funções básicas de soma, subtração, multiplicação e divisão de inteiros. Ela deve receber pelo console como entrada, em seqüência, um inteiro, um sinal e outro inteiro. Então ela deve processar e mostrar o resultado na tela. Depois disso, ela deve aguardar por mais um sinal, seguido de inteiro, ou a tecla de reset. No primeiro caso, ela realiza a operação correspondente ao sinal (operando com o resultado já armazenado) e exibe o resultado na tela (console) usando uma chamada de sistema.
Para ajudar nas dúvidas sobre o SPIM e a implementação em assembly no MIPS, consulte a URL: http://www.cs.cornell.edu/w8/~tomf/notes/cps104/mips.html . Além disso, existem em anexo um exemplo de código em assembly (array.s) comentado para execução no SPIM.
O SPIM pode ser baixado na seguinte URL: http://www.cs.wisc.edu/~larus/SPIM/pcspim.zip .
2. Escrita do Relatório
O relatório deste trabalho deve respeitar este formato de arquivo (duas colunas, fonte tamanho 10). Os trabalhos que não seguirem o padrão não serão avaliados. No relatório, deve-se apresentar:
(i) Uma explicação do algoritmo usado para a implementação do código.
(ii) O código em linguagem de montagem todo comentado.
(iii) Pelo menos dois exemplos de execução com sucesso (mostrar o “screenshot” do estado dos registradores no início e final da execução)
3. Dicas
Ao iniciar a execução no SPIM, o código do kernel será executado primeiramente