Assembly (1)
16 pág.

Assembly (1)


DisciplinaAnálise Textual9.582 materiais293.987 seguidores
Pré-visualização5 páginas
University of Guadalajara 
 Information Sistems General Coordination. 
 Culture and Entertainment Web 
 
 June 12th 1995 
Copyright(C)1995-1996 
 
***************************************************************************** 
* Este tutorial foi traduzido para o Portugu\u2c6s 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. 
 
**************************************************************************** 
 
 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 
 --------------- --- ----------------- --------------- 
 
 Conte£do: 
 
 1.Introdu\u2021Æo 
 2.Conceitos B sicos 
 3.Programa\u2021Æo Assembly 
 4.Instru\u2021äes Assembly 
 5.Interrup\u2021äes e ger\u2c6ncia de arquivos 
 6.Macros e procedimentos 
 7.Exemplos de programas 
 8.Bibliografia 
 
 
***************************************************************************** 
 
 CAPÖTULO 1: INTRODU\u20acÇO 
 
Conte£do: 
 
1.1.O que h de novo neste material 
1.2.Apresenta\u2021Æo 
1.3.Por que aprender Assembly? 
1.4.N¢s precisamos da sua opiniÆo 
 
 --------------- // --------------- 
 
1.1.O que h de novo neste material: 
 
Ap¢s um ano da realiza\u2021Æo da primeira versÆo do tutorial, e atrav\u201as das 
opiniäes recebidas por e-mail, resolvemos ter por disposi\u2021Æo todos estes 
coment rios e sugestäes. Esperamos que atrav\u201as deste novo material Assembly, 
as pessoas que se mostrarem interessadas possam aprender mais sobre o seu 
IBM PC. Esta nova edi\u2021Æo do tutorial inclui: 
 
Page 1 of 16
21/7/2009http://www.b4silisco.com/ASMPOR.TXT
Uma se\u2021Æo completa sobre como usar o programa debug. 
Mais exemplos de programas. 
Um motor de pesquisa, para qualquer t¢pico ou item relacionado \u2026 esta 
nova versÆo. 
Consider vel reorganiza\u2021Æo e revisÆo do material Assembly. 
Em cada se\u2021Æo, h um link para o Dicion rio On-line de Computa\u2021Æo de 
Dennis Howe. 
 
 
1.2.Apresenta\u2021Æo: 
 
Este tutorial destina-se \u2026quelas 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 \u201a o funcionamento 
dos recursos internos do processador, os exemplos descritos nÆo sÆo 
compat¡veis com qualquer outra arquitetura. 
 
As informa\u2021äes estÆo dispostas em unidades ordenadas para permitir f cil 
acesso a cada t¢pico, bem como uma melhor navega\u2021Æo pelo tutorial. 
 
Na se\u2021Æ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 \u201a 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 \u201a que voc\u2c6 pode ter um controle total sobre o PC ao fazer 
uso do assembler. 
 
Uma outra razÆo \u201a 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\u2021Æo ideal nos 
programas, seja no seu tamanho ou execu\u2021Æo. 
 
 
1.4.N¢s precisamos da sua opiniÆo: 
 
Nosso intuito \u201a oferecer um modo simples para que voc\u2c6 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\u2021Æo b sica de um sistema computacional. 
 2.2.Conceitos b sicos da Linguagem Assembly 
 2.3.Usando o programa debug 
 
 --------------- // --------------- 
 
Esta se\u2021Æ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
21/7/2009http://www.b4silisco.com/ASMPOR.TXT
 
 
2.1.DESCRI\u20acÇ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\u2021Æo de um computador, 
incluindo os perif\u201aricos e o sistema operacional. 
 
 
2.1.1.Processador Central. 
 
\ufffd tamb\u201am conhecido por CPU ou Unidade Central de Processamento, que por sua 
vez \u201a composta pela unidade de controle e unidade de l¢gica e aritm\u201atica. 
Sua fun\u2021Æo consiste na leitura e escrita do conte£do das c\u201alulas de mem¢ria, 
regular o tr fego de dados entre as c\u201alulas de mem¢ria e registradores 
especiais, e decodificar e executar as instru\u2021äes de um programa. 
 
O processador tem uma s\u201arie de c\u201alulas de mem¢ria usadas com freq\ufffd\u2c6ncia e, 
dessa forma, sÆo partes da CPU. Estas c\u201alulas sÆo conhecidas com o nome de 
registradores. Um processador de um PC possui cerca de 14 registradores. 
Como os PCs tem sofrido evolu\u2021Æo veremos que podemos manipular registradores 
de 16 ou 32 bits. 
 
A unidade de l¢gica e aritm\u201atica da CPU realiza as opera\u2021äes relacionadas ao 
c lculo simb¢lico e num\u201arico. Tipicamente estas unidades apenas sÆo capazes 
de realizar opera\u2021äes elementares, tais como: adi\u2021Æo e subtra\u2021Æo de dois 
n£meros inteiros, multiplica\u2021Æo e divisÆo de n£mero inteiro, manuseio de 
bits de registradores e compara\u2021Æo do conte£do de dois registradores. 
 
Computadores pessoais podem ser classificados pelo que \u201a conhecido como 
tamanho da palavra, isto \u201a, a quantidade de bits que o processador \u201a capaz 
de manusear de uma s¢ vez. 
 
 
2.1.2.Mem¢ria Principal. 
 
\ufffd um grupo de c\u201alulas, agora sendo fabricada com semi-condutores, usada para 
processamentos gerais, tais como a execu\u2021Æo de programas e o armazenamento 
de informa\u2021äes para opera\u2021äes. 
 
Cada uma das c\u201alulas pode conter um valor num\u201arico e \u201a capaz de ser 
endere\u2021ada, isto \u201a, pode ser identificada de forma singular em rela\u2021Æo \u2026s 
outras c\u201alulas pelo uso de um n£mero ou endere\u2021o. 
 
O nome gen\u201arico destas mem¢rias \u201a Random Access Memory ou RAM. A principal 
desvantagem deste tipo de mem¢ria \u201a o fato de que seus circuitos integrados 
perdem a informa\u2021Æo que armazenavam quando a energia el\u201atrica for 
interrompida, ou seja, ela \u201a vol til. Este foi o motivo que levou \u2026 cria\u2021Æo 
de um outro tipo de mem¢ria cuja informa\u2021Æo nÆo \u201a perdida quando o sistema \u201a 
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
21/7/2009http://www.b4silisco.com/ASMPOR.TXT
processador se comunique com o exterior atrav\u201as de interfaces que permitem a 
entrada e a sa¡da de informa\u2021Æo entre ele e a mem¢ria. Atrav\u201as do uso destas 
comunica\u2021äes \u201a poss¡vel introduzir informa\u2021Æo a ser processada e mais tarde 
visualizar os dados processados. 
 
Algumas das