MC404 - Organização de Computadores. e Linguagem de Montagem Instituto de Computação. Universidade Estadual de Campinas



Documentos relacionados
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Aula Prática 1 Introdução à programação Assembly no DOS usando TASM Bruno Silva bs@cin.ufpe.br lauro Moura lauromoura@gmail.com

1) Verifique se o Microsoft.Net Framework 3.5 está instalado, para isto, abrir o Painel de Controle e verificar:

1) Verifique se o Microsoft.Net Framework 3.5 está instalado, para isto, abrir o Painel de Controle e verificar:

Scilab. Introdução ao Scilab. Como obter ajuda

Laboratório - Exploração do FTP

3 Revisão de Software

Softwares de Acessibilidade (DOSVOX) Guia de Consulta

Revisão: - 1 Desinstalando Versões Anteriores

STK (Start Kit DARUMA) Como utilizar o aplicativo udecoder

Google Drive: Acesse e organize seus arquivos

Tutorial de instalação do Java 7 no Windows 7.

CURSO DE INFORMÁTICA BÁSICA AULA 2 O AMBIENTE WINDOWS

Manual Instalação, Configuração e Atualização FullCopyConvert Data FullCopyConvertService

Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR. Julho/2007. Ministério da saúde

GEPLANES GESTÃO DE PLANEJAMENTO ESTRATÉGICO MANUAL DE INSTALAÇÃO DO GEPLANES EM UM AMBIENTE WINDOWS

MANUAL BACKUP XDENTAL 2012

STK (Start Kit DARUMA) Primeiro contato com a Impressora Fiscal, a ECF chegou e agora?

Manual de Instalação de SQL Server (2005, 2008, 2012).

Projeto Amadeus. Guia de Instalação Windows

INSTALANDO SOFTWARE Ifox irestaurantes

Configuração de assinatura de

Atualizaça o do Maker

Nova versão: Para School Control e acima, combinado com uso do Windows 7.

IMPORTANDO ARQUIVOS SHAPEFILE PARA O POSTGIS VIA PROMPT DO DOS

GUIA BÁSICO DA SALA VIRTUAL

Como instalar o Ocomon passo a passo.

Poder Judiciário Tribunal Regional Federal da Terceira Região

STK (Start Kit DARUMA) Extensão PHP para DarumaFrameWork

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Para participar de um mapa colaborativo usando o Cmap Tools

MANUAL GDS TOUCH. Versão: 1.0 Direitos reservados.

PROCEDIMENTO PARA INSTALAR REDE ETHERNET EM CNC s FAGOR.

Ementa: Sigilo bancário. Transmissor Bancário SIMBA. Manual do Usuário.

NÚCLEO DE TECNOLOGIA E EDUCAÇÃO CURSO: WINDOWS MOVIE MAKER TUTORIAL

Instruções Básicas de Instalação - BrOffice.org

STK (Start Kit DARUMA) Procedimento de Instalação da FS700/MACH Conexão USB

STK (Start Kit DARUMA) Observer2 Driver para Linguagens DOS Mini Impressoras Versão 1.0

ÍNDICE. GUIa DE UtIlIzaÇÃo

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Microsoft Office PowerPoint 2007

1 Instalando o VirtualBox no Windows

Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Disciplina de Fundamentos de Comuputadores Professor Raul Ceretta Nunes

Manual de Desbloqueio do Tablet PC

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Caneta Espiã NOVY. Página Introdução:

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão SECRETARIA DE ESTADO DA FAZENDA

Hyper-V e Intel HAXM. Ativando a virtualização

Recuperando o GRUB após instalação do Windows

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

STK (Start Kit DARUMA)

Acessando a Porta Paralela com o Delphi. Vitor Amadeu Souza. vitor@cerne-tec.com.br

PASSO A PASSO MOVIE MAKER

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO.

Guia Sphinx: instalação, reposição e renovação

Tutorial: Programando no Linux

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Nota de Aula: Utilização da IDE Code::Blocks

SuperStore. Sistema para Automação de Óticas. MANUAL DO USUÁRIO (Módulo Estoque)

MANUAL BACKUP CTE. Ao clicar no mencionado botão, aguarde o fim do progresso (que aparece na parte inferior esquerda da tela) conforme figura abaixo:

Lógica de Programação

Ricoh MP Guia do usuário. Scanner

STK (Start Kit DARUMA) Instalando o Driver USB para Mini-impressoras Daruma Windows XP

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Instalando e configurando o Java Development Kit (JDK)

Depuração de Código Utilizando o Dev-C++ - Dicas

Print Audit 6 - SQL Server 2005 Express Edition Installation Guide

MANUAL COMPLEMENTAR PARA INSTALAÇÃO DOS SISTEMAS SIM E SINASC EM AMBIENTES COM WINDOWS 7 (32 BITS)

Iniciação à Informática

LINX POSTOS AUTOSYSTEM

Instalando o Sysloc versão manualmente

Lazarus pelo SVN Linux/Windows

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

STK (Start Kit DARUMA) Driver Genérico Somente Texto para as impressoras Não-Fiscais (DS300, DS348, DR600, DR700) no Windows Seven.

Microsoft Word INTRODUÇÃO

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

Manual Instalação Pedido Eletrônico

1 Code::Blocks Criação de projetos

Instalando software MÉDICO Online no servidor

Guia de instalação para ambiente de Desenvolvimento LINUX

Instalação do ByYou ESB. Guia de Instalação e Atualização do ByYou ESB

Usando o simulador MIPS

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

GERAÇÃO DE NOTA FISCAL PAULISTA BEMATECH RESTEQ RESOLVE TECNOLOGIA BEMATECH 1

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Pré-Venda. Para efetuar a montagem de uma Pré-Venda em seu sistema segue o passo a passo.

17:47:08. Introdução à Informática com Software Livre

Manual do usuário. Softcall Java. versão 1.0.5

STK (Start Kit DARUMA) Driver Genérico Somente Texto para as impressoras Não-Fiscais (DS300, DS348, DR600, DR700) no Windows XP.

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Administração de Sistemas Livres

Transcrição:

MC404 - Organização de Computadores Lab. e Linguagem de Montagem Instituto de Computação 01 Universidade Estadual de Campinas 1 Objetivo O objetivo deste laboratório é fazer com que o aluno se familiarize com o ciclo de desenvolvimento de programas escritos em linguagem assembly 8086. 2 Preliminares O ciclo de desenvolvimento de programas em linguagem de montagem geralmente consiste da edição do programa fonte (através de um editor ASCII), montagem do programa fonte (através de um montador) e linkedição, gerando o programa executável. A figura 1 mostra esse fluxo de desenvolvimento. Figura 1: Ciclo de desenvolvimento Assembly Um depurador também pode ser usado durante a fase de testes do programa, possibilitando a verificação, instrução por instrução, de seu comportamento. 1

3 Ambiente de trabalho Você pode utilizar tanto o Windows como o Linux para realizar as tarefas do laboratório de MC404. Como vamos trabalhar com o processador 8086 em modo real, teremos que utilizar o sistema operacional DOS. As instruções para entrar no ambiente DOS a partir do Windows ou Linux estão a seguir: Windows - basta abrir um prompt de comando (Iniciar -> Executar -> digite cmd) Linux - você precisa executar um programa que emule o ambiente DOS. Um modo é utilizar o dosbox. Verifique se tal ferramenta está instalada em sua máquina abrindo um terminal e digitando dosbox. Para montar uma unidade de disco virtual no dosbox você deve usar o comando mount <unidade> <caminho-linux>. Por exemplo, mount C /home/aluno monta na unidade virtual C do dosbox o diretório /home/aluno do linux. Para acessar a unidade execute <unidade>: e seu ambiente estará pronto para o laboratório. Qualquer dúvida procure o professor responsável. Para obter as ferramentas de desenvolvimento acesse a página do curso localizada em http://www.ic.unicamp.br/~ducatte/mc404. Copie a pasta tools e, se desejar, docs para seu ambiente de trabalho. É recomendado a seguinte estrutura de diretório: + <area-aluno> + mc404 <--- diretório do curso - tools <--- ferramentas de desenvolvimento + labs <--- exercícios de laboratório - lab01 <--- laboratório de hoje - docs <--- documentos É recomendável ainda ajustar o caminho para as ferramentas através do comando PATH: PATH=<area-aluno>\mc404\tools;%PATH% Assim, se sua área estiver em C:, o comando fica: PATH=C:\mc404\tools;%PATH% Dentro da pasta tools estão as seguintes ferramentas: EDIT.COM - editor ASCII TASM.EXE - Turbo assembler (montador) NASM.EXE - Netwide assembler (montador) TLINK.EXE - Turbo linker (ligador) TD.EXE - Turbo Debugger (depurador) Você pode escolher entre os montadores TASM e NASM. As vantagens deste último é que possui uma documentação eletrônica excelente (veja pasta docs), além de contar com versões também para o Linux. Já para obter informações sobre o TASM, você deve consultar o guia do usuário (Borland Turbo Assembler, User s Guide), disponível na biblioteca. A diferença entre os montadores está principalmente nas diretivas de montagem disponíveis. NOTA: Os laboratórios futuros vão utilizar o NASM. 2

4 Atividade 1 Nesta atividade você vai escrever em assembly um programa que imprime Hello World. Não se preocupe em entender o que as instruções do programa fazem, mas sim em utilizar as ferramentas de desenvolvimento. 4.1 Passo 1 Edição Abra o editor EDIT.EXE (ou algum outro de sua preferência) no Linux ou Windows e escreva o programa apresentado na figura 2 se utilizar o TASM, ou o da figura 3, se utilizar o NASM.. MODEL small ; modelo de memoria do programa. STACK 100 h ; tamanho da pilha ( em hexa ). DATA ; segmento de dados ; define mensagem HelloMessage DB Hello World, 13, 10, $. CODE ; segmento de codigo start : mov ax, @data ; faz ds apontar para segmento de dados mov ds, ax mov ah, 9 ; ds: dx -> aponta para mensagem mov dx, OFFSET HelloMessage int 21 h ; chama servico do DOS para escrita no video mov ah, 4Ch ; devolve controle para SO int 21 h END start ; seta ponto de entrada para start Figura 2: Hello World em assembly do 8086 (TASM) segment data ; segmento de dados ; define mensagem HelloMessage : db Hello World, 13, 10, $ segment code ; segmento de codigo.. start : ; ponto de entrada mov ax, data ; faz ds apontar para segmento de dados mov ds, ax mov ah, 9 ; ds: dx -> aponta para mensagem mov dx, HelloMessage int 0 x21 ; chama servico do DOS para escrita no video mov ah, 0 x4c ; devolve controle para SO int 0 x21 segment stack stack ; segmento da pilha resb 0 x100 Figura 3: Hello World em assembly do 8086 (NASM) Após editar o programa salve-o com o nome hello.asm na pasta lab01 e saia do editor. 3

4.2 Passo 2 Montagem Vá até o diretório em que salvou o arquivo hello.asm no passo anterior. Para montar o programa com o TASM, digite: C:\mc404\labs\lab01>TASM hello Já para montar utilizando o NASM, digite: C:\mc404\labs\lab01>NASM -fobj hello.asm Em ambos os casos não deve aparecer nenhuma mensagem de erro. Execute o comando dir do DOS e note que o arquivo objeto hello.obj foi criado. 4.3 Passo 3 Linkedição A linkedição (ou ligação) é feita pelo TLINK (Turbo linker). Digite o comando abaixo: C:\mc404\labs\lab01>TLINK hello Esse passo deve ter criado o arquivo executável hello.exe em seu diretório. 4.4 Passo 4 Execução Para executar o programa simplesmente digite no prompt: C:\mc404\labs\lab01>hello Uma mensagem com Hello World deve ter aparecido! 5 Atividade 2 Depuração Nesta atividade será visto a ferramenta de depuração da Borland, Turbo Debugger (TD). Antes, porém, é necessário informar ao ligador que queremos informações extras de depuração no arquivo.exe. Assim sendo, volte a executar o TLINK usando agora a flag de linha de comando /v. Essa flag informa ao TLINK que desejamos incorporar ao arquivo.exe informacões de depuração. C:\mc404\labs\lab01>TLINK /v hello Agora o arquivo executável hello.exe está apto para ser depurado no TD. Digite a seguinte linha de comando para executar o Turbo Debugger: C:\mc404\labs\lab01>TD hello As principais janelas do TD estão destacadas na figura 4. Neste primeiro laboratório vamos apenas mostrar os comandos mais simples de depuração. Uma seta na janela de segmento de código mostra a instrução corrente (que ainda não foi executada). Para caminhar pelo programa, instrução por instrução, use F7 ou F8. A diferença é que 4

Figura 4: Tela inicial do Turbo Debugger com F7 executa-se subrotinas, se houver (trace into), passo a passo, enquanto que com F8 a subrotina é executada inteiramente em um único passo (step over). Para o exemplo do laboratório elas têm o mesmo comportamento. Caminhe pelas instruções até o programa terminar com a mensagem Terminated, exit code xx. Para resetar o programa, use CTRL+F2. A tecla F9 executa o programa todo de uma vez só. É possível criar pontos de parada (breakpoints) e executar o programa até esses pontos. Para isso, mova com o teclado a linha azul horizontal até alguma instrução e aperte F2. Essa linha vai ficar marcada (vermelha). Teclando F9 o programa será executado até que o primeiro breakpoint seja encontrado (ou o programa termine). Como exemplo, use CTRL+F2 e resete o programa. Agora caminhe até a instrução mov ah,4c. Em seguida pressione F2 para marcar um ponto de parada nessa instrução. A figura 5 mostra esta situação. Agora tecle F9 e note que todas as instruções desde o começo do programa até o ponto de parada foram executadas. Para desmacar o breakpoint basta usar novamente F2. Breakpoints são muito úteis quando se deseja investigar uma determinada área do programa (por exemplo, um procedimento) sem perder tempo caminhando por todas as outras instruções. Para sair do Turbo Debugger utilize a tecla ALT+X. 5

Figura 5: Determinando pontos de parada 6