Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Assembly cap1, Notas de estudo de Engenharia Telemática

Introdução aos microcontroladores

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 30/11/2010

samuel-santos-22
samuel-santos-22 🇧🇷

4.6

(41)

262 documentos

1 / 9

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Cap.1 – Introdução aos Microcomputadores Digitais
Página 1 de 9
1. Introdução aos Microcomputadores Digitais
1.1 Organização de um computador digital
Um computador digital pode ser descrito de uma forma simplificada segundo
o diagrama de blocos:
CLOCK
MEMÓRIA
PRINCIPAL
DE ENTRADA
E SAÍDA
UNIDADE CENTRAL DE PROCESSAMENTO - CPU
UNIDADE
DISPOSITIVOS
DE E/S
Barramento de dados
Barramento de endereços
Barramento de controle
REGS. DE
PROPÓSITO
GERAL
UNIDADE DE
ARITMÉTICA E LÓGICA
UNID. DE
CONTROLE
REGS.
ESPECIAIS
pf3
pf4
pf5
pf8
pf9

Pré-visualização parcial do texto

Baixe Assembly cap1 e outras Notas de estudo em PDF para Engenharia Telemática, somente na Docsity!

1. Introdução aos Microcomputadores Digitais

1.1 Organização de um computador digital

Um computador digital pode ser descrito de uma forma simplificada segundo o diagrama de blocos:

CLOCK

MEMÓRIA PRINCIPAL

DE ENTRADA E SAÍDA

UNIDADE CENTRAL DE PROCESSAMENTO - CPU

UNIDADE

DISPOSITIVOS DE E/S

Barramento de dados

Barramento de endereços

Barramento de controle

REGS. DE PROPÓSITO GERAL

UNIDADE DE ARITMÉTICA E LÓGICA

UNID. DE CONTROLE

REGS. ESPECIAIS

  • Unidade Central de Processamento: - UCP ou CPU
    • Unidade de Controle - UC
    • Unidade de Aritmética e Lógica - UAL ou ULA
    • Registradores de Propósito Geral
    • Registradores Específicos
      • Reg. de Dados da Memória - RDM
      • Reg. de Endereços da Memória - REM
      • Contador de Programa ( Program Counter ) - PC
      • Registrador de Instruções - RI
      • Apontador de Pilha ( Stack Pointer ) - SP
      • Outros (conforme a CPU)
  • Memória Principal
  • Memória Secundária
  • Unidade de E/S
    • Interfaces
    • Canais de E/S
    • Processadores de E/S
  • Dispositivos de E/S

Histórico :

  • Primeiros computadores eletrônicos surgiram na década de 30
  • IBM PC foi concebido em 1980

1.3 A CPU e a execução de um programa

MEMÓRIA

UNIDADE CENTRAL DE PROCESSAMENTO - CPU

Barramento de dados Barramento de endereços Barramento de controle

UNIDADE DE ARITMÉTICA E LÓGICA

UNID. DE CONTROLE

A B C D E F ... ...

RI

SP

RDM REM PC

Ciclo de busca e execução de uma instrução

1a. etapa: Busca da instrução na memória (“ FETCH ”) REM <-- PC RDM <-- (REM)

2a. etapa: Decodificação da instrução RI <-- RDM ocorre a decodificação do conteúdo de RI na UC PC <-- PC + n

3a. etapa: Busca dos operandos da instrução (se houver) REM <-- endereço do operando (Ex: REM <-- REM + 1) RDM <-- (REM)

4a. etapa: Execução da instrução

1.4 Linguagem de máquina e linguagem montadora

Exemplo de um mesmo programa em linguagens de máquina e montadora:

Instrução de máquina (binário) Operação

10100001 00000000 00000000 Busca o conteúdo da palavra de memória 0 e o coloca no reg. AX 00000101 00000100 00000000 Adiciona 4 ao reg. AX

10100011 00000000 00000000 Armazena o conteúdo de AX na palavra de memória de endereço 0

Instrução em linguagem montadora Comentários

MOV AX,A ; busca o conteúdo da posição de ; memória dada por A e o coloca no ; reg. AX ADD AX,4h ; adiciona 4 a AX, resultado em AX ; MOV A, AX ; armazena o conteúdo de AX na ; posição de memória definida por A

Observa-se que:

  • para cada instrução em linguagem montadora corresponde apenas uma instrução em linguagem de máquina;
  • uma instrução em linguagem de máquina pode corresponder a mais de um byte;
  • a programação em linguagem de máquina é tediosa e suscetível a erros.

O programa ECO completo:

TITLE PROGRAMA DE ECO DO TECLADO NA TELA .MODEL SMALL .STACK 100h .CODE MAIN PROC ; ;apresentacao do prompt ’?’ MOV AH,2 ;funcao DOS para exibir caracter MOV DL,’?’ ;caracter ’?’ INT 21h ;exibir ; ;entrada do caracter pelo teclado MOV AH,1 ;funcao DOS para leitura de caracter INT 21h ;caracter e’ lido em AL MOV BL,AL ;salvando-o temporariamente em BL ; ;movendo de linha MOV AH,2 ;funcao DOS para exibir caracter MOV DL,0Dh ;caracter ASCII - return INT 21h ;executando MOV DL,0Ah ;caracter ASCII - line feed INT 21h ;executando ; ;exibindo na tela o caracter lido: efeito de ECO MOV DL,BL ;recuperando o caracter salvo INT 21h ;exibir ; ;retorno ao DOS MOV AH,4Ch ;funcao DOS para saida INT 21h ;saindo MAIN ENDP END MAIN

Explicando as partes :

a) O programa inicia sua operação ao ser lançado pelo DOS.

b) O usuário é estimulado a interagir pela apresentação de um ‘?’:

MOV AH,2 ;funcao DOS para exibir caracter MOV DL,'?' ;caracter '?' INT 21h ;exibir

c) Lendo o caracter teclado pelo usuário e salvando-o em num registrador:

MOV AH,1 ;funcao DOS para leitura de caracter INT 21h ;caracter e' lido em AL MOV BL,AL ;salvando-o em BL

d) Movendo o cursor da tela para o início da próxima linha:

MOV AH,2 ;funcao DOS para exibir caracter MOV DL,0Dh ;caracter ASCII - return INT 21h ;executando MOV DL,0Ah ;caracter ASCII - line feed INT 21h ;executando

e) Recuperando o caracter lido e exibindo-o:

MOV DL,BL ;recuperando o caracter salvo INT 21h ;exibir

f) O programa termina devolvendo controle ao DOS:

MOV AH,4Ch ;funcao DOS para saida INT 21h ;saindo