4. Conjunto de Instru - PowerPoint PPT Presentation

About This Presentation
Title:

4. Conjunto de Instru

Description:

4. Conjunto de Instru es 35 instru es de 14 bits do tipo Transfer ncia de dados Feito entre o registrador work (W) e o registrador f, que representa qualquer ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 30
Provided by: 033
Category:

less

Transcript and Presenter's Notes

Title: 4. Conjunto de Instru


1
4. Conjunto de Instruções
  • 35 instruções de 14 bits do tipo
  • Transferência de dados
  • Feito entre o registrador work (W) e o
    registrador f, que representa qualquer
    registrador SPR ou GPR
  • Aritmética e Lógica
  • Operações com bit
  • Controle do fluxo de execução de um programa

2
4. Conjunto de Instruções
  • Formato das instruções
  • Operações com file register byte oriented
  • d 0 destino é W d 1 destino f
  • f endereço de de 7 bits de registrador

13 8 7 6
0
OPCODE d f (FILE)
3
4. Conjunto de Instruções
  • Formato das instruções - continuação
  • Operações com file register bit oriented
  • b endereço de 3 bits
  • f endereço de 7 bits de registrador

13 10 9 8 7 6
0
OPCODE b (bit ) f (FILE)
4
4. Conjunto de Instruções
  • Formato das instruções - continuação
  • Operações com literais e instruções de controle
  • k imediato de 8 bits

13 8 7
0
OPCODE k (literal)
5
4. Conjunto de Instruções
  • Formato das instruções - continuação
  • Instruções de controle call e goto
  • k imediato de 11 bits

13 11 10
0
OPCODE k (literal)
6
4. Conjunto de Instruções
  • Descrição dos campos das instruções

Campo Descrição
f endereço de registradores (0x00 a 0x7F)
W working register (acumulador)
b endereço do bit dentro do registrador de 8 bits
k literal , constante ou label
d seleção de destino d0 armazena resultado em W d1 no registrador f default d1.
7
4. Conjunto de Instruções transferência de dados
Mnemônico Descrição Operação Flag
movlw k move cte p/ k W lt- k -
movwf f move W p/ f f lt- W -
movf f,d move d p/ f f lt- d
clrw clear W W lt- 0
clrf clear f f lt- 0
swapf swap nibbles em f f(30),(74) lt- f(74),(30)
8
4. Conjunto de Instruções Aritmética e Lógica
Mnemônico Descrição Operação Flag
addlw k W constante W lt- W k C,DC,Z
addwf f,d W f d lt- W f C,DC,Z
sublw k W - constante W lt- W k C,DC,Z
subwf f,d W - f d lt- W - f C,DC,Z
andlw k W constante W lt- W k Z
andwf f,d W f d lt- W f Z
9
4. Conjunto de Instruções-Aritmética e Lógica
cont.
Mnemônico Descrição Operação Flag
iorlw k W constante W lt- W k Z
iorwf f,d W f d lt- W f Z
xorlw k W xor constante W lt- W xor k Z
xorwf f,d W xor f d lt- W xor f Z
incf f,d incrementa f d lt- f 1 Z
decf f,d decrementa f d lt- f - 1 Z
10
4. Conjunto de Instruções-Aritmética e Lógica
cont.
Mnemônico Descrição Flag
rlf f,d rotate left através do carry C
rrf f,d rotate right através do carry C
comf f,d d lt- complemento(f) Z
11
4. Conjunto de Instruções Operações com Bit
Mnemônico Descrição Operação Flag
bcf f,b reseta bit b de f f(b) lt- 0 -
bsf f,d seta bit b de f f(b) lt- 1 -
12
4. Conjunto de Instruções Controle do fluxo de
execução de um programa
Mnemônico Descrição Flag
btfsc f,b se f(b) 0, pula 1 instrução -
btfss f,b se f(b) 1, pula 1 instrução -
decfsz f,d d lt- f -1, pula 1 instrução se zero -
incfsz f,d d lt- f 1, pula 1 instrução se zero -
goto k vai para endereço k -
call k chama sub-rotina no endereço k -
13
4. Conjunto de Instruções Controle do fluxo de
execução de um programa - continuação
Mnemônico Descrição Flag
return retorna da sub-rotina -
retlw k retorna com constante em W -
retfie retona de interrupção -
14
4. Conjunto de Instruções outras
Mnemônico Descrição Operação
nop no operation
clrwdt limpa watchdog timer WDT lt- 0, TO lt- 1, PD lt- 1
sleep vai para o modo standby WDT lt- 0, TO lt- 1, PD lt- 0
15
4. Conjunto de Instruções
16
5. Programação Assembly
  • Programação do Microcontrolador

17
5. Programação Assembly
  • Linguagem assembly
  • Labels
  • Instruções
  • Operandos
  • Diretivas
  • Comentários

18
5. Programação Assembly
  • Labels

19
5. Programação Assembly
  • Instruções

20
5. Programação Assembly
  • Operandos

21
5. Programação Assembly
  • Comentários ()
  • clrf TMRO TRMO 0
  • clrf INTCON interrupções e T0IF0,
    desabilitados
  • bsf STATUS, RP0 banco 1 pelo OPTION_REG
  • movlw B00110001 escala 14, borda de
    descida para clock externo, pull up na
    porta B ativada
  • movwf OPTION_REG OPTION_REG lt- W
  • TO_OVFL
  • btfss INTCON, T0IF testa bit overflow
  • goto TO_OVFL interrupção não ocorreu, espere
  • parte do programa que processa o número de
    voltas do motor
  • goto TO_OVFL

22
5. Programação Assembly
  • Diretivas

23
5. Programação Assembly
  • Diretivas de Controle

DIRETIVAS DESCRIÇÃO
define dá um significado p/ um texto
include inclui arquivo no programa
constant define uma constante
variable define uma variável
set define uma variável
equ define uma constante
org define um endereço p/ carregar o programa
end fim do programa
24
5. Programação Assembly
  • Instruções Condicionais

DIRETIVAS DESCRIÇÃO
if branch condicional
else alternativa para o if
endif fim de um branch condicional
while executa trecho enquanto condição verdadeira
endw fim de um while
ifdef execução de parte do programa se símbolo foi definido
ifndef execução de parte do programa se símbolo não foi definido
25
5. Programação Assembly
  • Diretivas de Dados

DIRETIVAS DESCRIÇÃO
cblock define um bloco de constantes
endc fim da definição de um bloco de constantes
db define um dado do tipo byte
de define um byte da EEPROM
dt define um conjunto (tabela) de dados
26
5. Programação Assembly
  • Diretivas de Configuração

DIRETIVAS DESCRIÇÃO
_config seta configuração de bits
processor define o tipo do microcontrolador
27
5. Programação Assembly
  • Macros

28
5. Programação Assembly - Operadores
29
5. Programação Assembly - Exemplo
Write a Comment
User Comments (0)
About PowerShow.com