Desenvolva um programa em Simpletron Machine Language, que apresente a exponenciação de uma base qualquer por um expoente positivo qualquer, ou seja, BE. O valor de E será fornecido pelo usuário, devendo ser um valor inteiro e positivo. O valor de B será fornecido pelo usuário, podendo ser um valor qualquer. Por exemplo, caso o valor fornecido pelo usuário para B seja 2 e para E seja 5, o programa deverá apresentar como resposta o valor 32, ou seja, 2 * 2 * 2 * 2 * 2. Caso o usuário forneça um valor inválido para E, o programa deverá apresentar como resposta o valor -1.
Posição | Palavra | Instrução |
---|---|---|
00 | +1017 | read B |
01 | +1018 | read E |
02 | +2018 | load E |
03 | +4114 | branch negative to 14 |
04 | +4212 | branch zero to 12 |
05 | +3016 | add -1 |
06 | +2118 | store E |
07 | +2019 | load P |
08 | +3317 | multiply B |
09 | +2119 | store P |
10 | +2018 | load E |
11 | +4004 | branch to 04 |
12 | +1119 | write P |
13 | +4300 | halt |
14 | +1116 | write -1 |
15 | +4300 | halt |
16 | -0001 | constant -1 |
17 | +0000 | variable B |
18 | +0000 | variable E |
19 | +0001 | variable P |
Welcome to Simpletron!