Magna Concursos

Considere uma linguagem de máquina primitiva, com um tamanho de 8 bits para cada instrução, dividindo-a em duas partes: um código de operação de 3 bits, que especifica a operação a ser executada, mais um operando de 5 bits, que indica o endereço do dado sobre o qual a operação será realizada.

Admita a existência de um acumulador na unidade de aritmética e lógica no qual as operações aritméticas são executadas. A tabela 1 a seguir define o conjunto de instruções desta CPU.

Código de Operação Significado

001

Carregue: copie no acumulador o conteúdo da palavra endereçada.

010

Armazene: copie na palavra endereçada o valor do acumulador.

011

Some: substitua o conteúdo atual do acumulador pela soma de seu conteúdo com o conteúdo da palavra endereçada.

100

Subtraia: substitua o conteúdo atual do acumulador pelo resultado obtido da subtração entre este conteúdo e o conteúdo da palavra endereçada.

101

Desvie: salte para a instrução indicada pela palavra endereçada.

110

Desvie se diferente de zero: salte para a instrução na palavra endereçada se o valor contido no acumulador for diferente de zero.

111

Pare: encerre a execução

Tabela 1– Conjunto de instruções da linguagem de máquina.

Suponha que um programa tenha sido carregado nas dez primeiras palavras da memória principal. Além das dez palavras indicadas, outras também receberam valores. A tabela 2 mostra o conteúdo completo da memória no início da execução do programa.

Enunciado 3312328-1

Tabela 2 – Conteúdo de memória.

A execução começa no endereço 00000, com a instrução 00101010, e as instruções são executadas na ordem em que aparecem, exceto menção em contrário. Após a execução da segunda instrução, o valor na palavra 01100 será

 

Provas

Questão presente nas seguintes provas

Médico - Psiquiatria

65 Questões