(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.