Desenvolva um programa em Simpletron Machine Language, que apresente a somatória de 2 * k, sendo k = 1, 2, ..., n. 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 o valor 30, ou seja, (2 * 1) + (2 * 2) + (2 * 3) + (2 * 4) + (2 * 5). 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.
Posição | Palavra | Instrução |
---|---|---|
00 | +1018 | read N |
01 | +2018 | load N |
02 | +4114 | branch negative to 14 |
03 | +4214 | branch zero to 14 |
04 | +3317 | multiply 2 |
05 | +3019 | add S |
06 | +2119 | store S |
07 | +2018 | load N |
08 | +3016 | add -1 |
09 | +2118 | store N |
10 | +4212 | branch zero to 12 |
11 | +4004 | branch to 04 |
12 | +1119 | write S |
13 | +4300 | halt |
14 | +1116 | write -1 |
15 | +4300 | halt |
16 | -0001 | constant -1 |
17 | +0002 | constant 2 |
18 | +0000 | variable N |
19 | +0000 | variable S |
Welcome to Simpletron!