Alternativa B - ORG 0
Análise Detalhada
A questão aborda conceitos fundamentais de programação em linguagem Assembly, especificamente sobre como o código é posicionado na memória durante a fase de montagem (compilação).
O que é a diretiva ORG?
- Definição: A palavra-chave
ORG (origin) é uma diretiva de assembler. Ela não gera instruções executáveis pelo processador, mas sim instruções para o próprio compilador (assembler). - Função: Ela diz ao assembler: "O próximo byte de código ou dado que eu escrever deve ser colocado neste endereço específico de memória".
- Contexto de Início: Na maioria dos microcontroladores e sistemas embarcados, o ponto de Reset (onde o processador começa a executar assim que é ligado) está localizado no endereço de memória 0. Portanto, usar
ORG 0 garante que o primeiro comando do programa esteja exatamente onde o hardware espera encontrá-lo.
Por que as outras alternativas estão incorretas?
| Alternativa | Tipo | Função Real | Por que não é a resposta |
|---|
| A) GOTO SETUP | Instrução Executável | Faz o processador pular para o rótulo "SETUP". | Controla o fluxo de execução, não o endereço de carregamento inicial. |
| C) ORG 4 | Diretiva | Começaria o código no endereço 4. | Embora tecnicamente possível, o endereço 0 é o padrão universal para o vetor de reset/início. |
| D) EQU 0x20 | Diretiva de Constante | Define um nome simbólico com valor fixo (ex: MyVar EQU 0x20). | Serve para facilitar leitura de constantes, não para definir endereços de memória de execução. |
| E) MOV LW... | Instrução Executável | Carrega um valor no registrador W. | É uma operação lógica/aritmética, não afeta a alocação de memória do programa. |
Resumo Didático
Imagine que você está escrevendo um livro.
- A instrução (
MOV, GOTO) é o texto dentro das páginas (o conteúdo). - A diretiva (
ORG) é o número da página ou a posição na estante onde o livro deve começar.
Se o sistema operacional ou o hardware diz "comece a ler do número 0", você precisa usar a diretiva ORG 0 para garantir que seu "livro" (código assembly) esteja escrito começando dessa página específica.
Conclusão: A única opção que define o endereço base de memória para o início do código é a Alternativa B.