You are on page 1of 3

Tutorial para uso do Simulador do Computador NEANDER Considere o problema de determinar o maior inteiro (positivo) entre trs variveis:

A, B e C, e armazenar o resultado numa quarta varivel, RES. Vamos adotar a conveno do livro texto (WEBER, 2002) e u sar os endereos de memria entre [128..255] para armazenar dados e constantes. Sendo assim, nossa rea de dados da memria do Neander ficar assim:

Figura 1 - Memria do Neander

Conforme resolvido em sala, uma possvel soluo para este problema est no cdigo a seguir:
if ((A-B)<0) { if ((B-C)<0) RES=C else RES=B; } else { if ((A-C)<0) RES=C else RES=A; }; End. 0 2 3 5 7 9 11 12 14 16 18 20 Instruo LDA 129; (AC=B) NOT ; (complementa B) ADD 132; (soma 1 em B) ADD 128; (soma com A) JN 26 ; (se negativo, B maior, salta para 26) LDA 130; (AC=C) NOT ; (complementa C) ADD 132; (soma 1 em C) ADD 128; (soma com A) JN 22 ; (se negativo, C maior, salta para 22) LDA 128; (A maior, AC=A) JMP 37; (salta para End. 37) End 22 24 26 28 29 31 33 35 37 39 Instruo LDA 130; (C maior, AC=C) JMP 37 ; (salta para End. 37) LDA 130; (AC=C) NOT; (complementa C) ADD 132 ; (soma 1 em C) ADD 129 ; (soma com A) JN 22; (se negativo, C maior, salta para 22) LDA 129; (B maior, AC=B) STA 131; (RES=AC) HLT ; (fim)

O simulador apresenta a interface dividida em trs partes:

Programa A seta ao lado da coluna de endereos indica o endereo da instruo que ser executada (PC). Observe que, por padro o programa comea no endereo 0. No canto inferior direito h uma pequena caixa de texto onde dever ser inserido o cdigo numrico em decimal da instruo que ir ocupar o endereo apontado pela seta verde (PC). Por exemplo, no nosso programa, seria a instruo LDA 129. Logo preenche-se 32 (cdigo da instruo LDA, livro pgs. 50 e 51) e em seguida ENTER. A seta verde ir mover-se para o endereo 1, onde deveremos entrar com o valor 129, outro byte componente da instruo, em seguida ENTER. A seta ir mover-se para o endereo 2, correspondente segunda instruo de nosso cdigo. No canto inferior esquerdo, em vermelho, h uma caixa de texto denominada BP. Nesta caixa permitido a voc a insero de um endereo de memria (instruo, 0 a 127) onde ocorrer um breakpoint durante a execuo do programa.

Neander Nesta janela so mostrados os valores (contedo) dos registradores PC e AC, os bitz N e Z, sob a forma de apagado (0) e aceso (1). Na caixa denominada Execuo o nmero de execues e instrues do programa carregado exibido. Na caixa Instruo um decodificador para as instrues mostra o valor numrico dos 16 bits dessa instruo (8bits+8bits) e o seu significado no cdigo (livro pgs. 50 e 51). A exibio pode ser feira em decimal [0..9] ou hexadecimal [0..F]. Os botes indicam, respectivamente: execuo direta e execuo passo-a-passo. A tabela Mneumnicos apresenta as instrues do Neander e seu cdigo em decimal (livro pgs. 50 e 51) para auxiliar o preenchimento das instrues na tela Programa.

Dados Corresponde aos endereos de memria situados entre [128..255] e destinado ao preenchimento de valores nos endereos das variveis e das constantes do programa na rea de dados da memria do Neander. O preenchimento feito atravs da caixa de texto no canto inferior direito da janela Dados e, na figura ao lado, mostra que o endereo 132 foi inicializado com a constante 1, a varivel A foi inicializada com o valor 65, B com 8 e C com 200. RES no importa valor inicial.

O simulador permite tambm que um arquivo seja salvo no formato .MEM (exclusivo dele) ou no formato texto .TXT. Porm, a abertura (carregamento) de um arquivo salvo s possvel no formato .MEM. Ambas opes podem ser acessadas no menu Arquivo da janela Neander.

You might also like