iMática logo
iMática logo2
www.matematica.br

Emulador/Compilador "Computador à Gavetas"

[ Início | Emulador | Compilador | Download]

O Emulador tem 100 posições de memória, um acumulador, um dispositivo para entrada de dados, um dispositivo para saída de dados e 10 instruções (como sobrecarga de instrução na intrução "0"). Na figura abaixo está (de modo estático, é apenas uma figura) a interface Emulador do iCG.


Figura do Emulador contendo um programa com 17 instruções (programa para somar valores até ser digitado um 0)

O Emulador também implementa um recursos especial para educação. Ele pode ser incorporado de modo transparente ao sistema Moodle, utilizando outro pacote livre que disponibilizamos, o iTarefa. O Emulador ainda dispõe de recurso para autoria de exercícios com avaliação automática. Entretanto, ainda é necessário melhorar a interface para facilitar a tarefa de construção de exercícios (se você é programador e está disposto a colaborar, pegue o código fonte do iCG e tente melhor esta inteface...).

As instruções implementadas no iCG estão descritas na tabela abaixo.

  InstruçãoRepresentaçãoExplicação
0EEAC <- cEEacumulador recebe conteúdo da memória de endereco EE
1EEEE <- cACmemória de endereco EE recebe conteúdo do acumulador
2EEAC <- cAC + cEEacumulador recebe conteúdo do acumulador somado com conteúdo da memória de endereco EE
3EEAC <- cAC - cEEacumulador recebe conteúdo do acumulador menos o conteúdo da memória de endereco EE
4EEAC <- cAC * cEEacumulador recebe conteúdo do acumulador multiplicado pelo conteúdo da memória de endereco EE
5EEAC <- cAC / cEEacumulador recebe conteúdo do acumulador dividido pelo conteúdo da memória de endereco EE
6EEse cAC>0, faça EPI <- EEse conteúdo do acumulador for positivo (estrito), desvie execução para posição de memória EE
7EEleia valor e guarde em EEleia um valor e armazene-o na posição de memória EE
8EEescreva o valor em EEescreva o valor na posição de memória EE
9EEEPI <- EEdesvie execução para posição de memória EE
0-NAC <- N, sendo N inteirocarregue no acumulador a constante N (deve ser um inteiro entre -99 e 99)
000final de execuçãoinstrução que indica final de execução de programa (mesmo que no meio do código)
Tabela com códigos iCG: note que existem 2 tipos de instrução "0"

 

voltar
voltar