Você está na página 1de 4

Aprendizagem do NeanderWin: Criao e Execuo de Programas

Alisson Martins de Souza (1) Marlon Nolio Cavalcante Nunes (2) Thiago Neves (3) Alunos do curso de Sistemas de Informao Noturno 2012.2 Professora Raquel da Silva Cabral Estcio/Fal Jatica Av. Pio XII, 70 Jatica CEP: 57035-560 Tel: (82) 3214-6800 e-mail: (1) alisson_msouze@hotmail.com (2) mcnunes@gmail.com (3) thiagoneves.estacio@gmail.com
Macei, 20 de novembro de 2012

RESUMO Este artigo visa responder perguntas acerca do simulador neanderwin, afim de entender seu funcionamento para podermos realizar estes e aprofundar nossos conhecimentos sobre arquiteturas de computadores. IDENTIFICAR AS PARTES DO SIMULADOR DESCREVENDO UM BREVE ROTEIRO DE COMO GERAR E EXECUTAR UM PROGRAMA. O simulador composto de: - Editor de textos; - Montador (assembler); - Simulador de arquitetura; - Visualizador da memria simulada; - Ferramenta de apoio ao aprendizado de instrues; - Utilitrio para converso de bases; - Simulador de visor e painel de chaves; - Gerador/carregador de imagem da memria simulada. Para gera e executar um programa segue-se o seguinte roteiro: 1 Usar o editor de textos para inserir as instrues; 2 definir a posio de memria das variveis envolvidas; Ex: a EQU 128 3 Indicar a posio de memria do incio do programa; Ex: ORG 0 4 Atribuir ao acumulador o contedo da posio de memria de uma das variveis; Ex: LDA a 5 Adicionar o contedo de outra varivel ao valor contido no acumulador; Ex: Add b 6 Transferir o valor das operaes efetuadas no acumulador para para a posio de memria de outra varivel; Ex: STA soma 7 Imprimir o valor para um dispositivo externo (visor);

Ex: OUT 8 Fim Ex: HLT

Aps executar esses passos, clicar no menu Compilar. LISTA DAS INSTRUES DISPONVEIS COM O RESPECTIVO FORMATO E DESCRIO. 'NOP' cdigo 0 - O comando NOP usado apenas para gastar tempo. 'STA ender' cdigo 2 - O comando STA guarda o acumulador na posio de memria indicada pelo operando ender. 'LDA ender' cdigo 2 - O comando LDA atribui ao acumulador o contedo da posio de memria indicada pelo operando ender. 'ADD ender' cdigo 3 - O comando ADD soma ao acumulador o contedo de uma posio de memria indicada pelo operando ender. 'SUB ender' cdigo 4 - O comando ADD soma ao acumulador o contedo de uma posio de memria indicada pelo operando ender. 'OR ender' cdigo 5 - O comando OR realiza um "ou" lgico entre o acumulador e o contedo de uma posio de memria indicada pelo operando ender. 'AND ender' cdigo 6 - O comando AND realiza um "e" lgico entre o acumulador e o contedo de uma posio de memria indicada pelo operando ender. 'NOT ender' cdigo 7 - O comando NOT inverte os bits do acumulador ender. 'JMP ender' cdigo 8 - O comando JMP (jump) desvia a execuo do programa para o endereo indicado pelo operando ender. 'JN ender' cdigo 9 - O comando JN (jump if negative) desvia a execuo do programa para o endereo indicado pelo operando ender, apenas quando a ltima operao realizada produziu um valor com o bit 7 ligado (negativo). 'JZ ender' cdigo 10 - O comando JZ (jump if zero) desvia a execuo do programa para o endereo indicado pelo operando ender, apenas quando a ltima operao realizada produziu um valor zero. 'JNZ ender' cdigo 11 - O comando JNZ (jump if not zero) desvia a execuo do programa para o endereo indicado pelo operando ender, apenas quando a ltima operao realizada produziu um valor diferente de zero.

'IN ender' cdigo 12 - O comando IN (input) traz para o acumulador o valor lido num dispositivo externo indicado pelo operando ender. Em no simulador Neanderwin os dispositivos so: chaves (endereo 0)e o status de "dado disponvel" das chaves (endereo 1). 'OUT ender' cdigo 13 - O comando OUT (output) descarrega o contedo do acumulador em um dispositivo externo indicado pelo operando ender. Em no simulador Neanderwin o nico dispositivo disponvel um visor(endereo 0). 'LDI imed' cdigo 14 - O comando LDI (load immediate) carrega no acumulador o valor dado pelo operando imed. 'HLT' cdigo 15 - O comando HLT (halt) para a mquina. Modos de Endereamento: imediato - O segundo byte da instruo o operando. A nica instruo que usa este modo de endereamento a LDI. direto - O segundo byte da instruo o endereo de memria do operando. indireto - O segundo byte da instruo contm o endereo de memria onde est o endereo do operando (ou seja, o segundo byte da instruo o endereo do ponteiro para o operando). Para indicar que um operando indireto, deve-se preced-lo pela letra "@" (arrba) 2) Comentrios no programa - Os comentrios so comeados por ponto e vrgula, e podem tambm ocorrer no final das linhas de instrues. 3) Rtulos - Um rtulo um nome dado prxima posio de memria. O nome seguido por dois pontos. 4) Pseudo Instrues: ORG ender - A pseudo-instruo ORG (origin) indica ao montador que a prxima instruo ser colocado na posio ender de memria. var EQU imed - A pseudo-instruo EQU (equate) atribui um nome (rtulo) a um certo valor. Esse comando frequentemente usado para especificar variveis que so posicionadas em um endereo especfico de memria. Por exemplo para posicionar a varivel x no endereo 100 use:X EQU 100 END ender - A pseudo-instruo END indica que o programa fonte acabou. O operando ender usado para pr-carregar o PC com o endereo inicial de execuo do programa. DS imed - A pseudo-instruo DS (define storage) reserva um nmero de palavras na memria definido pelo valor imed. DB imed - A pseudo-instruo DB (define bytes) carrega esta palavra com o valor dado pelo operando imed.

O SEGUINTE PROGRAMA EXECUTA A SOMA DE DUAS VARIVEIS DE 8 BITS REPRESENTADAS EM COMPLEMENTO A DOIS. CONSIDERANDO AS POSIES (EM DECIMAL) A SEGUIR: INCIO DO PROGRAMA: 0 INCIO DA REA DE DADOS: 128 POSIO DA 1 VARIVEL: 128 POSIO DA 2 VARIVEL: 129 POSIO DO RESULTADO: 130 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ;--------------------------------------------------; Programa: soma de duas variveis de 8 bits ; Autor: Alisson Martins de Souza, Marlon Nunes e Thiago Neves ; Data: 12/11/2012 ;--------------------------------------------------a EQU 128 ; posio da 1 varivel b EQU 129 ; posio da 2 varivel soma EQU 130 ; posio do resultado ORG 0 20 80 LDA a 30 81 ADD b 10 82 STA soma D0 00 OUT 0 F0 HLT ; Fim ; Inicio do programa ; ; resultado da soma ; impresso do resultado

00 02 04 06 08

Listagem da tabela de smbolos Smbolo A B SOMA Linha Endereo 5 080 6 081 7 082

REFERENCIAS BIBLIOGRAFICAS NeanderWin Um Simuladir Didtico para uma Arquitetura do Tipo Acumulador: http://www.dcc.ufrj.br/~gabriel/WEAC2006.pdf NeanderWin Resumo operacional: http://pt.scribd.com/doc/57494377/NeanderWin