Menu

Compiladores da Linguagem Assembly

15 de agosto de 2015 - Compiladores

Compiladores da Linguagem Assembly

Compilador NASM32 &  FASM

 

Este curso será progressivo, então vou postar uma matéria eventualmente,  juntamente com o vídeo prático de como fazer o que foi aprendido na prática, o compilador será o MASM32 e o FASM (Flat Assembly), os 2 compiladores são bons, o primeiro (MASM32) não tem recurso 64 bits, mas conhecendo-o, é fácil passar a usar o FASM (com recrurso 64 bits), já que o básico da linguagem é o que interessa, e o MASM32 tem bastante exemplos, e isto é ótimo.
-=-
NASM

Sim, existe um outro chamado NASM, que é bem popular no Linux, mas todos compiladores fazem o mesmo serviço, e fazem muitobem, que é de montar o código, e transformar em binário para o processador executar.

O motivo pelo qual escolho o MASM32 para 32 bits é muito simples ! ele tem o maior arsenal de exemplos (que vi até agora) e é bem simples de entender e usar, e tudo que se precisa quando esta começando é entender as coisas e não sofrer tentando entender explicações.
-=-
8080/8086/8088/80XX

A história da intel começa a décadas atras, de fato ela passou a frente de suas principais concorrentes que é a Motorola e a Zilog, a motoroloa sempre foi, desde os anos 80 o processador mais bem falado do mercado, esquentava menos, era mais barato,etc … mas por uma destes ironias do destino, não foi parar no coração do PC. E o motivo, óbvio que foi comercial, quando Bill Gates resolveu fechar acordo com a IBM para fornecer o D.O.S. (Disk Operational System), tentou comprar o CP/M da DIgital Research de Gary Kildal … mas .. Kildall sequer atendeu a equipe da Microsoft, que na época era um bando de rapazes com cara de nerd, de uma empresa minúscula chamada Microsoft …. depois de dar com cara na porta da Digital Research (que era maior que a microsoft), procurou outro sistema, o que se torno o MS-DOS, desta vez eles foram atendidos e pagaram 50 mi dolares pelo sistema que depois foi melhorado e se transformou no PC-DOS da ibm, e vendido pela microsoft com o nome de MS-DOS, começava aí a fortuna de Gates.

 

assembly-para-msdos

E o que tudo isto tem a ver com Microprocessador e Assembly ? simples ! aquele sistema rodava no Intel 8086, era todo baseado em interrupções de DOS e BIOS, o que hoje no WIndows chamamos de IRP , que são chamados do kernel do WIndows para teclado, mouse, disco, etc … no ambiente DOS chamava-se “Interrupção de teclado ou Interrupção de disco,etc “.

Então o sistema baseado em Intel foi parar no coração do IBM-PC que depois foi copiado a exaustão no mundo todo, e chegou no Brasil aos milhões via Paraguay, quem se lembra da época, sabe que 90% dos PCs eram copias do original, que chegavam via Ponte da Amizade no Paraguay e custava 20% do original .. ahh . eo Sistema Operaiconal, lógico, totalmente pirata também, que era o MS-DOS ou PC-DOS.

msdos-programacao

E acabou assim o reinaldo do Z-80 Zilog , que foi o procesasdor usado na Apolo 11, o foguete que chegou a lua, tudo foi programado em Assembly Z-80 da empresa Zilog em 1969, alias .. a Nasa libero o código fonte em assembly, basta procurar na Internet, tudo em Assembly, o pouso, a estabilidade , e a decolagem … tudo em baixo nível Zilog, mas não foi suficiente par adominar o mercado de PCs.

assembly-apolo11

A Apolo11 lançada para pousar na lua era toa controlada com Assembly Z-80 Zilog, cuja instruções são bem semelhantes a Intel do PC.

Já a Motorola impera na industria, e muita gente dizia que a qualquer momento os PCs rodariam Motorola e não Intel, ledo engano, isto vem sendo dito a décadas, da mesma forma que dizem que a linguagem Cobol Morreu … poisé !

E foi assim, sendo o coração do sistema da Microsoft e IBM, a Intel dominou o mundo e depois lançou seu Intel Pentil , um versão superior ao barramento nos anos 80, e por enquanto, é o assembly mai susado no mundos dos PC. Porém, quem der uma olhada nas isntruções assembly da Zilog, vai perceber o quanto ela é semelhante aos registradores da Intel, e talvez seja esta , parte da razão do imperio da Intel.

assembly-ibmpc

Deixe um comentário