Redes De Computadores
Artigos Científicos: Redes De Computadores. Pesquise 862.000+ trabalhos acadêmicosPor: diegocampioto • 29/7/2014 • 884 Palavras (4 Páginas) • 317 Visualizações
Assembler/Assembly
Assembler ou outras linguagens, esta é a questão. Porque eu deveria aprender mais uma linguagem, se eu já conheço outras linguagens de programação? O melhor argumento: enquanto você viver na França, poderá sobreviver falando Inglês, mas você nunca se sentirá em casa, e a vida fica difícil. Você pode apenas continuar desta forma, mas isto não é apropriado. Se as coisas ficarem complicadas, você deverá usar a linguagem corrente do país.
Muitas pessoas já experientes em programação de AVRs e que usam linguagens de alto nível em seu trabalho normal, recomendam que os iniciantes comecem aprendendo linguagem assembly. A razão para isto é que, algumas vezes, podem ocorrer certas situações, como:
● se bugs têm que ser analisados,
● se o programa faz coisas diferentes das que foram escritas e são esperadas,
● se linguagens de alto nível não suportam o uso de certas características do hardware,
● se rotinas em que a temporização é crítica requerem porções de linguagem assembly, é necessário entender a linguagem assembly, e.g., entender o que os compiladores de linguagens de alto nível produzem. Sem compreender a linguagem assembly, você não terá chance de ir adiante nestes casos.
Curta e fácil
Os comandos assembler são traduzidos um a um para serem comandos executados pela máquina. O processador necessita apenas executar o que você quer fazer e o necessário para executar a tarefa. Nenhum loop extra ou características desnecessárias poluem o código. Se o espaço para o seu programa é curto e limitado e você terá que otimizar seu programa para caber na memória, assembler é a escolha número um. Programas mais curtos são mais fáceis de depurar (“debugar”), cada passo faz sentido.
Veloz
Como apenas os passos necessários são executados, os programas em assembly são tão rápidos quanto possível. Aplicações onde o tempo é crítico, como medições de tempo que devam ter boa performance, sem que haja um hardware de temporização, devem ser escritas em assembler. Se você tiver mais tempo e não se importar que seu chip permaneça 99% em um estado de espera (wait state) de operação, você pode escolher a linguagem que desejar.
Assembler é de fácil aprendizado
Não é verdade que a linguagem assembly é mais complicada ou não é tão fácil de compreender quanto outras linguagens. Aprender linguagem assembly para qualquer tipo de hardware facilita a compreensão de conceitos de qualquer outro dialeto da linguagem assembly. Aprender outros dialetos depois é mais fácil. Algumas características são dependentes do hardware, e isto requer alguma familiaridade com os conceitos de hardware e seus dialetos. O que faz o assembler parecer complicado algumas vezes é que ele requer uma compreensão das funções do controlador do hardware. Linguagens de alto nível não permitem a utilização de características especiais do hardware, e escondem estas funções.
O primeiro código assembly não parece muito interessante, mas depois de 100 linhas adicionais programadas, parecerá melhor. Programas perfeitos requerem apenas alguns milhares de linhas de código de exercício, e otimização requer bastante trabalho. Os primeiros passos são difíceis em qualquer linguagem. Após algumas semanas programando, você dará risada se analisar seu primeiro código.
Alguns comandos em assembler requerem meses de experiência.
AVRs são ideais para se aprender assembler. Programas em assembler são um pouco tolos: o chip executa tudo que você disser a ele para fazer, e não pergunta se você tem certeza se quer sobrescrever isso ou aquilo. Todas as características de proteção devem
...