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])