Você está na página 1de 8

FACULDADE DE CINCIAS DE BRASLIA PROJEO CURSO DE REDES DE COMPUTADORES TURMA TRC 2 AN AILSON GONALVES AMANDA DIGENES ANDERSON COUTINHO

HO ANDERSON LUIZ DE CASTRO ASSUNO ANDR ALMEIDA ARQUITETURA DE COMPUTADORES

LINGUAGEM DE MONTAGEM

2 DE ABRIL DE 2!"" FACULDADE DE CINCIAS DE BRASLIA PROJEO CURSO DE REDES DE COMPUTADORES TURMA TRC 2 AN AILSON GONALVES AMANDA DIGENES ANDERSON COUTINHO ANDERSON LUIZ DE CASTRO ASSUNO ANDR ALMEIDA ARQUITETURA DE COMPUTADORES

LINGUAGEM DE MONTAGEM PROFESSOR# PAULO PERES Este trabalho tem o objetivo de demonstrar as principais caractersticas e funes das linguagens de montagem para que possamos entender as etapas do funcionamento completo na execuo de programas de computadores.

'

2 DE ABRIL DE 2!"" SUM$RIO LINGUAGEM DE MONTAGEM

LINGUAGEM DE MONTAGEM "% INTRODUO Um computador para reali ar uma tarefa especfica necessita! segundo "#rio "onteiro $2%%&! p. '()*! a ser instrudo passo a passo. Ele precisa ser projetado com a capacidade de +executar e interpretar, um determinado conjunto de operaes! e esse conjunto de instrues! de uma forma ordenada! - o que chamamos de programa de computador. .tualmente - raro escrever/se um programa diretamente na linguagem da m#quina ou linguagem de baixo nvel $o que abordaremos mais adiante* em virtude da grande dificuldade de organi ao de instrues sem que apresente um n0mero de erros significativo! ou seja! quanto maior o tamanho do programa! maior - a possibilidade de

( erros. 1ara solucionar em parte esse problema foram encontrados alguns m-todos com caractersticas de tecnologia de soft2ares. .bordaremos ento um pequeno esboo ou resumo mais a frente das etapas que definem o processo de execuo de um programa a partir de uma linguagem qualquer ou linguagem acima da linguagem de m#quina $baixo nvel*! descrevendo todas as etapas para que possamos consolidar a execuo completa de um programa. 2% LINGUAGENS DE PROGRAMAO "#rio "onteiro $2%%&! p. '()/'3%* di que o objetivo das linguagens de programao - instruir a m#quina para que o computador possa executar tarefas. Um programa completo! escrito em uma linguagem de programao! - denominado de c4digo. .s linguagens so criadas para instruir o computador a executar tarefas. 5endo assim! o tipo de linguagem de programao mais primitivo que temos - a linguagem que o computador entende diretamente! ou seja! as instrues podem ser executadas diretamente pelo hard2are ou pela 61U $Unidade 6entral de 1rocessamento*. Uma instruo de m#quina - um conjunto de bits! isto -! um programa em linguagem de m#quina - apresentado na forma bin#ria pura. Um programa real em linguagem de m#quina pode ser composto por milhes de instrues! o que torna uma tarefa difcil! pois os detalhes devem ser muito observados pelo programador. 7 programador deve conhecer todas as instrues! os c4digos de operao e formato! os registradores disponveis pela 61U e os endereos da c-lula de mem4ria onde sero arma enados as instrues e dados! e essa s-rie de conhecimento - o que explica a enorme dificuldade do programador abordada anteriormente. 8a tentativa de ameni ar esse obst#culo foi desenvolvida ainda na primeira gerao de computadores uma linguagem que representasse as instrues por smbolos e no por n0meros. Essa linguagem foi denominada como .ssembl9 ou linguagem de montagem $.ssembl9 :anguage*.

&% MONTAGEM E COMPILAO 7s programas de computadores! como j# foram abordados no item anterior! no so escritos na linguagem em que a m#quina entende! mas sim em outras formas simb4licas de representar as instrues. 1or-m a m#quina continua entendendo somente em bin#rio e por isso h# a necessidade de uma traduo de um programa em linguagem simb4lico para outro! equivalente! em linguagem bin#ria. "#rio "onteiro $2%%&! p. '3%/'3&*. &%" MONTAGEM

3 5egundo "#rio "onteiro $2%%&! p. '3&/'3'*! a montagem - reali ada por um programa chamado .ssembler ou montador! e tamb-m - a forma mais simples e r#pida de traduo. ; basicamente utili ado para tornar um programa execut#vel. <asicamente - o seguinte= o programa escrito em linguagem de montagem que chamado de c4digo/fonte - examinado instruo por instruo e convertido para uma linguagem bin#ria $linguagem de m#quina* atrav-s de outro programa montador! para que o este deixe de ser c4digo/fonte e se torne c4digo objeto. 5endo assim= 64digo/fonte montagem $montador* c4digo/objeto 7 .ssembl9 - composto basicamente por quatro partes= >4tulo ? indica um endereo importante para o programa! normalmente o de incio! o endereo de desvio em um loop! e outros@ 7perao ? 6ont-m o c4digo que simboli ar# a operao aritm-tica@ 7perando$s* ? 7nde so inseridos os smbolos representativos dos endereos de mem4ria ou dos registradores em que sero arma enados as informaes e 6oment#rios ? 6ampo opcional! em que o programador adiciona coment#rios para fins diversos. Estes sero ignorados na hora da converso. 7utra caracterstica que fa com que o .ssembler seja muito importante! - que este - especfico de cada U61 $Unidade 6entral de 1rocessamento*! ou seja! um computador pentium no lA as informaes do mesmo modo que um 1o2er 16. Existem dois tipos de montadores= o de um passo e o de dois passos. 7 de um passo! tem como objetivo completar sua tarefa em um 0nico passo e! para isso! ele avalia cada instruo j# montando entradas em outra tabela para endereos que ainda so desconhecidos. .p4s avaliadas as instrues! o programa completa os endereos da tabela. Um dos problemas deste tipo de montagem! - que se o n0mero de endereos desconhecidos for muito grande! suas buscas podero ser to demoradas quanto a montagem de dois passos. 7 de dois passos! que - o mais empregado atualmente! pode demorar mais! devido ao fato de que ele analisa duas ve es todo o programa. Uma para analisar se h# erros e outra para montar uma tabela de smbolos! em que cada entrada corresponde a um smbolo. Ele produ um c4digo diretamente no final da montagem. Ele tamb-m permite que possam ser criados v#rios outros programas independentes e interligados $ligao ou linBedio*! para construir um 0nico programa execut#vel. Uma das maiores vantagens de se usar o .ssembler! - a simplicidade. 1ois ao inv-s do programador escrever v#rias p#ginas em n0meros bin#rios! ele escreve em uma linguagem que ser# posteriormente modificada. Csto facilita o desenvolvimento e o aprimoramento de soft2ares! que com toda a certe a exigiro menos esforo e muito menos tempo. Um exemplo de linguagem de montagem seria a linguagem 6. &%2 COMPILAO

I ; um processo de traduo de um programa escrito em linguagem de alto nvel em uma linguagem de baixo nvel. Esse processo - denominado compilao. 1or exemplo! transformar= Escreva $+Dist4rico.,* ? Esta - uma linguagem de c4digo/fonte montada em 6. 1ara %&&&&%& %&&&&&&%&&%& %%&&%%%&&&&%& %%%%&&&%&&&&%& %&&&&%&&& ? Este - um exemplo hipot-tico de linguagem bin#ria! de m#quina. ; um processo semelhante E montagem! por-m mais complexo e demorado. "#rio "onteiro $2%%&! p. '3'/'3)*! di que inicialmente o compilador far# uma an#lise $l-xica! semFntica e sint#tica* no c4digo/fonte e! ap4s essa an#lise! - gerado um c4digo intermedi#rio e construdo tabelas que auxiliaro a segunda fase! que - a converso ou criao do c4digo/objeto definitivo. '% LIGAO OU LIN(EDIO . ligao ou linBedio pode ser entendida pelo esboo abaixo= 1rograma Gonte 6ompilao $compilador* c4digo/objeto :igao $ligador* bibliotecas .!< e 6 c4digo execut#vel 5egundo "#rio "onteiro $2%%&! p. '3)/'3H*! funciona do seguinte modo= &. 1rimeiramente temos o programa fonte! que - o programa de alto nvel@ 2. Este programa - tradu ido pelo processo de compilao $compilador*@ '. 6riao do c4digo/objeto@ (. D# uma ligao ou linBedio desse c4digo $ligador*! onde ficam arma enadas tarefas em bibliotecas@ 3. 5urgindo assim o c4digo execut#vel. . biblioteca - um conjunto de dados! instrues ou at- outros c4digos/fontes que devero ser executados juntamente com o c4digo/fonte em questo. 5o as chamadas rotinas de entradas e sadas. . linBedio pode gerar um programa execut#vel a partir de um ou mais arquivos objeto.

)% INTERPRETAO . execuo de um programa! como j# abordado em t4picos anteriores! depende de trAs fases distintas. 8o entanto! segundo "#rio "onteiro $2%%&! p. '3H/'I%* a compilao ou a montagem no so as 0nicas maneiras para que um programa se torne execut#vel. D# a interpretao! que embora apresente o mesmo resultado final! - bastante diverso do m-todo compilaoJligaoJexecuo.

) 8o m-todo compilao para que um programa seja executado - necess#rio que todos os comandos do c4digo/fonte sejam convertidos em c4digo/objeto e que tenha todas as referAncias externas resolvidas $etapa da linBedio*. . compilao no compreende execuo e sim apenas a fase de traduo ou converso. K# na interpretao se caracteri a por reali ar as trAs fases $compilao! ligao e execuo*! comando a comando! do programa fonte! ou seja! um programa fonte diretamente interpretado por outro programa e produ o resultado final. 8o h# etapas intermedi#rias como em outros m-todos de traduo $c4digo/ objeto e c4digo execut#vel*. >esumidamente cada comando do c4digo/fonte - lido pelo interpretado e convertido em c4digo execut#vel e imediatamente executado. )%" COMPILAO * INTERPRETAO Le acordo com "#rio "onteiro $2%%&! p. 'I%/'I2*! tanto a compilao quanto a interpretao possuem suas vantagens e desvantagens em relao ao funcionamento de cada m-todo. . principal vantagem da interpretao sobre a compilao identificar e indicar erros no programa/fonte. K# uma desvantagem da interpretao o alto consumo de mem4ria! pois permanece na mem4ria durante todo o processo de execuo do programa! diferente da compilao que s4 utili a a mem4ria durante a fase de compilao! pois apenas utili a por perodos definitivos de tempo. 7utra desvantagem da interpretao em relao E compilao - a possibilidade de partes do c4digo de um programa/fonte ser interpretadas v#rias $infinitas* ve es! um loop por exemplo. E na compilao isso no ocorre! pois isso sempre acontece uma 0nica ve . 8a compilao! a medida que o c4digo execut#vel entra na fase de execuo! a identificao de erros se torna bastante complicado $problem#tico*. 5endo assim a relao entre o c4digo/fonte e o execut#vel na interpretao mais simples porque cada comando/fonte - imediatamente tradu ido e executado.

+% CONCLUSO 7 principal objetivo da linguagem de montagem - facilitar o desenvolvimento de soft2ares! economi ando tempo e recursos. Muando no usado este recurso! o desenvolvedor ter# que dominar todas as combinaes de n0meros bin#rios! que formariam p#ginas e mais p#ginas com milhares e at- milhes de instrues para a execuo de um 0nico soft2are! tudo isso demandaria muito esforo psicol4gico! al-m de tempo! pois al-m de grandes! os c4digos com toda a certe a necessitariam de

O algumas revises. 7utro fato que causaria problema seria a an#lise de erros! pois quando - usada a linguagem bin#ria! - impossvel detectar erros! pois cada c4digo representa uma instruo diferente que ser# reconhecida e executada pela m#quina. 7 soft2are com erro pode at- no ser executado $por causa do erro*! mas a m#quina no ter# a capacidade de detectar exatamente a locali ao do erro. 6om o uso da linguagem de montagem! todos esses problemas so evitados. . linguagem de montagem far# com que seja possvel tornar a linguagem de m#quina um pouco mais pr4xima da linguagem humana! para que seja de f#cil entendimento. Essa linguagem no - to complexa quanto a humana $que demanda conectivos! conjunes e ainda pode ser interpretada de v#rios modos a depender do contexto*! ela ser# simples e exigir# apenas uma relao l4gica entre as instrues existentes na linguagem utili ada e a correta sintaxe $escrita*. 6omo a sintaxe - definida na pr4pria linguagem do programa de montagem! ser# possvel identificaros erros de sintaxe. 7 avano proporcionado pela linguagem de montagem possibilitou a existAncia da vasta gama de soft2ares que existe hoje. .l-m da criao de v#rios novos soft2ares! corrig/los e atuali #/los tornou/se muito mais f#cil e r#pido! fa endo com que o mercado mundial de soft2ares acelerasse acentuadamente o rtmo de crescimento! atingindo demandas e mercados que antes no atingia! e assim gerando mais lucro.

+% REFERNCIAS "78NEC>7! .. ". I,-./0123/ 4 O.56,78623/ 09 C/:;1-60/.9<% ( Ed. >io de Kaneiro! 2%%&.

Você também pode gostar