[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: compilador



On Tue, 05 Mar 2002 16:00:43 -0300, Fabio Pisaruk <pisaruk@linux.ime.usp.br> wrote:

>     alguem conhece algum compilador de codigo assembly para dos?

Hmmm... vou ter que bancar o cri-cri :-).

Diferentemente de C ou outras linguagens do genero, um programa em
linguagem de montagem *nao* e' compilado; a "graca" da linguagem de
montagem e' que ela existe como um mapeamento "quase" 1-para-1 entre os
comandos mnemonicos da linguagem e as instrucoes fisicas do processador
que vai rodar o programa, definindo como os dados devem "trafegar" entre o
processador, os registradores, a memoria etc. O montador simplesmente
traduz os mnemonicos para as instrucoes em codigo binario. Ja' um
compilador e' mais "inteligente", operando num nivel "mais alto": uma
instrucao de linguagem C (como i += 12, um loop "while" ou um "switch
case") pode ser traduzida para varias instrucoes "fisicas" no processador;
mais: em maquinas diferentes, o codigo pode ser bem diferente, dependendo
das caracteristicas do processador, e numa mesma maquina dois compiladores
diferentes podem gerar codigos de maquina bem diferentes para o mesmo
codigo C, dependendo das otimizacoes de cada um.

Agora, acho que nao e' muito esperto voce usar um montador para dos, pois
o curso sera' voltado para ambiente linux. Na melhor das hipoteses, as
chamadas de sistema sao completamente diferentes. Alias, mesmo que voce
"escape" de usar o linux na parte sobre linguagem de montagem, o que vem
por ai' depois (nao apenas em MAC211) e' fortemente baseado no linux,
entao e' melhor voce encarar a encrenca de instala-lo agora (no inicio do
semestre ;-).  De qualquer maneira, *acho* que o EP nao vai fazer uso de
nenhuma chamada de sistema.

Ate' +
Nelson