(Deitel, 2001) Desenvolva um programa em Simpletron Machine Language, que apresente o maior número de dois números fornecidos pelo usuário. Por exemplo, caso os números fornecidos pelo usuário sejam 7 e 4, o programa deverá apresentar como resposta o valor 7, que é o maior número entre os dois números fornecidos pelo usuário.
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.
| Posição | Palavra | Instrução |
|---|---|---|
| 00 | +1009 | read A |
| 01 | +1010 | read B |
| 02 | +2009 | load A |
| 03 | +3110 | subtract B |
| 04 | +4107 | branch negative to 07 |
| 05 | +1109 | write A |
| 06 | +4300 | halt |
| 07 | +1110 | write B |
| 08 | +4300 | halt |
| 09 | +0000 | variable A |
| 10 | +0000 | variable B |
Welcome to Simpletron!
Deitel, H. M. (2001). C++, como programar. 3ª edição. Porto Alegre: Bookman. 1.098 páginas.