One Instruction Set Computer

February 13, 2007

Quem me conhece da faculdade sabe que, nas últimas semanas, ando maravilhado com uma novidade: processador com uma única instrução. Para aqueles que não acreditam, procurem informações na internet! É verdade, é possível criar computadores com uma única instrução. A instrução baseia-se no seguinte: um byte para acessar uma posição de memória A, um byte para acessar uma posição de memória B e um byte para definir um OFFSET C, ficando cada operação com esta aparência genérica:

A B C

O que o processador realiza é a subtração do conteúdo da posição de memória A pelo conteúdo da posição de memória B, Armazenando esse resultado na posição A. Caso o resultado for negativo, o processador faz um jump para a posição do programa definido em C. Parece coisa de maluco, mas (para quem é nerd o suficiente para tentar =P) funciona.

Pois bem. Fiquei curioso e resolvi desenvolver um emulador. Um pouco mais robusto, faz diferença entre área de código e área de dados, mas funciona. Ainda tem alguns bugs, consigo ler do teclado, imprimir na tela, multiplicar posições, somar, diminuir (já é nativo… =P), setar valores, mover valores… Ainda falta fazer dividir, mas nada que um pouco de tempo livre não resolva. =)

Quem quiser fazer esta experiência, recomendo. É divertido!

Leave a Reply