Aulas 8 e 9 - Conjuntos de instruções

20/10/2025

O conjunto de instruções são os comandos codificados em linguagem de máquina (binário) reconhecidos por um processador. Este conjunto oferece os requisitos funcionais para o processador: cada instrução indica uma funcionalidade entregada pelo processador.

Cada instrução precisa conter as informações exigidas pelo processador para a execução. Os elementos que compõem uma instrução de máquina são:

Os operandos fonte e destino podem estar em uma dessas quatro áreas:

Opcodes

Os opcodes identificam as instruções unitárias que um processador pode executar, e esse conjunto de instruções precisa ser suficiente para expressar qualquer uma das instruções de uma linguagem de alto nível. É possível dividir as instruções em quatro tipos:

É possível fazer um paralelo entre os tipos de instruções com as funções do processador. Esse paralelo não é coincidência, já que essas instruções são a consolidação das funções citadas anteriormente, e são a forma de aplicações utilizarem essas funções.

Dentro do computador, as instruções são representadas por sequências de bits.É difícil para os programadores lidar com representações binárias de instruções de máquina. Desta forma, tornou-se uma prática comum usar uma representação simbólica das instruções de máquina. Para esta disciplina, utilizaremos um conjunto simplificado de instruções para entender este conteúdo de forma simbólica, como por exemplo:

OperaçãoDescrição
SOMESomar dois operandos
SUBTRAIASubtrair dois operandos
MULTIPLIQUEMultiplicar dois operandos
DIVIDADividir dois operandos
LEIALer um valor da memória principal para um registrador
SALVESalvar um valor de um registador para a memória principal

No geral, utilizaremos nesta disciplina a notação de instruções em que um dos endereços realiza o trabalho duplo como operando e resultado. O exemplo a seguir demonstra um cálculo matemático e as instruções necessárias para executá-lo:

f=abc+(d×e)

LEIA R1 a                # lê o valor da posição de memória a para o registrador 1
SUBTRAIA R1 b            # realiza a operação: R1 = R1 - b
LEIA R2 d                # lê o valor da posição de memória d para o registrador 2
MULTIPLIQUE R2 e         # realiza a operação: R2 = R2 * e
SOME R2 c                # realiza a operação: R2 = R2 + c
DIVIDA R1 R2             # realiza a operação: R1 = R1 / R2
SALVE R1 f               # salva o valor do registrador 1 para a posição de memória f