Desenvolva um programa em Simpletron Machine Language, que apresente os n primeiros termos da sequência yk+1 = 2 * yk, sendo k = 1, 2, ..., n e y1 = 1. O número de termos será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o número de termos fornecido pelo usuário seja 5, o programa deverá apresentar como resposta a sequência de valores 1 2 4 8 16. Caso o usuário forneça um valor inválido para o número de termos, o programa deverá apresentar como resposta o valor -1.
y1 = 1
Posição | Palavra | Instrução |
---|---|---|
00 | +1017 | read N |
01 | +2017 | load N |
02 | +4113 | branch negative to 13 |
03 | +4213 | branch zero to 13 |
04 | +1118 | write S |
05 | +2018 | load S |
06 | +3316 | multiply 2 |
07 | +2118 | store S |
08 | +2017 | load N |
09 | +3015 | add -1 |
10 | +4214 | branch zero to 14 |
11 | +2117 | store N |
12 | +4004 | branch to 04 |
13 | +1115 | write -1 |
14 | +4300 | halt |
15 | -0001 | constant -1 |
16 | +0002 | constant 2 |
17 | +0000 | variable N |
18 | +0001 | variable S |
Welcome to Simpletron!