

























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Instruções Assembly para PIC16F - Parte II: Instruções orientadas a bytes.
Tipologia: Notas de aula
1 / 33
Esta página não é visível na pré-visualização
Não perca as partes importantes!


























Assembly
para^
F^ –^ Parte
1
Instruções
Assembly
para^
F^ –^ Parte
Instruções orientadas a bytesReferência para a aula: 1 – Apostila:
Instruções e Diretivas [Xerox]. Prof.: Edgar Campos Furtado
[email protected]^ Sala: 217.
Instruções
orientadas
a^ bytes
-^ As
ações
implementadas
por
essas instruções realizam: • Operações
de^ Lógica
(AND,
IOR,^
XOR,^
SWAP,
COM)
com^
o
conteúdo de um registrador na memória SRAM ou do registrador W;
AULA-
2
W; • Operações de Aritmética UFSJ – CAP© Edgar C. Furtado
(ADD, SUB, DEC, INC, CLR, RL, RR)
com^ o
conteúdo
de^ um
registrador
na^ memória
SRAM
ou^ do
registrador W; • Movimentação
de^
dados
(MOV)
transito
de^ dados
entre
a
memória SRAM e o registrador de trabalho W; • Gasto de tempo
(NOP).
Instruções orientadas a bits: Formato da instrução OPcode:
Ver endereços possíveis dosbanco de registradores.
Exemplo:
4
UFSJ – CAP© Edgar C. Furtado
d = X^ ^ 0 ou W : Resultado salvo em w;1 ou F : Resultado salvo em f
0000 0000
Instruções orientadas a bits: Caminho de dados
Pendências docaminho de dados: •^ Destinação; •^ Operando nulo;
PCLFSR PCLATCH
1 0
1 0 8
13 13 13
(^88)
D #R
13
AULA-
5
-^ Operando nulo; •^ Registrador detrabalho. UFSJ – CAP© Edgar C. Furtado
FLASH^ IR CONTROLE
SRAM^10 I
STATUS 7
1 0 11 0
14 3
3 #R #Rb
(^138)
OE L/E
13 8
, então f=f+w;
, então w=f+w; Instrução:
ADDWF
f,d
|^ d^
AULA-
7
^ Resultado não foi nulo;Z = 1 ^ Resultado nulo;DC = 0^ ^ Não houve transbordo do 3o para o 4o bit do registrador;DC = 1^ ^ Houve transbordo do 3o para o 4o bit do registrador;C = 0 ^ Número menor ou igual a 255
; 10
C = 1^
Número maior que 255
. 10
Exemplos:
0xFFh^
=^11111111 0x01h^
=^00000001 0x100h=100000000=
10
antes^
x^
x
depois
8
Exemplos:
0xF1h^
=^11110001 0x01h^
=^00010000 0x101h=100000001=
10
antes^
x^
x
depois
UFSJ – CAP© Edgar C. Furtado
Exemplo:
antes^
x^
x
depois
0x16h^
= 0x09h^
= 0x07h^
=
Caso em que o conteúdo de W é menor ou igual ao de F:
AULA-
10
depois
Exemplo:
antes^
x^
x
depois
UFSJ – CAP© Edgar C. Furtado
0x09h^
= 0x09h^
= 0x00h^
=
Exemplo:
antes^
x^
x
depois
0x09h^
= 0x16h^
= 0xF9h^
=
Caso em que o conteúdo de W é maior que o de F:
AULA-
11
depois
Como o resultado é negativo, a resposta fornecida pela ULA está na formade complemento de dois, ou seja, 11111001.Revertendo o resultado na forma de complemento de 2, tem-se: (^11111001) UFSJ – CAP© Edgar C. Furtado
^ 00000110 (em complemento de 1)
^ 00000111 = 7
f^ para
d;
, então f=f-1;
, então w=f- Instrução: • Altera INDICADOR Z;
DECF
f,d
|^ d^
13
Exemplo 1:
antes^
x^
x^
x
depois
x^
x^
UFSJ – CAP© Edgar C. Furtado
0x^
= 0x^
=
TRISBd
Estado
inicial
0000 1000
1100 1111
0000 0001
x^
x
INCF^ TRISB,F^ ADDWF^
.33,F Exercício1) Complete a tabela com o conteúdo dos registradores e os resultados dosindicadores
14
ADDWF^
.33,F SUBWF^
TRISB,FBCF TRISB, BTFSC^
TRISB,3BSF .33,6BSF .33,
Instrução:
ANDWF
f,d
|^ d^
^ f E w
lógica
E^ bit-a-bit
entre
os^ conteúdos
de^ W
e^ do
registrador
f. Armazena o resultado em
d;
W^
=^01110111 TRISA^
=^10011111 E AULA-
16
Exemplo: UFSJ – CAP© Edgar C. Furtado
antes^
x
depois
E
Instrução:
IORWF
f,d
|^ d^
^ f OU w
W^ e do
registrador
f. Armazena o resultado em
d;
W^ =
01110111 TRISA=
11010111 OU AULA-
17
Exemplo: UFSJ – CAP© Edgar C. Furtado
TRISA=
11010111 TRISA=
11110111
antes^
x
depois
OU
Instrução:
COMF
f,d
|^ d^
^ COMPLEMENTO DE f
lógico
bit-a-bit
do^ conteúdo
de^ f
Armazena o resultado em
d;
AULA-
19
Exemplo: UFSJ – CAP© Edgar C. Furtado
antes^
x^
x
depois
Instrução:
SWAPF
f,d
|^ d^
^ INVERTE NIBBLES DE f
f^ (xxxx yyyy
^ yyyy xxxx) e armazena
o novo valor em
d;
AULA-
20
Exemplo 1: UFSJ – CAP© Edgar C. Furtado
antes^
x^
x^ x
depois
x^
x