Assembly

Páginas: 9 (2237 palavras) Publicado: 11 de junho de 2013
LINGUAGEM DE PROGRAMAÇÃO - ASSEMBLY - PARTE I
[pic]


Assembly - o que é


"Assembly" significa montagem. "Assembler" significa montador. Montagem é o ato de transformar uma seqüência de código fonte (texto) em código objeto (linguagem de máquina), e montador é o programa que faz isso.
Observe no diagrama abaixo que o PROGRAMADOR escreve uma lista de comandos em forma detexto, onde cada linha realiza uma função específica.
No entanto, para o microcontrolador não entende estes comandos em modo texto. Eles precisam antes ser traduzidos para uma linguagem binária (linguagem de máquina), e isso é feito pelo programa montador (ASSEMBLER).
[pic]
 
Programar diretamente em linguagem de máquina até é possível, mas é muito, mas muito mais difícil do queprogramar em assembly.
Usando esta linguagem e um programa montador, o programador não escreve em linguagem de máquina, e sim em uma linguagem textual, facilitando a construção dos programas. Embora fique mais fácil do que programar direto em linguagem de máquina, programar em ASSEMBLY ainda é uma das formas mais "difíceis" de programação, sendo conhecida como a linguagem de programação de "maisbaixo nível".
O arquivo fonte do diagrama acima (aquela lista de comandos digitada pelo programador) é composta de instruções (mnemônicos), parâmetros, rótulos, comentários e diretivas, e após são transformados em linguagem de máquina por um programa montador.
Vamos conhecer cada um destes componentes do programa.
INSTRUÇÃO : É o nome dado a uma operação que o microcontrolador poderealizar. Por exemplo, se o microcontrolador pode realizar a soma de dois valores, dizemos que existe no mínimo uma instrução para soma. No caso do microcontrolador PIC, as instruções que realizam soma são duas, a ADDWF e a ADDLW. Você consegue descobrir que instruções estão disponíveis para programação assembly no datasheet do microcontrolador em questão.
MNEMÔNICO : É uma representação textualde uma instrução. As instruções são, na verdade, códigos binários, e para serem entendidos pelos programador devem ser representados na forma textual. Se os mnemônicos não fossem utilizados, teríamos que programar assembly utilizando códigos numéricos difíceis de memorizar. Desta forma, uma das instruções de adição citadas anteriormente possui o mneumônico ADDWF, e sua representação binária é000111xxxxxxxx onde x .
PARÂMETROS : São as informações manipuladas por uma instrução. Isso é necessário sempre que precisarmos informar à instrução quais os elementos envolvidos na operação. Por exemplo, se desejarmos somar dois valores, a instrução poderá ser ADDWF ou ADDLW, mas os valores a serem somados também deverão ser informados, sendo estes últimos os que chamamos de "parâmetros."[pic]
DIRETIVAS : São linhas que determinam como o programa montador irá trabalhar. Não geram efeito direto no código binário gerado. Por exemplo, a diretiva  LIST    p=16F877  determina qual o microcontrolador que será usado.
RÓTULOS : São nomes dados as linhas do programa, e servem para que em uma instrução de desvio possa se determinar o ponto para onde se deseja ir no programa. Osrótulos sempre são alinhados na coluna 0 (sem espaços antes do mesmo), enquanto que as instruções devem ser escritas após uma margem (obrigatoriamente após a coluna 0).
COMENTÁRIOS : São trechos de texto escritos após um sinal de ponto e vírgula (;). São úteis para que possamos adicionar pequenos lembretes no programa, facilitando a manutenção futura. Não interferem no tamanho do programabinário gerado.
Outros termos importantes :
MONTADOR : É o programa que transforma um programa fonte assembly em um programa executável. Um exemplo é o MPASM, que faz parte do MPLAB, uma ferramenta de desenvolvimento distribuída pela MicroChip (fabricante dos microcontroladores PIC)
[pic]
AS INSTRUÇÕES
Por se tratar de um microcontrolador RISC, o PIC oferece um número...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • assembly
  • Assembly
  • Assembly
  • Assembly
  • assembly
  • Assembly
  • Assembly
  • Assembly

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!