One Instruction Set Computer
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