Computadores e Programação é uma disciplina obrigatória do curso de Ciência da Computação da UFRJ, ministrada por Nelson Quilula Vasconcelos.
Na primeira parte do curso, é ensinado o assembly da Máquina 2002, que é uma "máquina" que o prof. Quilula projetou no ano de 2002 para dar o curso de Comp. Prog. A Máquina 2002 é composta por um teletipo, uma memória de 64KB, e um processador com quatro registradores de 8 bits, dois registradores de 16 bits e um registrador de flags (desconsiderando os registradores usados para acesso à memória). A Máquina 2002 possui apenas 256 instruções, portanto é de fácil aprendizado.
A Máquina 2002 não existe de verdade, em hardware. Ela é emulada a partir de um emulador que roda em DOS, criado pelo próprio Quilula. Além disso, existe um assembler (montador) disponível.
Na segunda parte do curso, é ensinado o assembly para a arquitetura Intel x86.
"Teletipo" é uma tradução incorreta do termo em inglês "teletype". Tele quer dizer longe; type, neste contexto, quer dizer digitar, e não tipo. Um "teletype" era composto de um teclado e de uma impressora ou monitor, e era usado no início da computação como uma forma de comunicação bidirecional entre o usuário e o computador (que na época tinha o tamanho de vários armários).
Um guia básico de como usar a Máquina 2002 está disponível. É voltado para quem nunca usou o montador, carregador ou emulador da Máquina 2002, mas já tem um conhecimento básico do assembly e de sua arquitetura.
Programas criados por alunos, com diversas finalidades e utilidades.
| Arquivo fonte (assembly) | Arquivo objeto (hexadecimal) | Autor | Última modificação | Descrição |
|---|---|---|---|---|
| contador.asm | contador.o | Denilson | 2004-09-22 | Conta quantas vezes cada byte foi lido. As quantidades ficam armazenadas em nos endereços 0FFxxh, onde xx é valor do byte lido. |
| echonum.asm | echonum.o | Denilson | 2004-09-23 | Contém várias funções úteis:
|
| dump.asm | dump.o | Denilson | 2004-09-22 | Faz um "memory dump", ou seja, imprime todo o conteúdo da memória. Algumas vezes é útil para debug. |
| dumper3.asm | dumper3.o | Denilson | 2006-04-11 | Interactive Memory Dumper permite visualizar o conteúdo de qualquer região de memória da Máquina 2002. Exibe o "dump" em formato raw e em hexadecimal. Como o nome diz, é interativo. Possui um pequeno prompt. Versões anteriores: 0.1, 0.2 |
| gerador.asm | gerador.o | Denilson | 2004-09-22 | Imprime todos os bytes de 0 a 255. |
| ppm.asm | ppm.o | Denilson | 2004-09-22 | "Imprime" uma imagem. Na verdade, o código da imagem é impresso. Insira uma "fita" na Máquina 2002 para salvar essa imagem num arquivo (extensão ppm) e depois abri-la em algum visualizador de imagens. |
| smile.asm | smile.o | Denilson | 2004-09-22 | Faz um "smile" ficar andando de uma lado para o outro na tela. Talvez rode rápido demais. O ideal é rodar a Máquina 2002 dentro de emulador (como o DOSBox) para poder limitar a velocidade. |
| sokoban.asm | sokoban.o | Denilson | 2005-03-31 | Jogo "sokoban", com suporte a múltiplos níveis. Página dedicada ao Sokoban. |
| vogais.asm | vogais.o | Alexandre Oliveira | 2004-09-27 | Conta quantas vogais maiúsculas são lidas. A comparação com as vogais é feita com uma "busca binária" (ou árvore binária). |
Professor Quilula gentilmente cedeu o código-fonte da Máquina 2002. Para compilar, é necessário usar o TASM.
Esta página foi útil para você? Tem alguma sugestão? Alguma crítica? Algum ponto onde esta página possa ser melhorada? Deseja adicionar algum código (seu ou não)? Por favor entre em contato: denilsonsa@gmail.com