Alternativa B
Esta questão aborda programação em Assembly para microcontroladores, especificamente a família PIC, focando na manipulação de bits para controle de periféricos como LEDs.
Análise Técnica
Para controlar LEDs conectados a uma porta (neste caso, PORTD) sequencialmente, utilizam-se operações de deslocamento ou rotação de bits.
- Objetivo: Acender os LEDs da esquerda para a direita.
- Representação Binária: Geralmente, o bit mais significativo (MSB, bit 7) representa a posição "esquerda" e o bit menos significativo (LSB, bit 0) representa a "direita".
- Movimento Necessário: Para que o sinal lógico (1) se mova do bit 7 para o bit 0, é necessário realizar um deslocamento ou rotação para a direita.
Comparação das Instruções
| Instrução | Significado | Direção do Bit |
|---|
| RLF | Rotate Left File | Move os bits para a Esquerda (LSB \rightarrow MSB) |
| RRF | Rotate Right File | Move os bits para a Direita (MSB \rightarrow LSB) |
Como a questão solicita a rotação da esquerda para a direita, a instrução correta deve ser a que realiza o movimento dos bits para posições menores, que é a RRF (Rotate Right File).
Por que as outras estão incorretas?
- Opção A (
rlf): Realiza a rotação inversa (da direita para a esquerda). - Opção C (
MOVLW): Apenas carrega um valor imediato no registrador W, não executa a rotação dinâmica necessária para a sequência. - Opção D (
MOVWF): Move o conteúdo de W para F, mas não faz a lógica de rotação. - Opção E (
CALL): É usada para chamadas de sub-rotinas (como o delay mencionado no enunciado), não para a lógica de giro dos LEDs.
Conclusão: A instrução rrf PORTD, 1 é a responsável por realizar a rotação de bits necessária para acionar os LEDs na sequência solicitada.