LLVM Machine Code
Longe vai o tempo em que eu conhecia programadores de aplicação que, no exercício de suas atividades, memorizavam códigos hexadecimais de linguagem de máquina de suas plataformas, bem como as chamadas de sistema apropriadas – hoje, creio que os mesmos programadores de aplicações, quando memorizam algo relacionado, o fazem com chamadas de API de bibliotecas, vários níveis acima daquelas camadas.
Houve o dia em que eu já soube os códigos hexa de várias instruções do Z-80, e uma série de chamadas de sistema do CP/M, e achava que isso seria útil por toda a minha carreira. As coisas mudam…
Mas isso ajuda a explicar uma parte dos motivos pelos quais eu acho interessantes as notícias sobre compiladores em rápida evolução: hoje eles estão ali para fazer por mim o que eu fazia nos 8 bits, e jamais voltarei a fazer.
E esta notícia sobre o sub-projeto Machine Code, do LLVM, vai além nesta busca pelo meu interesse: ela agrega a questão do código de máquina diretamente – assembly, disassembly e manipulação de formatos de arquivos de código-objeto, entre outros aspectos mais próximos à CPU.
Este post no blog do LLVM apresenta mais detalhadamente o LLVM Machine Code, criado para oferecer determinadas vantagens sobre compiladores que não contam com ferramentas de assembly tão fortemente integradas, e explica como foi sua evolução, apresenta suas características, descreve as vantagens que ele traz ao LLVM e ainda dá exemplos de seu funcionamento. (via osnews.com)
O teu passado te condena!!!
O problema foi que inventaram um tal de 8086, sabe…
Essa capa já foi branca, né?
Em 2002 fui trabalhar em uma empresa só com programadores da nova geração. Eles me achavam um maluco por saber fazer contas em hexadecimal e ainda lembrar a correspondência de alguns códigos em mnemônicos Z-80 e 8086.
Hoje em dia, pela falta ou necessidade de uso, já não me lembro mais de nenhum deles. Mas lembrar daquela época me causa nostalgia.
LLVM fica a cada dia mais legal, fico ansioso pelo dia que será considerado pronto para produção
Meu ganha pão não é em computação, mas ainda hoje tenho um TK 90X em funcionamento, e comecei a brincar com Assembly Z80 novamente. Atualmente montar e desmontar em linguagem de máquina Z80 é muito mais fácil do que na época. E tudo isso com software livre!
Eu tenho este livro em casa, mas o meu exemplar está num estado um pouco pior……
@Paulo Brito: Essa capa já foi mais verdinha :-) A capa original era um verde água clarinho… eu tive esse livro.
Ainda tenho que desfazer a lavagem cerebral, pois ainda lembro de cabeça: CDh = CALL, C3h = JP, C9 = RET….. :-O
Muito legal a capa, é bom lembrar os tempos do MSX!
LLVM é o futuro dos compiladores, mal posso esperar o dia que vou trabalhar com essa infraestrutura.
Quem ainda necessita programar para devices com poucos recursos e processadores limitados sabe o quanto faz a diferença utilizar uma linguagem de baixo nível para fazer algumas coisas que, às vezes, não são feitas sob o princípio do KISS e deixam um pouco a desejar no quesito performance. Eu mesmo já fiz alguns pequenos programas para automações com Z80 e sei muito bem o sofrimento que é depender das linguagens de alto níveis modernas para “escovar bits”.
Também aguardo paciente e ansiosamente para poder ver o poder da LLVM
Eu ainda tenho guardado com carinho este livro, mas tive que mandar encadernar novamente. A capa original era um amarelo clarinho mesmo… e eu lembro de um código hexa do Z80 ainda: 0×000 = NOP (no operation), mas acho que esse não vale né ?? :-)
O.O.