Disciplina: TI - Organização e Arquitetura dos Computadores
Banca: Col. Pedro II
Orgão: Col. Pedro II
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.

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á