Desenvolva um programa em Simpletron Machine Language, que apresente o produto dos n primeiros números positivos. O valor de n será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o valor fornecido pelo usuário para n seja 5, o programa deverá apresentar como resposta o valor 120, ou seja, 1 * 2 * 3 * 4 * 5. 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 | +1014 | read N |
| 01 | +2014 | load N |
| 02 | +4110 | branch negative to 10 |
| 03 | +4212 | branch zero to 12 |
| 04 | +3315 | multiply F |
| 05 | +2115 | store F |
| 06 | +2014 | load N |
| 07 | +3016 | add -1 |
| 08 | +2114 | store N |
| 09 | +4003 | branch to 03 |
| 10 | +1116 | write -1 |
| 11 | +4300 | halt |
| 12 | +1115 | write F |
| 13 | +4300 | halt |
| 14 | +0000 | variable N |
| 15 | +0001 | variable F |
| 16 | -0001 | constant -1 |
Welcome to Simpletron!