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 - 05, Notas de aula de Mecatrônica

Instruções Assembly para PIC16F - Parte 1: Instruções orientadas a bits

Tipologia: Notas de aula

2010

Compartilhado em 05/10/2010

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

5

(2)

14 documentos

1 / 25

Documentos relacionados


Pré-visualização parcial do texto

Baixe Aula - 05 e outras Notas de aula em PDF para Mecatrônica, somente na Docsity! Microprocessadores Aula 05: Instruções Assembly para PIC16F – Parte I: 1 Instruções orientadas a bits Referência para a aula: 1 – Apostila: Instruções e Diretivas [Xerox]. Prof.: Edgar Campos Furtado edgar@ufsj.edu.br Sala: 217.2 Premissas para PIC16F: • RISC  35 instruções; • Cada instrução  14bits; • Indicadores do registrador STATUS  C, DC e Z. Introdução AULA-05 2UFSJ – CAP © Edgar C. Furtado Divisão das instruções: • Instruções orientadas a bits; • Instruções orientadas a bytes; • Instruções que operam com literais e de controle; Contador de Programa Caminho de dados para o Contador de Programa: AULA-05 5UFSJ – CAP © Edgar C. Furtado A linguagem do processador: instruções binárias! O conjunto de instruções binárias interpretáveis por um dado processador é denominado linguagem de máquina. Algumas dificuldades da programação em linguagem de máquina: Conjunto de Instruções AULA-05 6 • Memorização do formato das instruções; • Operar com números binários; • Quantidade de instruções. Ideia: Associar um mnemônico às instruções binárias. Exemplo: 11 1111 0000 1010  ADDLW 10d UFSJ – CAP © Edgar C. Furtado Adiciona o literal 10d ao conteúdo do registrador de trabalho W A linguagem Assembly: conjunto de instruções mnemônicas equivalentes às instruções binárias! Processo de gravação/leitura de códigos Assembly: Conjunto de Instruções Montador Gravação AULA-05 7UFSJ – CAP © Edgar C. Furtado Código .asm Programador Código .hex Assembler Código .asm Código .hex Desmontador Disassembler Leitura Memória de Instruções do PIC Mnemônico do ASSEMBLY para PIC16F Exemplo: Supondo que se queira movimentar o conteúdo do registrador de trabalho para um outro registrador na memória de dados. MOV + W + F = MOVWF Outros exemplos: AULA-05 10UFSJ – CAP © Edgar C. Furtado Ou exclusivo (XOR) entre o conteúdo de (W) e o do registrador (F); Decrementa (DEC) o conteúdo do registrador (F); Limpa (CLR) o conteúdo do registrador (F); Um bit (B) é setado (S) do registrador (F); Um bit (B) é testado (T) do registrador (F), salta (S) se for 0 (C); Rotaciona 1 bit (R) à esquerda (L) o conteúdo do registrador (F); XORWF: DECF: CLRF: BSF: BTFSC: RLF: Instruções Instruções orientadas a bits: BCF: Um bit (B) é limpo (C) do registrador (F); BSF: Um bit (B) é Setado (S) do registrador (F); BTFSC: Um bit (B) é testado (T) do registrador (F), salta (S) se for 0 (C); BTFSS: Um bit (B) é testado (T) do registrador (F), salta (S) se for 1 (S); AULA-05 11UFSJ – CAP © Edgar C. Furtado Ação: Alterar nível lógico ou testar nível lógico de um dado bit de um registrador. Requisitos para a instrução: • Código da ação; • Endereço do registrador; • O bit do registrador. Instruções Acesso direto à memória SRAM: 4 Bancos de memória com 128bytes cada  512 registradores, ou seja, são necessários 9 bits para acesso direto a qualquer registrador. AULA-05 12UFSJ – CAP © Edgar C. Furtado Dilema do projeto: Quanto maior o número de bits de endereçamento nas instruções menor quantidade de instruções codificadas/ações. Instruções Instruções orientadas a bits: Formato da instrução OPcode: Ver endereços possíveis dos banco de registradores. Exemplo: AULA-05 15UFSJ – CAP © Edgar C. Furtado Índice do bit: 000 – bit 0 LSB 001 – bit 1 010 – bit 2 . . . 111 – bit 7 MSB 0000 00002 – 0d 0111 11112 – 127d ∶BANCO 0 Instruções Instrução de máquina Código maquina: 0101 101 0000011 0110 010 0100000 Instrução: 1. BSF STATUS,5 2. BTFSC 32,2 AULA-05 16UFSJ – CAP © Edgar C. Furtado Endereço registrador STATUS= 03 01011010000011 01100100100000 Memória de Programa: Reg. n: Reg. n+1: Instruções Instruções orientadas a bits: Requisitos para a unidade de controle: • Identificar a instrução; • Informar para a memória o AULA-05 17UFSJ – CAP © Edgar C. Furtado endereço do registrador; • Informar para a ULA o bit a ser testado ou alterado. Instrução: BSF f,b | o bit b do registrador f  1 • BCF: Um bit (B) é setado (S) do registrador (F); • Coloca nível lógico 1 para bit b do registrador f; • Não afeta nenhum INDICADOR; Instruções AULA-05 20UFSJ – CAP © Edgar C. Furtado Exemplo: BSF TMR0,7 BSF TMR0,7 TMR0 DC C Z antes 0001 0111 x x x depois 1001 0111 x x x 0x17=00010111 0x97=10010111 Instrução: BTFSC f,b | Testa um bit do registrador f • BTFSF: Um bit (B) é testado (T) do registrador (F) e salta (S) se o mesmo for 0 (C); Instruções AULA-05 21 • Pode ser utilizada para teste condicional; • Não afeta nenhum INDICADOR; UFSJ – CAP © Edgar C. Furtado Instrução: BTFSC f,b | Testa um bit do registrador f Exemplo: Instruções AULA-05 22UFSJ – CAP © Edgar C. Furtado Assume-se que no ciclo de instrução (CI) 0 a primeira instrução é apenas lida. No CI 1 a verificação do bit 2 do registrador REG1 é realizada pela função BTFSC. Como tal bit é igual a 1 a próxima instrução é executada, no CI 2 e, em seguida, a terceira instrução, no CI 3.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved