Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Aula - 06, Notas de aula de Mecatrônica

Instruções Assembly para PIC16F - Parte II: Instruções orientadas a bytes.

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 05/10/2010

alan-barbosa-9
alan-barbosa-9 🇧🇷

5

(2)

14 documentos

1 / 33

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Microprocessadores
Aula 06:
Instruções
Assembly
para
PIC
16
F
Parte
:
1
Instruções
Assembly
para
PIC
16
F
Parte
:
Instruções orientadas a bytes
Referência para a aula:
1 Apostila: Instruções e Diretivas [Xerox].
Prof.: Edgar Campos Furtado
Sala: 217.2
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21

Pré-visualização parcial do texto

Baixe Aula - 06 e outras Notas de aula em PDF para Mecatrônica, somente na Docsity!

Microprocessadores Aula 06: Instruções

Assembly

para^

PIC^16

F^ –^ Parte

II:

1

Instruções

Assembly

para^

PIC^16

F^ –^ Parte

II:

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

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:

Instruções AULA-^

4

UFSJ – CAP© Edgar C. Furtado

d = X^ ^ 0 ou W : Resultado salvo em w;1 ou F : Resultado salvo em f

0000 0000

  • 0 2 d 0111 1111 ∶ – 127^2 d BANCO 0

Instruções orientadas a bits: Caminho de dados

Instruções

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

  • Adiciona conteúdo do registrador w ao registrador f e salvano registrador indicado por d;• Se^ d = F

, então f=f+w;

  • Se^ d = W

, então w=f+w; Instrução:

ADDWF

f,d

|^ d^

Instruções^ f + w

AULA-

7

  • INDICADORES afetados: Z, DC e C:^ Z = 0 UFSJ – CAP© Edgar C. Furtado

^ 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:

ADDWF

FSR,F

0xFFh^

=^11111111 0x01h^

=^00000001 0x100h=100000000=

10

ADDWF FSR,F

W^

FSR^

C^

Z

antes^

x^

x

depois

Instruções AULA-^

8

Exemplos:

ADDWF

PORTA,W

0xF1h^

=^11110001 0x01h^

=^00010000 0x101h=100000001=

10

ADDWF PORTA,W

W^

PORTA

C

Z

antes^

x^

x

depois

UFSJ – CAP© Edgar C. Furtado

Exemplo:

SUBWF TRISA,F

SUBWF TRISA,F

W^

TRISA

C^

Z

antes^

x^

x

depois

0x16h^

= 0x09h^

= 0x07h^

=

Instruções

Caso em que o conteúdo de W é menor ou igual ao de F:

AULA-

10

depois

Exemplo:

SUBWF TRISB,W

SUBWF TRISB,W

W^

TRISB

C^

Z

antes^

x^

x

depois

UFSJ – CAP© Edgar C. Furtado

0x09h^

= 0x09h^

= 0x00h^

=

Exemplo:

SUBWF A0,F

SUBWF A0,F

W^

A^

C^

Z

antes^

x^

x

depois

0x09h^

= 0x16h^

= 0xF9h^

=

Instruções

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

  • Copia e decrementa (diminui 1) o conteúdo de

f^ para

d;

  • Se^ d = F

, então f=f-1;

  • Se^ d = W

, então w=f- Instrução: • Altera INDICADOR Z;

DECF

f,d

|^ d^

Instruções^ f - 1 AULA-^

13

Exemplo 1:

DECF

TRISB,F

DECF TRISB,F

TRISB

W^

C^

Z

antes^

x^

x^

x

depois

x^

x^

UFSJ – CAP© Edgar C. Furtado

0x^

= 0x^

=

INSTRUÇÃO

REG.#

TRISBd

W^

C^ Z

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

Instruções AULA-^

14

ADDWF^

.33,F SUBWF^

TRISB,FBCF TRISB, BTFSC^

TRISB,3BSF .33,6BSF .33,

  1. Transcreva o código acima para código de máquina; UFSJ – CAP© Edgar C. Furtado

INSTRUÇÕES ASSEMBLY – PIC

Instrução:

ANDWF

f,d

|^ d^

^ f E w

  • Executa

lógica

E^ bit-a-bit

entre

os^ conteúdos

de^ W

e^ do

registrador

f. Armazena o resultado em

d;

  • Altera indicador Z;

W^

=^01110111 TRISA^

=^10011111 E AULA-

16

Exemplo: UFSJ – CAP© Edgar C. Furtado

ANDWF

TRISA,W

ANDWF TRISA,W

W^

TRISA

Z

antes^

x

depois

TRISA^ =^10011111 W^ =^00010111^0

E

Instruções

Instrução:

IORWF

f,d

|^ d^

^ f OU w

  • Executa lógica OU bit-a-bit entre os conteúdos de

W^ e do

registrador

f. Armazena o resultado em

d;

  • Indicador Z é alterado;

W^ =

01110111 TRISA=

11010111 OU AULA-

17

Exemplo: UFSJ – CAP© Edgar C. Furtado

IORWF

TRISA,F

TRISA=

11010111 TRISA=

11110111

IORWF TRISA,F

W^

TRISA

Z

antes^

x

depois

OU

Instruções

Instrução:

COMF

f,d

|^ d^

^ COMPLEMENTO DE f

  • Executa

COMPLEMENTO

lógico

bit-a-bit

do^ conteúdo

de^ f

Armazena o resultado em

d;

  • Indicador Z é alterado;

AULA-

19

Exemplo: UFSJ – CAP© Edgar C. Furtado

COMF^

PORTA,W

COMF PORTA,W

W^

PORTA

Z

antes^

x^

x

depois

Instruções

Instrução:

SWAPF

f,d

|^ d^

^ INVERTE NIBBLES DE f

  • Inverte os Nibbles de

f^ (xxxx yyyy

^ yyyy xxxx) e armazena

o novo valor em

d;

  • Não altera nenhum INDICADOR;

AULA-

20

Exemplo 1: UFSJ – CAP© Edgar C. Furtado

SWAPF

TRISB,W

SWAPF TRISB,W

TRISB

W^

C^ Z

antes^

x^

x^ x

depois

x^

x