Desenvolva um programa em Simpletron Machine Language, que apresente a sequência de Tribonacci, definida recursivamente pela fórmula Fn = Fn-1 + Fn-2 + Fn-3, sendo F0 = 0, F1 = 1 e F2 = 1. O valor de n será fornecido pelo usuário, devendo ser um valor inteiro maior ou igual a zero. Por exemplo, caso o valor fornecido pelo usuário para n seja 6, o programa deverá apresentar como resposta a sequência de números 0 1 1 2 4 7 13. Caso o usuário forneça um valor inválido para n, o programa deverá apresentar como resposta o valor -1.
Posição | Palavra | Instrução |
---|---|---|
00 | +1022 | read N |
01 | +2022 | load N |
02 | +4119 | branch negative to 19 |
03 | +1123 | write A |
04 | +4220 | branch zero to 20 |
05 | +2023 | load A |
06 | +3024 | add B |
07 | +3025 | add C |
08 | +2126 | store D |
09 | +2024 | load B |
10 | +2123 | store A |
11 | +2025 | load C |
12 | +2124 | store B |
13 | +2026 | load D |
14 | +2125 | store C |
15 | +2022 | load N |
16 | +3021 | add -1 |
17 | +2122 | store N |
18 | +4003 | branch to 03 |
19 | +1121 | write -1 |
20 | +4300 | halt |
21 | -0001 | constant -1 |
22 | +0000 | variable N |
23 | +0000 | variable A |
24 | +0001 | variable B |
25 | +0001 | variable C |
26 | +0000 | variable D |
Welcome to Simpletron!