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


Assembly PIC16F: Parte III - Instruções com literais e controle, Notas de aula de Mecatrônica

Documento que apresenta as instruções assembly para o microcontrolador pic16f que operam com literais e de controle, incluindo addlw, sublw, andlw, iorlw, xorlw, movlw, retlw, call, goto, retfie, clrwdt e sleep. Descreve também o formato da instrução, o resultado das operações com literais e os indicadores afetados.

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 05/10/2010

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

5

(2)

14 documentos

1 / 37

Toggle sidebar

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

Não perca as partes importantes!

bg1
Microprocessadores
Aula 07:
Instruções Assembly para PIC16F Parte III:
Instruções
que
operam
com
literais,
e
instruções
1
Instruções
que
operam
com
literais,
e
instruções
de controle
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
pf22
pf23
pf24
pf25

Pré-visualização parcial do texto

Baixe Assembly PIC16F: Parte III - Instruções com literais e controle e outras Notas de aula em PDF para Mecatrônica, somente na Docsity!

Microprocessadores Aula 07:Instruções^ Assembly^ para PIC16F – Parte III: Instruções^ que^ operam^ com^ literais,

e^ instruções^1 Instruções^ que^ operam^ com^ literais,

e^ instruções de controleReferência para a aula: 1 – Apostila:^ Instruções e Diretivas [Xerox].^ Prof.: Edgar Campos Furtado^ [email protected]^ Sala: 217.

Instruções

Instruções que operam com literais –

As ações implementadas por essas instruções realizam: • Operações^ de^ Lógica^ (AND,^ IOR,^ XOR,^ SWAP,^ COM)^ entre^ umliteral e o conteúdo do registrador W; AULA-^

2

-^ Operações de Aritmética^ (ADD, SUB, DEC, INC, CLR, RL, RR)entre um literal e o conteúdo do registrador W; •^ Movimentação de dados^ (MOV) movimentação de um literal parao registrador de trabalho W;UFSJ – CAP© Edgar C. Furtado

Instruções que operam com literais: Formato da instrução OPcode:

Instruções^ 0000 0000– 0^2 d LITERAL:^ ∶ AULA-07^4 OPcode: UFSJ – CAP© Edgar C. Furtado

1111 1111– 255^2 d O resultado dasoperações com literaisé sempre armazenadoem W.

Instruções que operam com literais: Caminho de dados

Instruções

Pendências docaminho de dados: •^ Falta saída do^ AULA-

5 Literal docontrole; • Caminho noMultiplexadorpara o literalchegar à ULA.UFSJ – CAP© Edgar C. Furtado

  • Adiciona^ o^ literal^ k^ ao^ conteúdo

do^ registrador^ W,^ e Instrução:^ ADDLW^ k^ |^ w^  armazena o resultado no registrador W.• INDICADORES afetados: Z, DC e C:

Instruções^ w + k AULA-07^7

Z = 0^ ^ 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 255UFSJ – CAP© Edgar C. Furtado

; 10 C = 1^ ^ Número maior que 255.^10

Exemplos:^ ADDLW^ B’00000001’

0xFFh^ =^11111111 0x01h^ =^00000001 0x100h=100000000=256^10 ADDLW B’00000001’

Instruções^ W^ Z^ DC^ C antes 1111 1111^ x^ x^ x depois 0000 0000^1 1 1 AULA-07^8

Exemplos:^ ADDLW^ B’00010000’

0xF1h^ =^11110001 0x10h^ =^00010000 0x101h=100000001=257^10 ADDLW B’00010000’

W^ Z^ DC^ C antes 1111 0001^ x^ X^ X depois 0000 0001^0 0 UFSJ – CAP© Edgar C. Furtado

Exemplo:^ SUBLW^ B’00010001’^ SUBWF B’00010001’

Instruções^ 0x11h^ =000100010x10h^ =000100000x01h^ =00000001^ W^ Z^ DC^ C antes^ 0001 0000^ x^ x^ X depois^ 0000 0001^0 1

Caso em que o conteúdo de W é menor ou igual ao de F:^ AULA- depois^ 0000 0001^0 1 1^10 Exemplo:^ SUBLW^ B’00001001’^ SUBLW B’00001001’

W^ Z^ DC^ C antes 0000 1001^ x^ x^ x depois 0000 0000^1 1 UFSJ – CAP© Edgar C. Furtado

0x09h^ =000010010x09h^ =000010010x00h^ =

Exemplo:^ SUBLW^ B’00001111’^ SUBLW B’00001111’

Instruções^ 0x0Fh^ =000011110x10h^ =000100000xFFh^ =11111111^ W^ Z^ DC^ C antes^ 0001 0000^ x^ x^ x depois^ 1111 1111^0 1

Caso em que o conteúdo de W é maior que o de F:^ AULA- depois^ 1111 1111^0 1 0^11 Como o resultado é negativo, a resposta fornecida pela ULA está na formade complemento de dois, ou seja, 11111111.Revertendo o resultado na forma de complemento de 2, tem-se: 11111111 ^ 00000000 (em complemento de 1) UFSJ – CAP© Edgar C. Furtado

^ 00000001 = 1d

  • Executa lógica OU EXCLUSIVO bit-a-bit entre os conteúdosde^ W^ e o literal^ k. Armazena o resultado em

W;

Instrução:^ XORLW^ k^ |^ w • Altera INDICADOR Z (resultado nulo=1, contrário =0);

Instruções ^ k OU w AULA-^

13 Exemplo:^ XORLW^ B’11010111’^ XORLW B’11010111’

W^ Z antes 1101 0111^ x depois 0000 0000^1 UFSJ – CAP© Edgar C. Furtado

W^ =^1101 0111 XOU K^ =^1101 0111 W^ =^0000

  • Movimenta o literal^ k^ para o registrador de trabalho

W;

Instrução:^ MOVLW^ k^ |^ w • Nenhum INDICADOR é alterado;

Instruções ^ k AULA-^

14 Exemplo:^ MOVLW^ B’10000001’^ MOVLW B’10000001’

W^ Z^ DC^ C antes x^ x^ x^ x depois 1000 0001^ x^ x^ x UFSJ – CAP© Edgar C. Furtado

Instruções ENDEREÇO NA MEMÓRIA DE OPcode INSTRUÇÃO

Formato das Instruções de máquina de desvio incondicional:

16 OPcode:^ UFSJ – CAP© Edgar C. Furtado Literal: Número de 0d a 2047d

Instruções

Os desvios na execução do código podem ocorrer:^ 1ª Instrução2ª Instrução3ª Instrução^ Sim^ Desvio condicional

1ª Instrução2ª Instrução3ª Instrução^ Sim ou Não Desvio incondicional^17 Não 4ª Instrução5ª Instrução6ª Instrução7ª Instrução UFSJ – CAP© Edgar C. Furtado 4ª Instrução5ª Instrução6ª Instrução7ª Instrução GOTO^ CALL BTFSC^ DECFSZSem Retorno:BTFSS^ INCFSZ

Sem Retorno^ Com Retorno

Instruções

Instrução de desvio^ incondicional com retorno

:^ CALL^ LABEL 1. A CPU armazena^ o^ conteúdode PC+1^ na^ posição^ superiorda pilha; 2. Armazena^ o^ endereço^ do^19 UFSJ – CAP© Edgar C. Furtado

2.^ Armazena^ o^ endereço^ do^ desvio no registrador PC, nosbits 0 a 13;3. O retorno da chamada de umasub-rotina^ é^ realizado^ pelasfunções^ RETURN^ ou^ RETLW; −^ Nenhum Indicador é alterado.

Instruções implementadas em Hardware: •^ Orientadas a bits; •^ Orientadas a bytes; •^ Que operam com literais.

Instruções 88131130 D^11313 8 PCLPCLATCH #R^30 FSR^132 FLASH AULA-07^20

FLASH^ SRAM^ IR CONTROLE UFSJ – CAP© Edgar C. Furtado (^1013) (^0) (^8) I OE^113 STATUS 14 #R L/E^0 8^88311020 W (^1) #Rb d CO L (^078) 8 3 1 3