Preview only show first 10 pages with watermark. For full document please download

Assembly Cap1

Introdução aos microcontroladores

   EMBED


Share

Transcript

Cap.1 – Introdução aos Microcomputadores Digitais 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: MEMÓRIA PRINCIPAL Barramento de dados CLOCK Barramento de endereços Barramento de controle REGS. DE REGS. ESPECIAIS PROPÓSITO UNIDADE GERAL DE ENTRADA UNID. DE UNIDADE DE ARITMÉTICA E LÓGICA E SAÍDA CONTROLE UNIDADE CENTRAL DE PROCESSAMENTO - CPU DISPOSITIVOS DE E/S Página 1 de 9 Cap.1 – Introdução aos Microcomputadores Digitais • Unidade Central de Processamento: • Unidade de Controle • Unidade de Aritmética e Lógica • Registradores de Propósito Geral • Registradores Específicos • Reg. de Dados da Memória • Reg. de Endereços da Memória • Contador de Programa (Program Counter) • Registrador de Instruções • Apontador de Pilha (Stack Pointer) • Outros (conforme a CPU) - UCP ou CPU - UC - UAL ou ULA - RDM - REM - PC - RI - SP • 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 Página 2 de 9 Cap.1 – Introdução aos Microcomputadores Digitais 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 ... 4MB ... 1048576 ... 1765 ... 4 3 2 1 0 Conteúdo ... 10110101 ... 01001010 ... 01001101 ... 01010000 11111111 11101001 11011010 01100100 Obs: no 8086, a memória é organizada em bytes (conjunto de 8 bits). Página 3 de 9 Cap.1 – Introdução aos Microcomputadores Digitais 1.3 A CPU e a execução de um programa MEMÓRIA Barramento de dados Barramento de endereços Barramento de controle A B C D E F ... ... RDM REM PC RI SP UNID. DE UNIDADE DE ARITMÉTICA E LÓGICA CONTROLE UNIDADE CENTRAL DE PROCESSAMENTO - CPU 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 Página 4 de 9 Cap.1 – Introdução aos Microcomputadores Digitais 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 Adiciona 4 ao reg. AX 00000101 00000100 00000000 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 ADD AX,4h MOV A, AX ; busca o conteúdo da posição de ; memória dada por A e o coloca no ; reg. AX ; adiciona 4 a AX, resultado em 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. Página 5 de 9 Cap.1 – Introdução aos Microcomputadores Digitais 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 Página 6 de 9 Cap.1 – Introdução 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 - 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 Página 7 de 9 Cap.1 – Introdução aos Microcomputadores Digitais 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 MOV DL,'?' INT 21h ;funcao DOS para exibir caracter ;caracter '?' ;exibir c) Lendo o caracter teclado pelo usuário 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 início da próxima linha: MOV AH,2 MOV DL,0Dh INT 21h MOV DL,0Ah INT 21h ;funcao DOS para exibir caracter ;caracter ASCII - return ;executando ;caracter ASCII - 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 Página 8 de 9 Cap.1 – Introdução aos Microcomputadores Digitais 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 2. Rode o programa Montador TASM (Borland). Como resultado, aparece em seu diretório de trabalho um arquivo ECO.OBJ C:\ > TASM ECO. ASM 3. Rode o programa Lincador TLINK. Como resultado, aparece em seu diretório de trabalho um arquivo ECO.EXE. C:\ > TLINK ECO.OBJ 4. Rode o programa ECO.EXE, respondendo ao ‘?’ com uma letra K, por exemplo. C:\ > ECO.EXE ?K K C:\ > <- letra K digitada pelo usuário <- 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. Página 9 de 9