Rotinas em linguagem de montagem sāo bastante utilizadas em sistemas de trens metropolitanos para controlar atividades críticas. As afirmativas I e II estāo corretamente relacionadas às linguagens de montagem, montadores e suas aplicaçōes APENAS em:
Escolha uma:
O a. I. A programaçāo em assembly permite escrever programas que executam muito mais rapidamente que programas escritos em linguagens de alto-nível. Os compiladores ou interpretadores destas linguagens, ao traduzirem as suas instruçōes para assembly, fazem-no de forma menos eficiente, gerando mais instruçōes assembly do que um programador humano pode conseguir se programar diretamente em baixo-nível. II. O assembly proporciona um maior controle sobre os componentes de hardware, em particular do processador, permitindo usar melhor as suas funcionalidades e capacidades.
O b. I. Todas as linguagens de alto-nível permitem que se possam incluir instruçōes assembly entre as instruçōes da própria linguagem, visando acelerar rotinas críticas do programa. Isso porque as linguagens de alto-nível impedem o acesso a certos componentes de hardware, a fim de evitar que possam ser desencadeadas açōes potencialmente perigosas. II. Existem vários assemblers, dentre os quais os mais conhecidos sāo o TASM (da Intel), o NASM (da Microsoft), que sāo propriedade dos respectivos fabricantes, e o MASM, que é de uso livre.
  • c. I. O termo assembler refere-se a um programa que permite facilitar o trabalho com a linguagem assembly, fazendo com que esta se assemelhe um pouco mais com os mnemônicos de uma linguagem de alto-nível. II. As instruçōes do assembler sāo traduzidas para os conjuntos de bits que constituem as instruçōes do processador. O assembly executa um conjunto de açōes necessárias para que o programa assembler possa ser executado, escondendo essas operaçōes do programador.
    O d. I. O termo assembly refere-se à linguagem de programaçāo, que é também designada por linguagem de macro, uma vez que se encontra intimamente relacionada com a macroprogramaçāo do processador a que se destina. II. Cada processador de cada fabricante (Intel, AMD, Motorola etc), tem o seu próprio assembly, já que cada um tem estrutura interna diferente, portanto, nāo há um termo assembly que se aplica a todos eles, mas há linguagem assembly Intel, assembly AMD etc.
  • e. I. É muito complicado para os programadores humanos escreverem programas usando a linguagem pura do processador ou a linguagem de máquina, que é constituída por um conjunto mais ou menos extenso de bits. II. Os programas executáveis gerados por um assembler sāo do tipo .EXE, arquivos em linguagem de baixo nível, que devem ser carregados e executados a partir do endereço 10FFh. Assim, todos os programas assembly devem começar com a instruçāo org 10FFh, seguidos de três seçōes (text, data e code).

Passo 1

Beleza, vamos lá! O exercício que você enviou fala sobre linguagens de montagem, montadores (ou assemblers) e suas aplicações, especialmente em sistemas críticos como os trens metropolitanos. A gente vai analisar as duas afirmações (I e II) de cada opção para ver qual delas está correta. Pra resolver isso, precisamos entender um pouco sobre o que é linguagem de montagem, como funcionam os montadores e por que elas são usadas em certas aplicações.

Passo 2

Vamos começar olhando a opção a:
I. “A programação em assembly permite escrever programas que executam muito mais rapidamente que programas escritos em linguagens de alto-nível. Os compiladores ou interpretadores destas linguagens, ao traduzirem as suas instruções para assembly, fazem-no de forma menos eficiente, gerando mais instruções assembly do que um programador humano pode conseguir se programar diretamente em baixo-nível.”
II. “O assembly proporciona um maior controle sobre os componentes de hardware, em particular do processador, permitindo usar melhor as suas funcionalidades e capacidades.”
Primeiro, a afirmação I está falando sobre a eficiência dos programas em assembly comparados com os de linguagens de alto nível. De fato, programas escritos em assembly podem ser mais rápidos porque são mais próximos do código de máquina, mas também é verdade que compilers modernos são bastante eficientes. Porém, a ideia de que programadores humanos conseguem otimizar mais que compiladores em todos os casos não é totalmente precisa, mas a afirmação geral fica aceitável.
A afirmação II está correta ao dizer que o assembly dá mais controle sobre o hardware, permitindo tirar melhor proveito das funcionalidades do processador.
Então, a opção a tem as duas afirmações corretas.

Resposta

a. I. A programação em assembly permite escrever programas que executam muito mais rapidamente que programas escritos em linguagens de alto-nível. Os compiladores ou interpretadores destas linguagens, ao traduzirem as suas instruções para assembly, fazem-no de forma menos eficiente, gerando mais instruções assembly do que um programador humano pode conseguir se programar diretamente em baixo-nível. II. O assembly proporciona um maior controle sobre os componentes de hardware, em particular do processador, permitindo usar melhor as suas funcionalidades e capacidades.

Exercícios relacionados