Organização de
Computadores
Aula 7
Prof. Luiz di Marcello
INSTRUÇÕES
O QUE SÃO E PARA QUE SERVEM?
• São as ordens que o computador entende
• Cada família de processadores tem o seu próprio
conjunto de instruções  instruction set
• Quem usa essas instruções? O programador Assembly,
os compiladores
Ninguém programa utilizando as instruções do processador!
Programas são desenvolvidos em linguagens de alto nível!
• Instruções podem ter formatos diferentes, dependendo
do número de operandos
TIPOS DE INSTRUÇÕES
Instruções
Aritméticas e
Lógicas
Realizam operações aritméticas
(ADD, SUB ...) e lógicas (AND, OR)
Instruções de
Movimentação de
Dados
Transferem dados entre
registradores ou entre registrador e
memória principal (MOV)
Instruções de
Transferências de
Controle
Executam o desvio do fluxo
sequencial do código (JMP)
FORMATO DE UMA INSTRUÇÃO
CÓDIGO DA
OPERAÇÃO
Indica que operação será executada.
A quantidade de bits desse código
determina o número máximo de
instruções
OPERANDO(S)
Indica o(s) dado(s) que será(ão)
manipulado(s): números, caracteres,
endereços
EXEMPLOS
 ADD: soma o primeiro operando com o segundo, o resultado
fica armazenado no primeiro operando:
ADD op1,op2
ADD
OP1
OP2
ADD R, op1
ADD
R
OP1
• MOV: copia o segundo operando (fonte) para o primeiro
operando (destino):
MOV op1,op2
MOV
OP1
OP2
• JNZ: desvia a execução do programa para o endereço indicado
JNZ op1
JNZ
OP1
EXERCÍCIO 1
Um determinado processador possui um
conjunto de 64 instruções. Quantos bits de
opcode a instrução deverá possuir?
OPCODE
?
OPER1
OPER2 ... OPERn
REGISTRADORES
• Registradores de uso geral para armazenamento
temporários dos dados que serão processados
Exemplos: AX, BX
• Registradores de uso específico para funções prédefinidas de controle
Exemplos: IR, PSW, PC
MODOS DE ENDEREÇAMENTO
IMEDIATO
Utiliza um valor como operando e não um
endereço na memória
ADD #A,R1
DIRETO
Indica o endereço de memória onde
está o operando
ADD (A), R1
INDIRETO
Indica um ponteiro para o operando
ADD (R1),R2
MODOS DE ENDEREÇAMENTO
REGISTRADOR
O endereço se refere a um
registrador
ADD R,OP1
DESLOCAMENTO
Obtido pela soma do operando com o
conteúdo de um registrador base
ADD (A)R1, R2
EXERCÍCIO 2
Um processador possui um conjunto de instruções que
emprega vários modos de endereçamento. Considere que
a memória principal possui endereços de 16 bits e o mapa
de memória abaixo. Para cada item diga qual o valor
obtido.
ENDEREÇO
CONTEÚDO
15B9
7C
15BA
82
15BB
15
15BC
BE
15BD
9A
15BE
75
a) A instrução possui o modo direto e o
operando possui o valor 15B9:
b) A instrução usa o modo imediato e o
operando possui o valor 15BA:
c) A instrução usa o modo indireto e o
operando possui o valor 15BB:
EXERCÍCIO 2
Um processador possui um conjunto de instruções que
emprega vários modos de endereçamento. Considere que
a memória principal possui endereços de 16 bits e o mapa
de memória abaixo. Para cada item diga qual o valor
obtido.
ENDEREÇO
CONTEÚDO
15B9
7C
15BA
82
15BB
15
15BC
BE
15BD
9A
15BE
75
a) A instrução possui o modo direto e o
operando possui o valor 15B9:
7C
b) A instrução usa o modo imediato e o
operando possui o valor 15BA:
15BA
c) A instrução usa o modo indireto e o
operando possui o valor 15BB:
75
EXERCÍCIO 3
Considere uma máquina hipotética com as seguintes características:
INSTRUÇÕES
0001  Carrega ACC da memória
0010  Armazena ACC na memória
0101  Adiciona ao acumulador ACC o valor da memória
0011  Carrega ACC (acumulador) do dispositivo de I/O
0111  Armazena ACC no dispositivo de I/O
•
•
•
•
•
12 bits: 4 bits para código da operação e os demais para endereço
O dispositivo 5 fornece o valor 3
PC (Program Counter) inicial contém o valor 300
O acumulador ACC está inicialmente vazio
End.
Instrução
O endereço 50h possui o valor 2
300 0011 00000101
armazenado
301 0101 01010000
• Programa em execução
302 0010 01100000
Organização de
Computadores
Exercícios
Prof. Luiz di Marcello
1) No conjunto de instruções de um processador
podemos citar três tipos de endereçamento:
IMEDIATO, DIRETO e INDIRETO. Correlacione esses
três tipos de endereçamento (na sequência IMEDIATO,
DIRETO e INDIRETO) com o seu significado encontrado
nas sentenças abaixo:
I. indica o endereço de memória onde está o operando
II. indica um ponteiro para o operando
III. utiliza um valor como operando e não um endereço
da memória
(
(
(
(
(
) I, II e III
) II, I e III
) III, I e II
) I, III e II
) II, III e I
2) Considerando uma instrução com código de
operação de 4 bits e operando de 8 bits, cujo
processador trabalhe com endereçamento direto,
quantas instruções no máximo podem existir
nessa configuração e qual o maior endereço (em
hexadecimal) pode servir de operando?
(
(
(
(
(
) 4 instruções diferentes e maior endereço FFh
) 8 instruções diferentes e maior endereço 99h
) 16 instruções diferentes e maior endereço FFh
) 32 instruções diferentes e maior endereço FFh
) 16 instruções diferentes e maior endereço EEh
Download

ADD