DIFERENÇA ENTRE ASSEMBLY E C++
295 palavras
2 páginas
A principal diferença entre uma linguagem montada (como assembly) e uma linguagem de programação está na forma como o programa objeto (HEX) é gerado. Em assembly, o processo usado é a montagem, enquanto que em linguagem C o programa é compilado. Em uma linguagem MONTADA (ASSEMBLY), cada instrução (mneumônico) é traduzida em uma instrução em linguagem de máquina. Se o processador programado, por exemplo, não possuir em seu conjunto de instruções a instrução de multiplicação, não haverá (em linguagem de montagem) a instrução de multiplicação. Neste tipo de programação, a única vantagem é não escrever diretamente em binário, mas o programador terá que usar e somente usar as instruções disponíveis pelo processador alvo. Se o programador de linguagem de montagem for experiente e conhecer bem as instruções do processador alvo, provavelmente o programa irá ser o mais eficiente possível. Como ponto fraco deste tipo de linguagem, cita-se a complexidade (demora-se mais para fazer uma determinada operação), a baixa manutenibilidade (difícil de corrigir e alterar), e a baixa portabilidade (difícil de migrar o mesmo programa para outro processador ou microcontrolador) JÁ EM UMA LINGUAGEM COMPILADA, um programa (o compilador) surge como intermediário entre a linguagem de máquina e uma linguagem de mais alto nível e de fácil abstração. Por exemplo, se o microcontrolador a ser programado não possui a instrução de multiplicação, mas pode fazer adições, a linguagem de alto nível pode oferecer o operador de multiplicação, e transformar isso em uma seqüência de instruções de soma para se obter o efeito desejado.