Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

(Deitel, 2001) Desenvolva um programa em Simpletron Machine Language, que apresente a soma de dois números fornecidos pelo usuário. Por exemplo, caso os valores fornecidos pelo usuário sejam 2 e 7, o programa deverá apresentar como resposta o valor 9, ou seja, 2 + 7.

 

A instrução +1007 lê o primeiro número do teclado e o coloca na posição 07 (que foi inicializada com zero). Então, a instrução +1008 lê o próximo número para a posição 08. A instrução load, +2007, coloca o primeiro número no acumulador e a instrução add, +3008, adiciona o segundo número ao número no acumulador. Todas as instruções aritméticas da SML deixam seus resultados no acumulador. A instrução store, +2109, coloca o resultado de volta na posição 09 da memória de onde a instrução write, +1109, pega o número e o imprime (como um número decimal de quatro dígitos com sinal). A instrução halt, +4300, termina a execução.

Programa em Simpletron Machine Language que apresenta a soma de dois números fornecidos pelo usuário
PosiçãoPalavraInstrução
00+1007read A
01+1008read B
02+2007load A
03+3008add B
04+2109store C
05+1109write C
06+4300halt
07+0000variable A
08+0000variable B
09+0000variable C
Welcome to Simpletron!

Deitel, H. M. (2001). C++, como programar. 3ª edição. Porto Alegre: Bookman. 1.098 páginas.