Prévia do material em texto
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 Cap.1 – Introdução aos Microcomputadores Digitais Página 2 de 9 • 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 Cap.1 – Introdução aos Microcomputadores Digitais Página 3 de 9 1.2 Memória Memória: local do computador (hardware) onde se armazenam temporária ou definitivamente dados (números, caracteres e instruções) Posição de memória ou endereço: localidade física da memória onde se encontra o dado. Organização da memória: Endereço Conteúdo ... ... 4MB 10110101 ... ... 1048576 01001010 ... ... 1765 01001101 ... ... 4 01010000 3 11111111 2 11101001 1 11011010 0 01100100 Obs: no 8086, a memória é organizada em bytes (conjunto de 8 bits). Cap.1 – Introdução aos Microcomputadores Digitais Página 4 de 9 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 Cap.1 – Introdução aos Microcomputadores Digitais Página 5 de 9 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. Cap.1 – Introdução aos Microcomputadores Digitais Página 6 de 9 1.5 Atividade prática: Criando e rodando um programa A especificação do programa ECO DO TECLADO NA TELA: - iniciar - apresentar um prompt ao usuário - ler um caracter do teclado - exibir o caracter lido na próxima linha da tela do monitor - terminar O fluxograma: Início Apresentar um prompt Ler um caracter do teclado Mudar de linha Exibir caracter lido Fim Cap.1 – Introdução aos Microcomputadores Digitais Página 7 de 9 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 Cap.1 – Introdução aos Microcomputadores Digitais Página 8 de 9 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 <CR> - return INT 21h ;executando MOV DL,0Ah ;caracter ASCII <LF> - 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 Cap.1 – Introdução aos Microcomputadores Digitais Página 9 de 9 Como obter o programa ECO.EXE executável. 1. Edite o program ECO utilizando um editor de texto simples, com saída em texto ASCII. Sugestão: use o EDIT do DOS ou o Bloco de Notas (NOTEPAD) do Windows. Sugere-se que o arquivo (texto ASCII) tenha a extensão .ASM C:\ > EDIT ECO.ASM <enter> 2. Rode o programa Montador TASM (Borland). Como resultado, aparece em seu diretório de trabalho um arquivo ECO.OBJ C:\ > TASM ECO. ASM <enter> 3. Rode o programa Lincador TLINK. Como resultado, aparece em seu diretório 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 <- letra K digitada pelo usuário K <- eco da letra K aparece na tela C:\ > <- 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.