No começo dos anos 80, aprender programação era uma experiência muito diferente da atual. Não existiam vídeos tutoriais, fóruns especializados, cursos online ou inteligência artificial para responder dúvidas em segundos. Para qualquer jovem “micreiro” daquela época, descobrir como um computador realmente funcionava era quase uma aventura arqueológica.
A maioria começava no BASIC. A linguagem que vinha pronta na máquina. Bastava ligar o computador e o cursor piscando já parecia um convite: ]READY.
Ali nasciam os primeiros programas, jogos simples, cálculos, experiências gráficas e inevitáveis erros de sintaxe. O BASIC era amigável, direto e relativamente fácil de entender. Rapidamente o usuário aprendia variáveis, laços, GOTO, IF, PEEK e POKE. E justamente nesses dois últimos comandos começava a nascer a curiosidade. Porque os números misteriosos das posições de memória pareciam esconder alguma coisa maior.
Em algum ponto, aquele jovem leitor de revistas como a Micro Sistemas encontrava uma palavra quase mítica: assembler, ou “linguagem de máquina”. Os artigos prometiam coisas impressionantes: programas ultrarrápidos, efeitos impossíveis em BASIC e acesso direto ao hardware. Parecia magia. Mas havia um problema: quase ninguém explicava direito como aquilo funcionava.
No Brasil dos anos 80, literatura técnica era rara e cara. Livros importados eram praticamente inacessíveis. Muitas vezes, o único material disponível eram pequenas matérias em revistas, fotocópias emprestadas, manuais incompletos e listagens sem explicação. A grande maioria dos jovens programadores tentava aprender sozinho. E o tal do Assembler não ajudava muito.
Enquanto o BASIC parecia quase uma conversa em inglês simplificado, o assembler era formado por siglas misteriosas:
LD A,10
JP Z,40
INC HL
XOR A
Parecia código secreto, trocado entre espiões, em missão ultra secreta para salvar o planeta. O nome deles não ajudava muito: mnemônicos.
Vale aqui uma explicação: Assembly é o nome correto da linguagem, ou seja, esses códigos secretos ai em cima e Assembler é o nome do programa que compila eles, ou seja, traduz esses códigos para valores hexadecimais, que é a tal linguagem de máquina. Só que no comecinho de tudo ninguém tinha acesso a um compilador então o incauto escrevia esses códigos numa folha de papel e em seguida “traduzia” para o hexa (na mão). Daí o programador ser o próprio “assemblador” (assembler) e esse nome pegou, na época.
3E 0A - LD A,10
CA 28 00 - JP Z,40
23 - INC HL
AF - XOR A
O micreiro copiava rotinas inteiras sem compreender tudo. Alterava pequenos valores para descobrir o que acontecia. As vezes travava o computador completamente. Outras vezes conseguia produzir algo fascinante: um bloco (pixel) mais rápido, uma rolagem suave, um som diferente. Era comum passar horas tentando entender uma única instrução.
Muitos aprendiam copiando código de revistas, desmontando programas existentes, usando monitor de memória, observando bytes em hexadecimal e testando mudanças perigosas. Cada pequena descoberta parecia enorme.
Entender o que fazia um registrador era quase uma vitória científica. O Assembler aproximava o usuário da máquina de um jeito íntimo. E pela primeira vez o programador percebia que gráficos eram memória organizada, sons eram pulsos controlados, teclado e vídeo tinham endereços físicos e o processador executava tudo passo a passo, uma instrução de cada vez.
O computador deixava de ser uma caixa mágica e passava a ser algo compreensível. Essa descoberta mudava completamente a relação com a tecnologia.
Lá nos longínquos anos 80, programar em Assembler tinha muito de exploração científica e improviso. Frequentemente o programador não sabia exatamente o que estava fazendo, mas seguia adiante mesmo assim. Uma rotina funcionava “porque funcionava”. Um endereço de memória era anotado num caderno como um segredo precioso.
Muitas vezes o aprendizado vinha do erro, de resetar a máquina dezenas de vezes, de perder código por esquecer de salvar, de travar o sistema inteiro e descobrir conflitos de memória. Mas justamente essas dificuldades tornavam cada conquista memorável.
Para muitos “micreiros”, o grande objetivo era criar jogos parecidos com os que vinham em fita cassete ou apareciam nas revistas estrangeiras. E logo ficava claro que o BASIC tinha limites. O Assembler era o caminho para animações rápidas, colisões eficientes, múltiplos objetos na tela, sons melhores e rolagem de cenário.
Aprender Aassembler era quase um rito de passagem. Quem conseguia produzir algo funcional sentia que havia atravessado uma fronteira invisível.
A maior parte daqueles jovens ousados, no começo da década, aprendeu praticamente sozinha. Sem professores especializados. Sem internet. Sem documentação adequada. Havia apenas curiosidade, insistência, revistas, experimentação e paixão pela máquina.
Essa geração desenvolveu uma relação profundamente técnica e criativa com o computador. Não eram apenas usuários. Eram exploradores de sistemas.
Hoje é fácil esquecer o impacto daquele momento. Um adolescente sozinho no quarto, diante de uma televisão ligada a um microcomputador de 8 bits, digitando instruções misteriosas em hexadecimal e descobrindo, pouco a pouco, como uma máquina realmente pensava.
O Assembler não era apenas uma linguagem. Era a sensação de atravessar a superfície do computador e enxergar seu mecanismo interno, sua alma, funcionando pela primeira vez.
Game Designer formado em Desenho Industrial e Comunicação Visual, em 1981 pela PUC/RJ. Foi diretor técnico e editor da revista Micro Sistemas de 1983 até 1995. Produtor do site TILT online desde 1996. Autor de vários jogos para computador, tais como Amazônia, Serra Pelada, Aeroporto 83, Angra-I, Xingu, Resgate na Serra do Roncador, Pedra Negra, e muitos outros. Criador das ferramentas de produção e programação de jogos: Sistema Editor de Adventures, Zeus, Micro Aventuras e Projeto Gênesis.