Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

Desenvolva um programa em Simpletron Machine Language, que apresente a exponenciação de uma base qualquer por um expoente positivo qualquer, ou seja, BE. O valor de E será fornecido pelo usuário, devendo ser um valor inteiro e positivo. O valor de B será fornecido pelo usuário, podendo ser um valor qualquer. Por exemplo, caso o valor fornecido pelo usuário para B seja 2 e para E seja 5, o programa deverá apresentar como resposta o valor 32, ou seja, 2 * 2 * 2 * 2 * 2. Caso o usuário forneça um valor inválido para E, o programa deverá apresentar como resposta o valor -1.

 

Programa em Simpletron Machine Language que apresenta a exponenciação de uma base qualquer por um expoente positivo qualquer
PosiçãoPalavraInstrução
00+1017read B
01+1018read E
02+2018load E
03+4114branch negative to 14
04+4212branch zero to 12
05+3016add -1
06+2118store E
07+2019load P
08+3317multiply B
09+2119store P
10+2018load E
11+4004branch to 04
12+1119write P
13+4300halt
14+1116write -1
15+4300halt
16-0001constant -1
17+0000variable B
18+0000variable E
19+0001variable P
Welcome to Simpletron!