A Lista Microcontroladores
Por: Romullo Randell • 20/6/2018 • Exam • 766 Palavras (4 Páginas) • 161 Visualizações
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 ....
- Quais são as intruções que manipulam bytes de registradores? Dica: São 16.
Operação-> | Lógica | ... | ... | ... | ... |
- Quais são as intruções que manipulam bits de registradores? Dica: São apenas 4.
Operação-> | Escrita | Leitura |
- Quais são as intruções de controle? Dica: São 9.
- Quais são as intruções de manipulação de constantes? Dica: São apenas 6.
- 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 é = ______
...