A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de Computadores

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Computadores"— Transcrição da apresentação:

1 Arquitetura de Computadores
Nível da linguagem de montagem III

2 Introdução básica a linguagem Assembly
Será apresentado nesta aula uma introdução ao assembly do processador 8088. Tal assembly é baseado no Microsoft MASM, porém possui algumas modificações existentes no assembly utilizado nos SOs baseados no UNIX. Para podermos entender a sintaxe da linguagem, serão apresentados os seguintes aspectos do MASM: Organização da memória; Registradores acessíveis; Modos de endereçamento; Instruções; Pseudo-instruções;

3 Organização da memória
A memória do 8088 consiste apenas em um vetor de bytes de 8 bits endereçáveis. Essa memória é utilizada para armazenamento de instruções, pilha e dados. O 8088 separa a memória em 4 segmentos de bytes cada: Código; Dados; Pilha; Extra;

4 Registradores Está disponível para o programador assembly o acesso a o seguinte grupo de registradores: Registradores gerais; Registradores de segmento; Registradores de ponteiro e índice; Registradores de flag.

5 Registradores gerais

6 Registradores gerais AX BX CX DX Acumulador.
Comumente usado em operações matemáticas e de E/S. BX Base. Comumente usado como uma base ou registrador apontador. CX Contador. Usado freqüentemente em loops. DX Deslocamento. Similar ao registrador de base.

7 Registradores gerais Estes registradores são definidos como registradores de uso geral, pois podemos realmente armazenar qualquer coisa que quisermos neles. São também registradores de 16 bits, o que significa que podemos armazenar um inteiro positivo de 0 a , ou um inteiro com sinal de to AX tem um intervalo de 0 até FFFF. Isto significa que existe um intervalo de 0 até FF para AH e AL. Se tivermos de armazenar A61D em AX, AH conterá A6, e AL conterá 1D.

8 Registradores de segmento

9 Registradores de segmento
CS Segmento de código. O bloco de memória onde o código é armazenado. DS Segmento de dados. A área na memória onde os dados são armazenados. Durante operações de bloco, quando grandes blocos de dados são movidos, este é o segmento a que a CPU comumente se refere. ES Segmento extra. Apenas outro segmento de dados, mas este é comumente usado quando se quer acessar o vídeo. SS É o segmento de pilha, em que a CPU armazena endereços de retorno de sub-rotinas.

10 Registradores de ponteiro e índice

11 Registradores de ponteiro e índice
SI Índice de fonte. Freqüentemente usado para movimentações de blocos de instruções. Este é um ponteiro que, com um segmento, geralmente DS, é usado pela CPU para leitura. DI Índice de destino. Novamente, você o usará muito. Um outro ponteiro que, com um segmento, geralmente ES, é usado para escrita pela CPU. BP Apontador da base, usado em conjunto com o segmento de pilha. SP Apontador da pilha, comumente usado com o segmento de pilha.

12 Registradores de flags

13 Registradores de flags
Funcionam como sinalizadores. As flags são apenas um bit de memória e se localizam dentro do processador. Como cada flag é apenas um bit, num dado momento elas só podem ser 1 ou 0 ("setada" ou "zerada"). Existem seis flags usadas para indicar o resultado de certas instruções. Um uso comum das flags é o de desviar a execução para um ponto em particular do código usando instruções de salto condicinal. Estas instruções farão o salto ou não dependendo do estado de uma ou mais flags. Apenas cinco das flags podem ser usadas deste modo - zero, sinal, carry, overflow e paridade. A sexta flag (carry auxiliar) e a sétima flag (flag de direção) são lidas por outro tipo de instrução.

14 Registradores de flags
SF - Flag de Sinal; ZF - Flag de Zero; AF - Flag Auxiliar; PF - Flag de Paridade. CF - Flag de Carry (vai um).

15 Modos de endereçamento

16 Modos de endereçamento

17 Instruções

18 Instruções

19 Instruções

20 Pseudo instruções

21 Rastreador


Carregar ppt "Arquitetura de Computadores"

Apresentações semelhantes


Anúncios Google