Você está na página 1de 1

RELATÓRIO

CALCULADORA MIPS

Introdução
Assembly é uma linguagem de baixo nível. Ela ainda não é linguagem de máquina, mas
é a que mais se aproxima disso, e diferentemente das linguagens compiladas (ex. C++),
ela não necessita de um compilador, mas sim de um montador, que vai montar o
programa dentro do processador. Assembly pode ser usado para qualquer coisa, desde
um simples procedimento em que você necessite de velocidade extra a um sistema
operacional completo. Comparado com programas escritos em linguagem de alto
nível, os programas em Assembly são rápidos e de tamanho pequeno (depois de
montados). Em contrapartida, seu código fonte é sempre maior do que o código fonte
escrito em uma linguagem de auto nível, mas isso não torna a linguagem Assembly
mais difícil: apenas mais trabalhosa.
Programa
A calculadora inicialmente contem um modulo que define um grupo de instruções e
que em seguida apresenta o inicio das instruções e definição das variáveis. Ao iniciar o
programa são carregadas instruções que mostram duas mensagens iniciais que é a se
saudação(informativa) e a que pede para digitação do primeiro valor para cálculo. O
que foi feito é empilhado. O primeiro valor é armazenado e é emitido um outra
mensagem onde diz que é necessário a escolha de um operador entre: + (soma), -
(subtração), * (multiplicação), / (divisão) e ‘q’ (sair). O caractere é lido e armazenado,
antes de ser armazenado existe uma verificação de operador onde pode haver um
salto condicional dependendo do dito cujo. Após essa etapa, uma nova mensagem é
emitida e é necessário a digitação de um novo valor para finalizar o cálculo. Após o
último valor ser digitado, uma mensagem será mostrada e logo em seguida o resultado
do cálculo será mostrado, obviamente dentro da limitações do código. Uma última
mensagem será mostrada automaticamente após o resultado da operação, que
possuirá uma instrução que indica que é necessário pressionar qualquer tecla para
finalizar o programa.
Detalhes
Na primeira mensagem podemos notar que só é possível a utilização de valores
inteiros e que os valores aceitos serão entre -32.768 e +32.767 (0 a 65.535 sem sinal).
Valores de entrada que serão aceitos irá de ‘ ‘ (branco ou vazio = zero) ou até ‘99.999’
(cinco dígitos). Caracteres especiais, strings (letras) serão ignorados, a não ser que
sejam digitados após a mensagem dos operadores e antes da mensagem do segundo
operando, nesse caso, se o símbolo não for um dos informados na mensagem, será
mostrado um erro de símbolo. As duas mensagens que solicitam os valores
(operando) podem ser deletadas. Não há um tratamento específico no caso de uma
divisão por 0(zero), consequentemente o programa trava e uma mensagem externa é
apresentada informando o erro por overflow.

Você também pode gostar