Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

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

Programa em Simpletron Machine Language que apresenta o maior número de dois números fornecidos pelo usuário
PosiçãoPalavraInstrução
00+1009read A
01+1010read B
02+2009load A
03+3110subtract B
04+4107branch negative to 07
05+1109write A
06+4300halt
07+1110write B
08+4300halt
09+0000variable A
10+0000variable B
Welcome to Simpletron!

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