Divide string em 3 partes iguais
INSTITUTO DE INFORMÁTICA - DEPARTAMENTO DE INFORMÁTICA APLICADA
INF01107 - Arquitetura e Organização de Computadores I – Turma A - 2008
TrabalhoPrático 1 - Simulador NEANDER
Escrever um programa para o simulador Neander que implemente as quatro operações aritméticas básicas (soma, subtração, multiplicação e divisão) sobre números inteirospositivos, representados em complemento de dois (ou seja, os operados estão na faixa entre 0 e 127, inclusive).
Para a definição da operação devem ser obrigatoriamente utilizadas as seguintesposições:
Palavra 128 – primeiro operando da operação
Palavra 129 – segundo operando da operação
Palavra 130 – código da operação (1: soma, 2: subtração, 3: multiplicação, 4: divisão)Palavra 131 – resultado da operação
Palavra 132 – código de erro (veja abaixo)
Não é necessário realizar nenhum teste sobre a correção do resultado, ou seja, eventuais "vai-um" ou estouros derepresentação devem ser ignorados. A operação de divisão corresponde a uma divisão inteira, ou seja, o quociente é um número inteiro e o resto é descartado. A correção da entrada deve ser indicadaatravés dos seguintes códigos no endereço 132:
Código 0: entrada correta
Código 1: operando(s) fora da faixa, ou seja, negativo(s)
Código 2: operandos dentro da faixa, mas código deoperação inválido
Código 4: tentativa de divisão por zero
Em caso de erro, deve ser devolvido zero como resultado da operação.
Os valores das posições 128 a 130 de memória não devem seralterados pelo programa.
Dicas:
1. O simulador Neander não possui operação de subtração. Entretanto, uma subtração pode ser transformada em uma soma através do complemento do subtraendo.
2. Osimulador Neander não possui operação de multiplicação. Entretanto, uma multiplicação não é nada mais que uma série de somas