Magna Concursos
2483167 Ano: 2014
Disciplina: Engenharia Eletrônica
Banca: UFSC
Orgão: UFSC
Provas:
Um microcontrolador possui uma CPU com a seguinte arquitetura:
• Registrador PC (program counter) de 8 bits que contém o endereço da próxima instrução a ser executada;
• Registrador AC (accumulator) de 8 bits que armazena resultados intermediários de operações;
• Memória de dados;
• Memória de instruções;
• Conjunto de instruções, listadas na tabela a seguir (onde loc representa um endereço de memória de 8 bits).
Código de máquina Instrução Descrição
00000000 loc LDA loc AC <- memória [loc]
00000001 loc STA loc memória [loc] <- AC
00000010 loc ADD loc AC <- AC + memória [loc]
00000011 loc AND loc AC <- AC AND memória [loc]
00000100 loc JMP loc PC <- loc
00000101 loc BRN loc PC <- (AC < 0) ? loc : PC + 2
00000110 loc BRZ loc PC <- (AC == 0) ? loc : PC + 2
11111111 XX HALT Halt
Nessa arquitetura, que considera números com sinal e representação em complemento de 2, a instrução LDA (load accumulator) é utilizada para armazenar em AC o conteúdo da posição de memória endereçada por loc. A instrução STA (store accumulator) é utilizada para armazenar o conteúdo de AC na posição de memória endereçada por loc. A instrução ADD (add) armazena em AC o resultado da operação aritmética de adição realizada entre o valor contido em AC e o valor armazenado na posição de memória endereçada por loc. A instrução AND (and) armazena em AC o resultado da operação lógica AND realizada entre o valor contido em AC e o valor armazenado na posição de memória endereçada por loc. A instrução JMP (jump) realiza um desvio incondicional para a posição de memória indicada por loc. A instrução BRN (branch if negative) realiza um desvio condicional para a posição de memória indicada por loc se o conteúdo de AC for menor do que zero; caso contrário, a instrução seguinte a BRN é executada. A instrução BRZ (branch if zero) realiza um desvio condicional para a posição de memória indicada por loc se o conteúdo de AC for igual a zero; caso contrário, a instrução seguinte a BRZ é executada. A instrução HALT (halt) causa a parada da execução das instruções.
O programa em linguagem assembly a seguir foi desenvolvido para execução nesse microcontrolador. Na primeira coluna foi incluído um label para representar o endereço de memória da instrução em questão; a segunda coluna contém a instrução e a terceira coluna contém os operandos da instrução (endereços de memória).
INICIO: LDA 0
ADD 1
BRN INICIO
HALT
Assuma que o programa inicia sua execução na primeira instrução da listagem, localizada no endereço INICIO (label INICIO). Assuma também que na posição 0 (zero) da memória de dados está armazenado o valor 127 (em decimal) e que na posição 1 (um) dessa mesma memória está armazenado o valor 1 (em decimal). Com base na execução do programa, assinale a alternativa CORRETA.
 

Provas

Questão presente nas seguintes provas

Técnico em Eletrônica

40 Questões