Alternativa B - GOTO PISCA5x3229
No contexto da programação de baixo nível (Assembly) para microcontroladores, a criação de um laço infinito requer uma instrução que redirecione o fluxo do programa para o início do código repetidamente.
Análise das Instruções:
Para entender por que a alternativa B é a correta, vamos examinar o que cada comando faz na arquitetura típica de processadores embutidos:
- A - CALL: Chama uma sub-rotina e salva o endereço de retorno na pilha. Não cria um loop por si só; espera-se um
RETURN para voltar ao ponto original. - B - GOTO: É um salto incondicional. Ele força o processador a ir imediatamente para o endereço ou rótulo especificado. Se colocado no final do código principal, ele reinicia o programa indefinidamente.
- C - RETURN: Retorna de uma chamada de sub-rotina. Encerra a execução atual, não mantendo o programa rodando continuamente se estiver fora de um bloco de repetição.
- D - NOP: Significa "No Operation" (Nenhuma Operação). Apenas perde ciclos de clock sem mudar o fluxo.
- E - decfsz: Decrementa um registrador e pula a próxima instrução se o resultado for zero. Usado para contagem ou atrasos, mas sozinho não garante um loop infinito sem um
GOTO condicional.
Por que o GOTO?
O comando GOTO é fundamental para estruturas de controle como while(true) em linguagens de alto nível. No código apresentado, a instrução GOTO PISCA5x3229 faz com que o processador volte ao rótulo PISCA5x3229 assim que termina o ciclo de piscar os LEDs. Isso garante que o processo descrito ("repetir continuamente") ocorra sem parar.
Conclusão:
A única instrução capaz de manter o programa em execução contínua criando um laço infinito imediato é a de salto incondicional.
Alternativa B.