T u t o r i a l d e l i n g u a g e m a s s e m b l y

T u t o r i a l d e l i n g u a g e m a s s e m b l y

(Parte 1 de 5)

University of Guadalajara

Information Sistems General Coordination. Culture and Entertainment Web

*Este tutorial foi traduzido para o Portugus por Jeferson Amaral. *
*e-mail: amaral@inf.ufsm.br *

Este tutorial tem o intuito de apenas introduzir o leitor ao mundo da programacao em Linguagem Assembly, nao tem, portanto e de forma alguma, plano de esgotar o assunto.

Copyright (C) 1995-1996, Hugo Perez Perez. Anyone may reproduce this document, in whole or in part, provided that:

(1) any copy or republication of the entire document must show University of

Guadalajara as the source, and must include this notice; and (2) any other use of this material must reference this manual and University of Guadalajara, and the fact that the material is copyright by Hugo Perez and is used by permission.

Conte£do:

1.Introdu‡Æo 2.Conceitos B sicos 3.Programa‡Æo Assembly 4.Instru‡äes Assembly 5.Interrup‡äes e gerncia de arquivos 6.Macros e procedimentos 7.Exemplos de programas 8.Bibliografia

Conte£do:

1.1.O que h de novo neste material 1.2.Apresenta‡Æo 1.3.Por que aprender Assembly? 1.4.N¢s precisamos da sua opiniÆo

Ap¢s um ano da realiza‡Æo da primeira versÆo do tutorial, e atrav‚s das opiniäes recebidas por e-mail, resolvemos ter por disposi‡Æo todos estes coment rios e sugestäes. Esperamos que atrav‚s deste novo material Assembly, as pessoas que se mostrarem interessadas possam aprender mais sobre o seu IBM PC. Esta nova edi‡Æo do tutorial inclui:

Page 1 of 16

Uma se‡Æo completa sobre como usar o programa debug. Mais exemplos de programas. Um motor de pesquisa, para qualquer t¢pico ou item relacionado … esta nova versÆo. Consider vel reorganiza‡Æo e revisÆo do material Assembly. Em cada se‡Æo, h um link para o Dicion rio On-line de Computa‡Æo de Dennis Howe.

Este tutorial destina-se …quelas pessoas que nunca tiveram contato com a Linguagem Assembly.

O tutorial est completamente focado em computadores com processadores 80x86 da fam¡lia Intel, e considerando que a base da linguagem ‚ o funcionamento dos recursos internos do processador, os exemplos descritos nÆo sÆo compat¡veis com qualquer outra arquitetura.

As informa‡äes estÆo dispostas em unidades ordenadas para permitir f cil acesso a cada t¢pico, bem como uma melhor navega‡Æo pelo tutorial.

Na se‡Æo introdut¢ria sÆo mencionados alguns conceitos elementares sobre computadores e a Linguagem Assembly em si.

1.3.Por que aprender Assembly?

A primeira razÆo para se trabalhar com o assembler ‚ a oportunidade de conhecer melhor o funcionamento do seu PC, o que permite o desenvolvimento de programas de forma mais consistente.

A segunda razÆo ‚ que voc pode ter um controle total sobre o PC ao fazer uso do assembler.

Uma outra razÆo ‚ que programas assembly sÆo mais r pidos, menores e mais poderosos do que os criados com outras linguagens.

Ultimamente, o assembler (montador) permite uma otimiza‡Æo ideal nos programas, seja no seu tamanho ou execu‡Æo.

1.4.N¢s precisamos da sua opiniÆo:

Nosso intuito ‚ oferecer um modo simples para que voc consiga aprender Assembly por si mesmo. Por tanto, qualquer coment rio ou sugestÆo ser bem-vinda.

CAPÖTULO 2: CONCEITOS BµSICOS Conte£do:

2.1.Descri‡Æo b sica de um sistema computacional. 2.2.Conceitos b sicos da Linguagem Assembly 2.3.Usando o programa debug

Esta se‡Æo tem o prop¢sito de fazer um breve coment rio a respeito dos principais componentes de um sistema computacional, o que ir permitir ao usu rio uma melhor compreensÆo dos conceitos propostos no decorrer do tutorial.

Page 2 of 16

2.1.DESCRI€ÇO DE UM SISTEMA COMPUTACIONAL Conte£do:

2.1.1.Processador Central 2.1.2.Mem¢ria Principal 2.1.3.Unidades de Entrada e Sa¡da 2.1.4.Unidades de Mem¢ria Auxiliar

Sistema Computacional.

Chamamos de Sistema Computacional a completa configura‡Æo de um computador, incluindo os perif‚ricos e o sistema operacional.

2.1.1.Processador Central.

tamb‚m conhecido por CPU ou Unidade Central de Processamento, que por sua vez ‚ composta pela unidade de controle e unidade de l¢gica e aritm‚tica. Sua fun‡Æo consiste na leitura e escrita do conte£do das c‚lulas de mem¢ria, regular o tr fego de dados entre as c‚lulas de mem¢ria e registradores especiais, e decodificar e executar as instru‡äes de um programa.

O processador tem uma s‚rie de c‚lulas de mem¢ria usadas com freq ncia e, dessa forma, sÆo partes da CPU. Estas c‚lulas sÆo conhecidas com o nome de registradores. Um processador de um PC possui cerca de 14 registradores. Como os PCs tem sofrido evolu‡Æo veremos que podemos manipular registradores de 16 ou 32 bits.

A unidade de l¢gica e aritm‚tica da CPU realiza as opera‡äes relacionadas ao c lculo simb¢lico e num‚rico. Tipicamente estas unidades apenas sÆo capazes de realizar opera‡äes elementares, tais como: adi‡Æo e subtra‡Æo de dois n£meros inteiros, multiplica‡Æo e divisÆo de n£mero inteiro, manuseio de bits de registradores e compara‡Æo do conte£do de dois registradores.

Computadores pessoais podem ser classificados pelo que ‚ conhecido como tamanho da palavra, isto ‚, a quantidade de bits que o processador ‚ capaz de manusear de uma s¢ vez.

um grupo de c‚lulas, agora sendo fabricada com semi-condutores, usada para processamentos gerais, tais como a execu‡Æo de programas e o armazenamento de informa‡äes para opera‡äes.

Cada uma das c‚lulas pode conter um valor num‚rico e ‚ capaz de ser endere‡ada, isto ‚, pode ser identificada de forma singular em rela‡Æo …s outras c‚lulas pelo uso de um n£mero ou endere‡o.

O nome gen‚rico destas mem¢rias ‚ Random Access Memory ou RAM. A principal desvantagem deste tipo de mem¢ria ‚ o fato de que seus circuitos integrados perdem a informa‡Æo que armazenavam quando a energia el‚trica for interrompida, ou seja, ela ‚ vol til. Este foi o motivo que levou … cria‡Æo de um outro tipo de mem¢ria cuja informa‡Æo nÆo ‚ perdida quando o sistema ‚ desligado. Estas mem¢rias receberam o nome de Read Only Memory ou ROM.

2.1.3.Unidades de Entrada e Sa¡da. Para que o computador possa ser £til para n¢s se faz necess rio que o

Page 3 of 16 processador se comunique com o exterior atrav‚s de interfaces que permitem a entrada e a sa¡da de informa‡Æo entre ele e a mem¢ria. Atrav‚s do uso destas comunica‡äes ‚ poss¡vel introduzir informa‡Æo a ser processada e mais tarde visualizar os dados processados.

Algumas das mais comuns unidades de entrada sÆo o teclado e o mouse. As mais comuns unidades de sa¡da sÆo a tela do monitor e a impressora.

2.1.4.Unidades de Mem¢ria Auxiliar.

Considerando o alto custo da mem¢ria principal e tamb‚m o tamanho das aplica‡äes atualmente, vemos que ela ‚ muito limitada. Logo, surgiu a necessidade da cria‡Æo de dispositivos de armazenamento pr ticos e econ“micos.

Estes e outros inconvenientes deram lugar …s unidades de mem¢ria auxiliar, perif‚ricos. As mais comuns sÆo as fitas e os discos magn‚ticos.

A informa‡Æo ali armazenada ser dividida em arquivos. Um arquivo ‚ feito de um n£mero vari vel de registros, geralmente de tamanho fixo, podendo conter informa‡Æo ou programas.

2.2.1.Informa‡äes nos computadores 2.2.2.M‚todos de representa‡Æo de dados

2.2.1.Informa‡Æo no computador:

2.2.1.1.Unidades de informa‡Æo 2.2.1.2.Sistemas num‚ricos 2.2.1.3.Convertendo n£meros bin rios para decimais 2.2.1.4.Convertendo n£meros decimais para bin rios 2.2.1.5.Sistema hexadecimal

(Parte 1 de 5)

Comentários