Você está na página 1de 9

Cap.

1 Introduo aos Microcomputadores Digitais

1. Introduo aos Microcomputadores Digitais


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

MEMRIA PRINCIPAL

Barramento de dados Barramento de endereos Barramento de controle

CLOCK

REGS. DE PROPSITO GERAL

REGS. ESPECIAIS UNIDADE DE ENTRADA UNID. DE E SADA

UNIDADE DE ARITMTICA E LGICA

CONTROLE

UNIDADE CENTRAL DE PROCESSAMENTO - CPU

DISPOSITIVOS DE E/S

Pgina 1 de 9

Cap.1 Introduo aos Microcomputadores Digitais

Unidade Central de Processamento: Unidade de Controle Unidade de Aritmtica e Lgica Registradores de Propsito Geral Registradores Especficos Reg. de Dados da Memria Reg. de Endereos da Memria Contador de Programa (Program Counter) Registrador de Instrues Apontador de Pilha (Stack Pointer) Outros (conforme a CPU) Memria Principal Memria Secundria Unidade de E/S Interfaces Canais de E/S Processadores de E/S Dispositivos de E/S

- UCP ou CPU - UC - UAL ou ULA

- RDM - REM - PC - RI - SP

Histrico: Primeiros computadores eletrnicos surgiram na dcada de 30 IBM PC foi concebido em 1980

Pgina 2 de 9

Cap.1 Introduo aos Microcomputadores Digitais

1.2 Memria

Memria: local do computador (hardware) onde se armazenam temporria ou definitivamente dados (nmeros, caracteres e instrues)

Posio de memria ou endereo: localidade fsica da memria onde se encontra o dado.

Organizao da memria: Endereo ... 4MB ... 1048576 ... 1765 ... 4 3 2 1 0 Contedo ... 10110101 ... 01001010 ... 01001101 ... 01010000 11111111 11101001 11011010 01100100

Obs: no 8086, a memria organizada em bytes (conjunto de 8 bits).

Pgina 3 de 9

Cap.1 Introduo aos Microcomputadores Digitais

1.3 A CPU e a execuo de um programa


MEMRIA Barramento de dados Barramento de endereos Barramento de controle A C E ... B D F ... UNID. DE UNIDADE DE ARITMTICA E LGICA CONTROLE RDM REM PC RI SP

UNIDADE CENTRAL DE PROCESSAMENTO - CPU

Ciclo de busca e execuo de uma instruo 1a. etapa: Busca da instruo na memria (FETCH) REM <-- PC RDM <-- (REM) 2a. etapa: Decodificao da instruo RI <-- RDM ocorre a decodificao do contedo de RI na UC PC <-- PC + n 3a. etapa: Busca dos operandos da instruo (se houver) REM <-- endereo do operando (Ex: REM <-- REM + 1) RDM <-- (REM) 4a. etapa: Execuo da instruo

Pgina 4 de 9

Cap.1 Introduo aos Microcomputadores Digitais

1.4 Linguagem de mquina e linguagem montadora

Exemplo de um mesmo programa em linguagens de mquina e montadora:

Instruo de mquina (binrio) 10100001 00000000 00000000 00000101 00000100 00000000 10100011 00000000 00000000

Operao Busca o contedo da palavra de memria 0 e o coloca no reg. AX Adiciona 4 ao reg. AX Armazena o contedo de AX na palavra de memria de endereo 0

Instruo em linguagem montadora MOV AX,A

Comentrios ; busca o contedo da posio de ; memria dada por A e o coloca no ; reg. AX ; adiciona 4 a AX, resultado em AX ; ; armazena o contedo de AX na ; posio de memria definida por A

ADD AX,4h MOV A, AX

Observa-se que: para cada instruo em linguagem montadora corresponde apenas uma instruo em linguagem de mquina; uma instruo em linguagem de mquina pode corresponder a mais de um byte; a programao em linguagem de mquina tediosa e suscetvel a erros.

Pgina 5 de 9

Cap.1 Introduo aos Microcomputadores Digitais

1.5 Atividade prtica: Criando e rodando um programa

A especificao do programa ECO DO TECLADO NA TELA: - iniciar - apresentar um prompt ao usurio - ler um caracter do teclado - exibir o caracter lido na prxima linha da tela do monitor - terminar

O fluxograma:

Incio

Apresentar um prompt

Ler um caracter do teclado

Mudar de linha

Exibir caracter lido

Fim

Pgina 6 de 9

Cap.1 Introduo aos Microcomputadores Digitais

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 <CR> - return INT 21h ;executando MOV DL,0Ah ;caracter ASCII <LF> - 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

Pgina 7 de 9

Cap.1 Introduo aos Microcomputadores Digitais

Explicando as partes: a) O programa inicia sua operao ao ser lanado pelo DOS. b) O usurio estimulado a interagir pela apresentao de um ?: MOV AH,2 MOV DL,'?' INT 21h ;funcao DOS para exibir caracter ;caracter '?' ;exibir

c) Lendo o caracter teclado pelo usurio e salvando-o em num registrador: MOV AH,1 INT 21h MOV BL,AL ;funcao DOS para leitura de caracter ;caracter e' lido em AL ;salvando-o em BL

d) Movendo o cursor da tela para o incio da prxima linha: MOV AH,2 MOV DL,0Dh INT 21h MOV DL,0Ah INT 21h ;funcao DOS para exibir caracter ;caracter ASCII <CR> - return ;executando ;caracter ASCII <LF> - line feed ;executando

e) Recuperando o caracter lido e exibindo-o: MOV DL,BL INT 21h ;recuperando o caracter salvo ;exibir

f) O programa termina devolvendo controle ao DOS: MOV AH,4Ch INT 21h ;funcao DOS para saida ;saindo

Pgina 8 de 9

Cap.1 Introduo aos Microcomputadores Digitais

Como obter o programa ECO.EXE executvel. 1. Edite o program ECO utilizando um editor de texto simples, com sada em texto ASCII. Sugesto: use o EDIT do DOS ou o Bloco de Notas (NOTEPAD) do Windows. Sugere-se que o arquivo (texto ASCII) tenha a extenso .ASM

C:\ > EDIT ECO.ASM <enter>

2. Rode o programa Montador TASM (Borland). Como resultado, aparece em seu diretrio de trabalho um arquivo ECO.OBJ

C:\ > TASM ECO. ASM <enter>

3. Rode o programa Lincador TLINK. Como resultado, aparece em seu diretrio de trabalho um arquivo ECO.EXE.

C:\ > TLINK ECO.OBJ <enter>

4. Rode o programa ECO.EXE, respondendo ao ? com uma letra K, por exemplo. C:\ > ECO.EXE <enter> ?K K C:\ >

<- letra K digitada pelo usurio <- eco da letra K aparece na tela <- note que o controle retorna ao DOS

Tente com outras letras ou procure modificar o programa para obter outros efeitos com caracteres digitados no teclado.

Pgina 9 de 9