Buscar

9-tipos-instrucoes-dados-tipos-enderecamento

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Tipos de Instruções de 
Dados e Tipos de 
Endereçamento
 
SST
Ancelmo, Jose Roberto
Tipos de Instruções de Dados e Tipos de Endereçamento / 
Jose Roberto Ancelmo 
Ano: 2020
nº de p. : 11
Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.
Tipos de Instruções 
de Dados e Tipos de 
Endereçamento
3
Apresentação
Em nosso estudo, compreenderemos os tipos de instruções dos computadores, 
os quais têm a função da movimentação, operações e transferências de controle 
de dados. Estudaremos a catalogação dessas instruções e veremos também os 
tipos de endereçamento entre memória e processador, bem como o conceito de 
chamadas de funções ou serviços.
Tipos de Instruções
A maioria das instruções opera sobre dados. Como comentam Null e Lobur (2010), 
fabricantes de computadores regularmente agrupam instruções nas seguintes 
categorias: movimentação de dados, aritméticas, booleanas, manipulação de bits, 
E/S, transferências de controle e propósito especial. 
Para Stallings (2002, p. 344), as instruções podem ser catalogadas em: 
1. Processamento de dados: instruções aritméticas e lógicas. 
2. Armazenamento de dados: instruções de memória. 
3. Movimentação de dados: instruções de E/S. 
4. Controle: instruções de testes e de desvio. 
Com relação às operações de processamento de dados, para Null e Lobur (2010), 
elas incluem instruções aritméticas que usam números inteiros e de ponto-flutuante. 
As instruções aritméticas incluem operações de soma (ADD), multiplicação 
(MULTIPLY), divisão (DIVIDE), incremental (INCREMENT), decremental (DECREMENT) 
e de mudança de sinal (NEGATE). 
Stallings (2002, p. 344) afirma que “[…] as instruções lógicas booleanas operam 
sobre bits de uma palavra, como bits e não como números”. Instruções lógicas 
incluem AND, NOT, OR, XOR, TESTE e COMPARE. 
Com relação às operações de movimentação de dados (instruções de E/S), elas são 
necessárias para transferir dados e resultados da memória para o usuário. 
4
Para as operações de armazenamento de dados (instruções de memória), existem 
instruções de memória para mover dados entre a memória e os registradores, de 
registradores para registradores e de registradores para a memória e incluem as 
instruções MOVE LOAD, STORE, PUSH, POP, EXCHANGE e suas variações (NULL; 
LOBUR, 2010). 
Nas operações de controle, as instruções de testes são usadas para testar o valor 
de uma palavra de dados ou o estado de uma computação. Instruções de desvio 
são utilizadas para desviar a execução de um programa para uma nova instrução, 
“[…] dependendo do resultado de um teste” (STALLINGS, 2002, p. 344). Incluem 
instruções de desvio e paradas: JUMP, RETURN, SKIP, HALT, WAIT. 
No quadro a seguir, resumimos os tipos de instruções e operações de um processador. 
Tipo de Instruções e operações de um processador.
Tipo de Instruções Operações Instruções
Processamento de Dados
Aritméticas
• Add: Soma dois Operandos.
• Multiply: Calcula o produto entre 
dois operandos.
• Divide: Calcula o quociente 
entre dois operandos.
• Increment: Soma 1 ao 
operando.
• Negate: Muda o sinal do 
operando.
Lógicas
• And, Not, Or, Xor, Teste: Efetuam 
operações lógicas específicas 
bit a bit.
• Compare: Efetua uma 
comparação lógica ou 
aritmética de dois ou mais 
operandos.
Movimentação de Dados
(Operações de E/S)
Transferência 
de Dados de E/S 
(Usuário e Memória)
• Read (Input): Transfere dados 
da porta ou dispositivo E/S 
para a memória principal ou 
registrador.
• Read (Output): Transfere dados 
da fonte especificada para uma 
porta ou um dispositivo de E/S.c
5
Armazenamento de 
Dados (Transferência de 
Dados)
Transferência 
entre memória e 
registradores (Move 
e armazena, retira 
do armazenamento 
e move).
• Move: Transfere uma palavra ou 
bloco da fonte para o destino.
• Load: Transfere uma palavra da 
memória para o processador.
• Store: Transfere uma palavra do 
processador para a memória.
• Push: Transfere uma palavra da 
fonte para o topo da pilha.
• Pop: Transfere uma palavra do 
topo da pilha para o destino.
• Exchange: Troca os conteúdos 
dos operandos-fonte e de 
destino.
Controle
Desvio de Execução 
por meio de testes 
condicionais
• Jump (condicional e não 
condicional): carrega o PC com 
o endereço especificado.
• Return: substitui o conteúdo do 
PC e de outros registradores 
com os valores armazenados 
em uma posição conhecida.
• Skip (condicional e não 
condicional): incrementa o PC 
para o endereço da próxima 
instrução com desvio ou sem 
desvio.
• Halt: Para a execução de um 
programa.
• Wait: Para a execução de um 
programa; testa a condição 
especificada repetidamente.
Fonte: Adaptado de Stallings (2002). 
Os tipos de operandos que podem ser diretamente manipulados por uma arquitetura 
dependem, é claro, dos tipos de instruções oferecidas. O apresentado nos mostrou 
como os principais tipos de dados são normalmente representados em uma 
arquitetura de uso geral.
Tipos de Endereçamento
Vimos que, quando o processador executa uma instrução, ele realiza operações 
específicas por meio de movimentação e armazenamento de dados entre memória 
e registradores. Esses dados podem residir em um registrador, na memória principal 
ou em uma porta de E/S. 
Para realizar o acesso a essas memórias e diferentes localizações dos operandos, o 
processador pode realizar sete modos de endereçamento:
6
1. Endereçamento por registro.
2. Endereçamento por base.
3. Endereçamento direto.
4. Endereçamento imediato.
5. Endereçamento indireto por registro.
6. Endereçamento indexado.
7. Endereçamento por base indexada.
O quadro que segue apresenta os principais modos de endereçamento e suas 
principais características, como o modo de endereçamento por registro, por base, 
direto e imediato.
Principais tipos de endereçamento: características, vantagens e desvantagens.
Tipos de 
Endereçamento
Operaçõo
Exemplo
Características, 
Vantagens e Desvantagens 
Endereçamento por 
registro
MOV AX, BX
(move 
operando entre
registradores)
AX BX
• Os dois operandos são registradores.
• O tamanho do campo de endereço
requerido na instrução é pequeno
(limitado).
• Não requer nenhuma referência à
memória.
• Tempo de acesso é menor que a
memória principal.
Endereçamento por base 
(2) (Vetores na memória)
MOV CX, 
[BX+0102H] 
(registrador base 
+ deslocamento
adicional)
• O registrador referenciado contém 
um endereço base de memória
e o campo de endereço, um 
deslocamento em relação a esse 
endereço.
• Utilizado no tratamento de vetores. 
Apenas os registradores BX e BP 
podem ser utilizadps como base. 
7
Endereçamento direto (3)
MOV BX, [1102H] 
Deslocamento 
dado por um 
número ou nome 
de variável.
BX (DS:1102H)
• Comum nas primeiras gerações de
computadores.
• Requer apenas um acesso à
memória e nenhum cálculo especial
(simples).
• Sua desvantagem é fornecer um
espaço de endereço limitado.
Endereçamento imediato MOV AL, 17H AL 17H
• É a forma mais simples de 
endereçamento.
• O valor do operando é especi icado 
diretamente na instrução.
• Pode ser usado para de inir 
constantes ou para atribuir valores 
iniciais em variáveis.
• Vantagem por não requerer qualquer 
acesso à memória para obter o 
operando além do acesso para obter 
a própria instrução economizando 
um ciclo de cache ou de memória no 
ciclo de instrução.
• Tamanho do operando é limitado. 
Fonte: Adaptado de Stallings (2002). 
De acordo com o quadro apresentado, os modos de endereçamento podem ser 
resumidos em:
Endereçamento de registro: ocorre de registro ou memória para outro registro ou 
memória. Ou seja, os dados saem do registro para outro registro ou para outra memória, 
bem como podem sair da memória para um registro ou para outro local da memória.
8
Endereçamento imediato: transfere-se da fonte de forma imediata, por meio de um 
número constante em hexadecimal.
Endereçamento direto: move uma informação entre um endereço de memória e 
um registro.
Endereçamento indireto de registro:ocorre entre registro e local da memória onde 
ela é endereçada por um registro de índice ou registro de base, que são BP, BX (BH e 
BL), SI e DI. Usado em endereços de segmentos de dado do offset.
Endereçamento de base índice: igual ao modo de endereçamento indireto de 
registro, porém ele também usa o registro de índice (SI ou DI).
Endereçamento relativo de registro: também usa registro de índice ou registro de 
base, mas com algum deslocamento no endereço.
Endereçamento relativo de base índice: igual ao caso anterior, mas usando ambos 
os registros (de índice e de base), além do deslocamento.
Chamadas a funções
Para Weber (2012), os programas de montagem podem realizar “chamadas de 
serviços”, ou seja, executar funções de serviços do sistema operacional (e de BIOS 
[Basic Input Output/System – sistema básico de E/S]) por meio de interrupções de 
software pela instrução INT. 
As interrupções são sinais enviados ao microprocessador, também chamados 
de armadilhas (traps) ou exceções usadas por diversas aplicações de software. 
Computadores modernos suportam tanto interrupções de software como de 
hardware usando tratadores de interrupções (NULL; LOBUR, 2010).
Quase todos os computadores apresentam “[…] [tais mecanismos] pelos quais 
componentes distintos do processador (E/S, memória) podem interromper a 
sequência normal de execução do processador” (STALLINGS, 2002, p. 63). 
Um exemplo de chamadas de funções de E/S para o sistema operacional utiliza a 
interrupção 21h por meio de passagem de parâmetros, uso para entrada de teclado, 
saída na tela e retorno ao DOS, entre outros serviços. 
9
O que segue mostra as classes de interrupções. Vamos conhecê-las?
Classes de interrupções
Classes de Interrupções
Interrupção de software
Gerada por alguma condição que ocorra como resultado 
da execução de uma instrução, tal como overflow em uma 
operação aritmética, divisão por zero, tentativa de executar 
uma instrução de máquina ilegal e referência a um endereço 
de memória fora do espaço do programa.
Interrupção de relógio
Gerada pelo relógio interno do processador. Esse tipo de 
interrupção permite que o sistema operacional execute certas 
funções a intervalos de tempos regulares.
Interrupção de entrada 
e saída
Gerada por um controlador de e/s para sinalizar a conclusão 
de uma operação ou para sinalizar a ocorrência de uma 
situação de erro.
Interrupção de falha de 
hardware
Gerada na ocorrência de uma falha, tal como queda de energia 
ou erro de paridade de memória.
Fonte: Adaptado de Stallings (2002, p. 63). 
As interrupções por software podem ser ativadas diretamente por programas 
Assembly (linguagem de montagem), invocando da interrupção desejada com a 
instrução INT. O uso das interrupções facilita bastante a criação de programas, 
tornando-os menores. Pode-se chamar uma função, por exemplo, a função de E/S 
21h (que apresenta vários serviços): 
• MOV AH, 2
• INT 21h
Nessa operação, usamos o serviço “2” inserido no registrador AH do processador 
antes da chamada da função (INT 21h) para escrever o caractere que está em DL 
(registrador de dados) na tela.
10
Fechamento 
Chegamos ao final do estudo sobre os tipos de instruções de dados e tipos 
de endereçamento, e compreendemos sobre os tipo de instruções que são 
classificadas em processamento de dados, armazenamento de dados, instruções 
de memória, movimentação de dados: instruções de E/S e controle. Em um segundo 
momento, estudamos os tipos de endereçamento, classificados em endereçamento 
por base; endereçamento direto; endereçamento imediato; endereçamento indireto 
por registro; endereçamento indexado; endereçamento por base indexada. Por fim, 
compreendemos as funções utilizadas pelos computadores para a execução de 
diversos serviços do sistema operacional.
11
Referências
NULL, L.; LOBUR, J. Princípios Básicos de Arquitetura e Organização de 
Computadores. Porto Alegre: Bookman, 2010. 
STALLINGS, W. Arquitetura e Organização de Computadores: projeto para o 
desempenho. São Paulo: Prentice Hall, 2002.
WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: 
Bookman, 2012.

Outros materiais