You are on page 1of 2

1

UNIP Campus Manaus


CST em Automao Industrial - Turmas AI3P34/AI4P34/AI4Q34
Notas de Aula Aula 06 2. Semestre 2012 Linguagem Assembly

1. Linguagem Assembly "Assembly" significa montagem. "Assembler" significa montador. Montagem o ato de transformar uma seqncia de cdigo fonte (texto) em cdigo objeto (linguagem de mquina), e montador o programa que faz isso. Observe no diagrama abaixo que o PROGRAMADOR escreve uma lista de comandos em forma de texto, onde cada linha realiza uma funo especfica.

Figura 1 Processo de montagem No entanto, o microprocessador ou microcontrolador no entende estes comandos em modo texto. Por isso, eles so traduzidos para uma linguagem binria (linguagem de mquina), e isso feito pelo programa montador (ASSEMBLER). Programar diretamente em linguagem de mquina possvel, mas mais difcil do que programar em assembly!!! Usando esta linguagem e um programa montador, o programador no escreve em linguagem de mquina, e sim em uma linguagem textual, facilitando a construo dos programas. Embora fique mais fcil do que programar direto em linguagem de mquina, programar em ASSEMBLY ainda uma das formas mais "difceis" de programao, sendo conhecida como a linguagem de programao de "mais baixo nvel"!! O arquivo fonte do diagrama acima (aquela lista de comandos digitada pelo programador) composto de instrues (mnemnicos), parmetros, rtulos, comentrios e diretivas, e aps so transformados em linguagem de mquina por um programa montador. Vejamos cada um destes componentes do programa.

INSTRUO: o nome dado a uma operao que o microprocessador ou microcontrolador pode realizar. Por exemplo, se o microcontrolador pode realizar a soma de dois valores, dizemos que existe no mnimo uma instruo para soma. MNEMNICO: uma representao textual de uma instruo. As instrues so, na verdade, cdigos binrios, e para serem entendidos pelo programador devem ser representados na forma textual. Se os mnemnicos no fossem utilizados, teramos que programar em assembly utilizando cdigos numricos difceis de memorizar. Desta forma, uma das instrues de adio citadas anteriormente possui o mnemnico ADDWF, e sua representao binria 000111xxxxxxxx onde x so os parmetros. PARMETROS: So as informaes manipuladas por uma instruo. Isso necessrio sempre que precisarmos informar instruo quais os elementos envolvidos na operao. Por exemplo, se desejarmos somar dois valores, a instruo poder ser ADDWF ou ADDLW, mas os valores a serem somados tambm devero ser informados, sendo estes ltimos os que chamamos de "parmetros." DIRETIVAS: So linhas que determinam como o programa montador ir trabalhar. No geram efeito direto no cdigo binrio gerado. Por exemplo, a diretiva LIST p=16F877 determina qual o microcontrolador que ser usado. RTULOS (label): So nomes dados as linhas do programa, e servem para que em uma instruo de desvio possa se determinar o ponto para onde se deseja ir no programa. Os rtulos sempre so alinhados na coluna 0 (sem espaos antes do mesmo), enquanto que as instrues devem ser escritas aps uma margem (obrigatoriamente aps a coluna 0). COMENTRIOS: So trechos de texto escritos aps um sinal de ponto evrgula (;). So teis para que possamos adicionar pequenos lembretes no programa, facilitando a manuteno futura. No interferem no tamanho do programa binrio gerado. MONTADOR: o programa que transforma um programa fonte assembly em um programa executvel. Um exemplo o MPASM, que faz parte do MPLAB, uma ferramenta de desenvolvimento distribuda pela MicroChip (fabricante dos microcontroladores PIC)

Por hoje... Boa noite!