Elevação de numero com neanderwin

1030 palavras 5 páginas
a
Equipe:

Állef Araújo Lôbo
Carlos Eduardo Freitas
Luan Pereira Lima
Mauro Roberto Costa da Silva
Wisley Sousa Lima

b

A lógica por trás dos códigos

O processo de elevação de um número a a um valor b se dá através de b ciclos de multiplicações. Em um ciclo de multiplicação o multiplicador tendo como valor o a multiplica um multiplicando que inicialmente recebe valor 1 e nas próximas iterações passa a valer o produto da multiplicação anterior.


Por exemplo:

a = 2 b = 3
Portanto, ab = 2³ :


3 ciclos
1. 2 x 1 = 2
2. 2 x (resultado do ciclo 1) = 2 x 2 = 4
3. 2 x (resultado do ciclo 2) = 2 x 4 = 8

Sendo assim, 2³ = 8, pois depois dos b (3, no exemplo) ciclos de multiplicações o resultado encontrado é 8.

Apresentando o processador hipotético NeanderWin e o primeiro estado do programa

O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber
(UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida nesse simulador para incluir algumas instruções para carga de dados imediatos no acumulador e operações de entrada e saída de dados para dois dispositivos mapeados no simulador: um teclado e um visor.
Nesse primeiro estado do programa é definido na memória (janela Dados) o endereço
128 para guardar o valor da base (definido como 2), o endereço 129 para guardar o valor do expoente (definido como 3) e o endereço 130 é guardada o resultado da potenciação.
Nos demais endereços em que foram atribuídos valores irão contribuir auxiliando como contadores(endereços 131 a 134) e para preservar valores(endereço 135) que serão abordados mais a frente.

Programa de potenciação (ab) usando como exemplo os valores a
= 2 e b = 3
● 1ª etapa

É carregada o valor contido no endereço 129 para verificar se o valor é

Relacionados