Manipulação de bits

423 palavras 2 páginas
Instituto Federal de Educação, Ciência e Tecnologia de Sergipe Curso de Eletrônica Disciplina: Sistemas Programáveis Professor: Fábio Prudente

Manipulação de Bits
Na programação de microcontroladores, é muito frequente a necessidade de controlar o valor de apenas alguns bits, dentro de um byte, deixando os demais bits intactos. A linguagem C possui alguns recursos para esse fim. Vamos estudar alguns deles aqui:

Máscara de Bits:
Observe as propriedades lógicas abaixo: X ∙0 = 0 →Leva a zero X ∙1 = X →Mantém X +0 = X X +1 = 1 X ⊕0 = X X ⊕1 = X →Mantém →Leva a um →Mantém →Inverte

Perceba que, para cada par de operações, sempre há um valor que modifica o valor de X (Leva a zero, Leva a um, ou inverte), e outro que mantém o valor de X. Assim, sempre que quisermos aplicar uma dessas ações sobre alguns bits, preservando os demais, usaremos os operadores lógicos, da seguinte forma: Ex 1: deseja­se levar a zero os bits 5, 3 e 2 de um registrador, preservando o valor dos demais bits. Solução: realizar a operação AND bit­a­bit entre o registrador e uma máscara de bits, a qual contém 0 nos lugares que se deseja zerar:

Código C: rgsrdr=rgsrdr&01001; eitao eitao b1101

ou rgsrdr& 01001; eitao = b1101 Ex 2: deseja­se levar a um os bits 7, 6, 3 e 0 de um registrador, preservando o valor dos demais bits. Solução: realizar a operação OR bit­a­bit entre o registrador e uma máscara de bits, a qual contém 1 nos lugares que se deseja levar a um:

Código C: rgsrdr=rgsrdr|01010; eitao eitao b1001 ou rgsrdr| 01010; eitao = b1001 Ex 3: deseja­se inverter os bits 4 e 3 de um registrador, preservando o valor dos demais bits. Solução: realizar a operação XOR bit­a­bit entre o registrador e uma máscara de bits, a qual contém 1 nos lugares que se deseja inverter:

Código C: rgsrdr=rgsrdr^00010; eitao eitao b0100 ou rgsrdr| 00010; eitao = b0100

Mais exemplos: ● Testar apenas um bit, ignorando todos os demais: Ex: deseja­se testar apenas o bit 5 de um registrador: Solução:

Relacionados

  • Conceitos Básicos de microprocessados
    1785 palavras | 8 páginas
  • java
    2964 palavras | 12 páginas
  • informatica
    354 palavras | 2 páginas
  • Arquitetura
    1084 palavras | 5 páginas
  • estudo processador neader-x
    1033 palavras | 5 páginas
  • estudo processador neader-x
    1033 palavras | 5 páginas
  • ORGANIZAÇÃO DE COMPUTADORES
    1030 palavras | 5 páginas
  • ORGANIZAÇÃO DE COMPUTADORES
    1030 palavras | 5 páginas
  • Louco
    795 palavras | 4 páginas
  • Trabalhos
    1834 palavras | 8 páginas