Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

Desenvolva um programa em Simpletron Machine Language, que apresente os n primeiros termos da sequência yk = yk-1 + k, 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 3 6 10 15. 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
y2 = y1 + 2 = 3
y3 = y2 + 3 = 6
y4 = y3 + 4 = 10
y5 = y4 + 5 = 15

 

Programa em Simpletron Machine Language que apresenta os n primeiros termos da sequência yk = yk-1 + k, sendo k = 1, 2, ..., n e y1 = 1
PosiçãoPalavraInstrução
00+1017read N
01+2017load N
02+4114branch negative to 14
03+4214branch zero to 14
04+1119write Y
05+3118subtract K
06+4215branch zero to 15
07+2018load K
08+3116subtract -1
09+2118store K
10+3019add Y
11+2119store Y
12+2017load N
13+4004branch to 04
14+1116write -1
15+4300halt
16-0001constant -1
17+0000variable N
18+0001variable K
19+0001variable Y
Welcome to Simpletron!