Algumas considerações sobre meu antigo “Curso de Assembly” da RBT

É sempre um prazer conhecer pessoas que tiveram contato com a linguagem assembly via meu, agora meio caduco, curso de assembly da RBT… Para esses leitores, devo indicar alguns alertas:

Primeiro: Tenham em mente que, na época que o “curso” foi escrito (há 20 anos atrás!) a arquitetura Intel mais usada era o 286. Pouco depois do início do curso coloquei minhas mãos num 386DX (40 MHz!) e comecei a experimentar o uso de registradores de 32 bits (sem tocar no “modo protegido”). Muita coisa mudou de lá pra cá:

  • Hoje em dia, não se “encosta a mão” nos registradores “seletores de segmento”. Isso é meio que proibido, no modo x86_64;
  • Segmentos não têm mais, necessariamente, 64 kB de tamanho… Um segmento pode ter 4 GB ou mais de tamanho;
  • Depois do curso, arquiteturas como 486, Pentium, Pentium Pro, Pentium II, Pentium III, Pentium IV, Core2, Core2 Duo, Core i5 e Core i7 surgiram com novidades e modificações;
  • Técnicas de otimização diferentes aplicam-se a arquiteturas diferentes;
  • Acesso direto aos controladores de placas-de-vídeo, agora, só é possível via device drivers ou ao nível de kernel;
  • Coisas como EMM386.EXE e HIMEM.SYS não existem mais;

Ainda, o curso inteiro é dedicado a arquitetura Intel…. Nada é falado sobre ARM, ATmel, PIC, PowerPC, MIPS, etc… arquiteturas diferentes têm instruções, registradores e modos de fazer as coisas diferentes…

Se, ainda assim, vocẽ gostou do curso, recomendo a instalação de emuladores de DOS (16 bits), como o DOSBox; ou, ainda, instalação de DOS em máquinas virtuais (como o FreeDOS o o próprio MS-DOS)… Mas, a recomendação mais interessante seria estudar as arquiteturas mais novas (e bem mais complexas). A Intel ainda disponibiliza, gratuitamente, os manuais de desenvolvimento de software para suas CPUs aqui.

Mas, esteja avisado: Desenvolver uma aplicação totalmente em assembly, hoje em dia, está praticamente fora de questão! Isso não significa que assembly seja inútil… Dá pra aprender um bocado sobre seus próprios códigos vendo o que o compilador faz com ele, por exemplo…

Anúncios

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s