TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A Lista Microcontroladores

Por:   •  20/6/2018  •  Exam  •  766 Palavras (4 Páginas)  •  137 Visualizações

Página 1 de 4

Revisão e Exercícios

Revisão

O conjunto de instruções em assembly é dividido em quatro (4) grupos:

  • Operações com bytes de registradores
  • Operações com numeros literais (números constantes)
  • Operações com bits de registradores
  • e por fim de controle.

É importante observar que:

Quase todas as 35 instruções utilizam o W. O W é um registrador de 8 bits, chamado de Work, ou registrador de rascunho (geralmente este é o motivo de utiliza-lo, como rascunho) ou acumulador (acumula resultados anteriores).

F significa file, ou seja, um registro qualquer de oito (8) bits. Veremos mais adiante que um registro pode servir para gente como uma variável ou o registro é um registro de função especial. Dependendo do conteudo desse registro de função especial, um módulo (um timer, um conversor A/D etc) irá funcionar de forma diferente.

Bytes de registradores:

Essas instruções são utilizadas para operar sobre dois (2) operandos, exceto CLRF, COMF, DECF, DECFSZ, INF, INCFSZ, RLF, RRF, SWAPF, cujo único operando é exatamente o F (registro) em questão. O resultado dessas operações podem ir para o próprio F ou para o W.

Nesse grupo, encontramos instruções de operação:

 lógica bit a bit ( "e" lógico, "ou" lógico, "ou_exclusivo", negação ou complemento de um do registro);

 aritmética (soma, subtração, incremento e decremento unitário com ou sem salto (sempre de uma linha) se o resultado for zero);

de deslocamento (rotação de um bit a esquerda ou a direita e troca entre si dos dois nibbles);

de movimentação de dados ou cópia do conteudo de registro;

de limpar um registro.

Números literais (constantes):

A finalidade dessas instruções é para inicializar um registro (F), com um valor desejado por você programador. Exemplo: W = 5;       MOVLW      5.   Lembre que também W é um registro de 8 bits.

- Professor, e para um registro qualquer, sem que seja o W?

Amigo, como NÃO EXISTE MOVLF, então faço algo desse tipo utilizando duas instruções simples.

Nesse caso, utiliza-se essa instrução MOVLW, seguida de MOVWF.

Suponha X = 5;[pic 1]

MOVLW        5        W = 5

MOVWF        endereço_de_X        X = 5

Veja a diferença entre MOVLW e MOVWF. No MOVLW, é inserida uma constante, um valor enquanto que em MOVWF, é inserido o endereço daquele "File" envolvido na instrução (registro X). Por favor, após instruções que envolvam F, a exemplo de MOVWF, coloque SEMPRE o endereço do "File" desejado.

Fique alerta! Endereço de uma variável é diferente de um valor de uma variável!

De bits do registrador:

São apenas quatro instruções.

Para escrever "0" (limpar, por nível baixo) ou "1" (setar, por nível alto) em um bit escolhido dos 8 bits existentes do registro em questão.

Ou para ler, determinar o estado lógico de um bit de sua escolha (dos 8 bits, um bit é testado, se é 1 ou zero) do registrador em questão.

De controle:

Nas de controle, há apenas duas instruções, a saber, CLRW e RETLW, que manipulam unicamente o registro W.

Dica: Para as operações lógicas e de deslocamento, procure trabalhar com valores binários e para operações aritméticas com valores em decimal.

Exercícios

Para as questões 1 e 2 a seguir, procure responder por tipo de operação. Isso ajuda bastante a responder. Ex: Op. Lógico - > IORWF, XORWF ....

  1. Quais são as intruções que manipulam bytes de registradores?  Dica: São 16.

Operação->

Lógica

...

...

...

...

  1. Quais são as intruções que manipulam bits de registradores? Dica: São apenas 4.

Operação->

Escrita

Leitura

  1. Quais são as intruções de controle? Dica: São 9.
  1. Quais são as intruções de manipulação de constantes? Dica: São apenas 6.
  1. Preencha as lacunas abaixo:

MOVLW        18        ; W = ______

MOVLW        15        ; W = ______

MOVWF        endereço_de_F        ; F = ______

COMF                endereço_de_F        ; O resultado da operação é = ______

INCF                endereço_de_F        ; O resultado da operação é = ______

DECF                endereço_de_F        ; O resultado da operação é = ______

...

Baixar como (para membros premium)  txt (4.9 Kb)   pdf (139.8 Kb)   docx (15.5 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com