Este trabalho consiste na elaboração de uma calculadora no MIPS Assembly para a disciplina de Microprocessadores e Arquitecturas.

Este projecto comtém os seguintes aspectos:

  • Tem de ter 6 funções;
  • Tem que informar o utilizador das funções disponíveis;
  • Tem de inquirir após o uso de uma função se o utilizador quer continuar a usar o programa;
  • Tem de efectuar uma função com 4 operandos;
  • Pode efectuar uma função com o nº de operandos escolhidos pelo utilizador;
  • Pode ter duas funções extra. Se tiver estas funções uma tem que ser a comparação de ordem de grandeza de 5 operandos.

Operadores

  • + = Adição
  • - = Subtracção
  • * = Multiplicação
  • = Divisão
  • ^ = Potência
  • < = Devolve o número menor
  • > = Devolve o número maior
  • Operadores Especiais:
    • c ou ESC = Limpa a conta
    • q = Sai do programa
    • ? = Ajuda do programa

 

 Reflexão

 

Foi utilizado a soma, subtracção, divisão, multiplicação, potência, comparação menor e maior como operadores. Não suportando mais que dois operandos, a calculadora segue a mesma logica das outras, onde o resultado da conta é sempre utilizado para a próxima operação que se fizer, deste modo evita que o utilizador especifique a quantidade de operandos poupando tempo e facilitando a utilização da mesma.

Usei as variáveis $s para guardar os números e o operador:

  • $s0 = Guarda o primeiro número            (int)
  • $s1 = Guarda o operador                       (char)
  • $s2 = Guarda o segundo número            (int)
  • $s3 = Resultado da conta                      (int)

Esta linguagem, sendo básica é difícil de se ter a percepção do que se trata determinado código sem utilizar comentários, devido às variáveis e às instruções que não são intuitivas.

Com este projecto consegui desenvolver uma aplicação simples e compreender o funcionamento desta linguagem.

Lógica da calculadora: (Calculadora -> Main -> Start -> [Calc -> Operação -> Resultado -> Calc])



Ver trabalho em: