Considere o trecho de rotina apresentado a seguir: ...

Próximas questões
Com base no mesmo assunto
Q263774 Telecomunicações
Considere o trecho de rotina apresentado a seguir:

MOV A,#7FH
MOV P0,A
ORL A,#80H
MOV P1,A
CPL P0.0
SETB P0.7
CLR P1.1

Ao final da rotina, os valores de P0 e P1 serão, respectivamente, em hexadecimal:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a E - FE e FD.

Para resolver essa questão, precisamos entender os conceitos de manipulação de bits e operações lógicas no contexto de programação em assembly, especificamente para microcontroladores como o 8051. Essa questão foca em operações como a movimentação de dados entre registradores e portas, além de operações de manipulação bit a bit, como "CPL" (complemento) e "SETB/CLR" (setar ou limpar bits específicos).

Vamos analisar o código linha por linha:

MOV A,#7FH

Essa instrução move o valor hexadecimal 7F (que é 0111 1111 em binário) para o acumulador A.

MOV P0,A

O conteúdo do acumulador A (7F) é movido para a porta P0. Portanto, P0 = 7F.

ORL A,#80H

Realiza a operação lógica OR entre o acumulador A e o valor 80H (1000 0000 em binário). O resultado é FF (1111 1111 em binário), que fica no acumulador A.

MOV P1,A

O valor do acumulador A (FF) é movido para a porta P1. Portanto, P1 = FF.

CPL P0.0

A instrução complementa o bit 0 da porta P0. Como P0 era 7F (0111 1111), o bit 0 é 1. Após o complemento, o bit 0 se torna 0. Então, P0 = 7E (0111 1110).

SETB P0.7

Essa instrução seta (define como 1) o bit 7 da porta P0. P0 já tinha 7E (0111 1110), e ao setar o bit 7, temos FE (1111 1110).

CLR P1.1

Limpa (define como 0) o bit 1 da porta P1. P1 era FF (1111 1111), e limpando o bit 1, obtemos FD (1111 1101).

Portanto, ao final da rotina, os valores de P0 e P1 são FE e FD, respectivamente.

E - FE e FD é a resposta correta.

As alternativas incorretas podem ser explicadas pelo entendimento errado do código, por exemplo, não aplicar corretamente a operação de complemento ou a manipulação individual de bits.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo