59
Microprocessadores II Microprocessadores II Professor: Mauro Jansen Sistemas de Numeração e operações binárias 06/05/2015

Microprocessadores ii sistemas de numeração

Embed Size (px)

Citation preview

Page 1: Microprocessadores ii sistemas de numeração

Microprocessadores IIMicroprocessadores IIProfessor: Mauro Jansen

Sistemas de Numeração e operações binárias

06/05/2015

Page 2: Microprocessadores ii sistemas de numeração

Sistemas de Numeração

Prof. MauroMicroprocessadores II

Sistemas de Numeração 2

Sistemas de Numeração

Page 3: Microprocessadores ii sistemas de numeração

Sistemas de numeração

� Conjunto de regras que nos permite escrever e ler qualquer número utilizando símbolos básicos (algarismos ou dígitos).

� Chamamos de “base N” o sistema de

Prof. MauroMicroprocessadores II

Sistemas de Numeração 3

� Chamamos de “base N” o sistema de numeração que usa “N” símbolos para representar os números� Ex.: base 10, base 2, base 8, base 16

Page 4: Microprocessadores ii sistemas de numeração

Sistemas de numeração

� Exemplos:� Sistema decimal (base 10)

� Dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9� Sistema binário (base 2)

Dois símbolos: 0 e 1 (que são bits)

Usado interna-mente pelo computador

Prof. MauroMicroprocessadores II

Sistemas de Numeração 4

� Dois símbolos: 0 e 1 (que são bits)� Sistema octal (base 8)

� Oito símbolos: 0, 1, 2, 3, 4, 5, 6, 7� Sistema hexadecimal (base 16)

� Dezesseis símbolos:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Mais usado na prática de programação

Page 5: Microprocessadores ii sistemas de numeração

Sistema Decimal

� Soma dos produtos dos dígitos por potências de base 10 (10n), onde n é a posição relativa do algarismo, da direita (n=0) para a esquerda

7 0 4 8

Prof. MauroMicroprocessadores II

Sistemas de Numeração 5

7 0 4 8

103 102 101 100

8 x 100 = 8 x 1 = 8

4 x 101 = 4 x 10 = 40

0 x 102 = 0 x 100 = 0

7 x 103 = 7 x 1.000 = 7.000

7.048

Page 6: Microprocessadores ii sistemas de numeração

Sistema Binário

� Soma de produtos dos dígitos (bits) por potências de base 2 (2n), onde n é a posição relativa do algarismo, da direita (n=0) para a esquerda

1 0 1 0

Prof. MauroMicroprocessadores II

Sistemas de Numeração 6

1 0 1 0

23 22 21 20

0 x 20 = 0 x 1 = 0

1 x 21 = 1 x 2 = 2

0 x 22 = 0 x 4 = 0

1 x 23 = 1 x 8 = 8

10

Page 7: Microprocessadores ii sistemas de numeração

Bits e Bytes

� Byte é um conjunto de 8 bits:

1 0 1 0 1 0 1 07 6 5 4 3 2 1 0

Bit 0: Bit menos Bit 7: Bit mais

Peso / ordem dos bits

Prof. MauroMicroprocessadores II

Sistemas de Numeração 7

� O byte é a menor unidade de memória� Um byte equivale a dois dígitos hexadecimais� Um Nibble é um conjunto de 4 bits (metade de

um byte) ou um dígito hexadecimal

Bit 0: Bit menos significativo (LSB)

Bit 7: Bit mais significativo (MSB)

Page 8: Microprocessadores ii sistemas de numeração

Sistema Binário: valores máximos

� Quantidade máxima de valores representáveis com N bits: 2N

� Maior valor representável: 2N – 1� Exemplos:

Prof. MauroMicroprocessadores II

Sistemas de Numeração 8

� Exemplos:

Qtd.de bits Qtd.valores Maior valor Binário

4 24 = 16 15 1111

8 28 = 256 255 11111111

16 216 = 65536 65535 11111111 11111111

Page 9: Microprocessadores ii sistemas de numeração

Sistema Hexadecimal

� Usa dezesseis símbolos:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

� Notação: letra “h” após o número � Exemplos: 3Fh, 200Ah, B7ECh, 70h

Sistema mais usado em computadores

Prof. MauroMicroprocessadores II

Sistemas de Numeração 9

� Sistema mais usado em computadores � Correspondência de algarismos hexadecimais

para decimais:A = 10 D = 13B = 11 E = 14C = 12 F = 15

Page 10: Microprocessadores ii sistemas de numeração

Sistema Hexadecimal

� Soma de produtos dos dígitos (bits) por potências de base 16 (16n), onde n é a posição relativa do algarismo, da direita (n=0) para a esquerda

0 3 C F

Prof. MauroMicroprocessadores II

Sistemas de Numeração 10

0 3 C F

23 162 161 160

F x 160 = 15 x 1 = 15

C x 161 = 12 x 16 = 192

3 x 162 = 3 x 256 = 768

0 x 163 = = 0

975

Page 11: Microprocessadores ii sistemas de numeração

Sistema Hexadecimal: valores máximos

� Quantidade máxima de valores representáveis com N dígitos: 16N

� Maior valor representável: 16N – 1� Exemplos:

Prof. MauroMicroprocessadores II

Sistemas de Numeração 11

� Exemplos:

Dígitos Qtd.de bits Qtd.valores Maior valor Hexa

1 4 161 = 16 15 F

2 8 162 = 256 255 FF

4 16 164 = 65536 65535 FFFF

Page 12: Microprocessadores ii sistemas de numeração

Números com um byte

� Repare que com um byte (8 bits) podemos representar os números decimais de 0 a 255 e seus correspondentes hexadecimais e binários:

Decimal 0 a 255

Prof. MauroMicroprocessadores II

Sistemas de Numeração 12

Hexa 00h a FFh

Binário 00000000 a 11111111

� Para representar valores maiores que 255 precisaremos de dois bytes ou mais

� Cada dois dígitos hexadecimais correspondem a um byte

Page 13: Microprocessadores ii sistemas de numeração

Aritmética binária

Prof. MauroMicroprocessadores II

Sistemas de Numeração 13

Aritmética binária

Page 14: Microprocessadores ii sistemas de numeração

Soma binária� Regras:

Operação Resultado

0+0 0

0+1 1

1+0 1

1+1 10 (0 e “vai 1”)

Prof. MauroMicroprocessadores II

Sistemas de Numeração 14

� Exemplo:

� OBS: o “vai 1” ou transporte é chamado de “carry”

1+1 10 (0 e “vai 1”)

Page 15: Microprocessadores ii sistemas de numeração

Soma binária

� Overflow (estouro): é quando o resultado da soma não cabe na quantidade de bits disponível

� Exemplo (dispondo de 4 bits):

Prof. MauroMicroprocessadores II

Sistemas de Numeração 15

� Exemplo (dispondo de 4 bits):

Overflow

10102 (1010)

+ 11012 (1310)

101112 ( 710)

Page 16: Microprocessadores ii sistemas de numeração

Valores binários sinalizados

� São números inteiros (positivos e negativos – conjunto Ζ) no sistema binário

� Existem 2 soluções para representação:� Sinal-magnitude (pouco utilizada)

Prof. MauroMicroprocessadores II

Sistemas de Numeração 16

� Sinal-magnitude (pouco utilizada)� Complemento de 2 (padrão)

Page 17: Microprocessadores ii sistemas de numeração

Valores binários sinalizados

� 1ª solução: sinal-magnitude� O bit mais significativo representa o sinal e os bits

restantes, o valor:� +8 = 00001000� - 8 = 10001000

Prof. MauroMicroprocessadores II

Sistemas de Numeração 17

� Desvantagens:� Duas representações para o número zero:

� +0 = 00000000� - 0 = 10000000

� P/ efetuar adição e subtração deve-se considerar tanto a magnitude quanto o sinal (dificuldade de implementação no processador)

Page 18: Microprocessadores ii sistemas de numeração

Valores binários sinalizados

� 2ª solução (padrão): complemento de 2� Também usa o bit mais significativo como

sinal, mas os outros bits são interpretados de forma diferenteÉ o valor simétrico de um número binário

Prof. MauroMicroprocessadores II

Sistemas de Numeração 18

� É o valor simétrico de um número binário� Passos para achar o complemento de 2:

� Calcular o complemento de 1, invertendo todos os bits do número binário original

� Somar 1 ao complemento de 1

Page 19: Microprocessadores ii sistemas de numeração

Valores binários sinalizados

� Exemplo: calcular o complemento de 2 de 00001000 (8 em decimal):

Normal: 00001000 (+810)Complemento de 1: 11110111Soma-se 1 ao c-1: 1

Prof. MauroMicroprocessadores II

Sistemas de Numeração 19

Soma-se 1 ao c-1: 1Complemento de 2: 11111000 (-810)

� Regra prática p/ achar complemento de 2:� Copie todos os bits da direita p/ esquerda até

achar o primeiro bit 1 (inclusive ele)� Inverta todos os demais bits

Page 20: Microprocessadores ii sistemas de numeração

Valores binários sinalizados

� Quantidade máxima de valores representáveis com N bits: 2N - 1

� Faixa de valores: - 2N/2– 1 a + 2N/2 – 1� Exemplos:

Prof. MauroMicroprocessadores II

Sistemas de Numeração 20

� Exemplos:

Qtd.de bits Qtd.valores Faixa de valores

4 24-1 = 15 -7 a +7

8 28-1 = 255 -127 a +127

16 216-1 = 65535 -32.768 a +32.768

Page 21: Microprocessadores ii sistemas de numeração

Complemento: noção matemática

� Complemento de “B”� É o valor simétrico de um número X na base “B”,

com N dígitos� Número YB com N dígitos que, somado a XB

também com N dígitos, resulta num número que,

Prof. MauroMicroprocessadores II

Sistemas de Numeração 21

também com N dígitos, resulta num número que, desprezando-se os dígitos mais significativos que excedem a quantidade N, é o resultado da subtração X - Y

complemento de B do número X = BN – x

Page 22: Microprocessadores ii sistemas de numeração

Complementos: noção matemática

� Base 2 (complemento de 2):complemento de 2 de X = 2N – X (N=num.de algarismos)

Exemplo:Complemento de 2 de 00112 (4 dígitos) = 24 – 0011

= 10000 – 0011 = 1101

Prof. MauroMicroprocessadores II

Sistemas de Numeração 22

= 10000 – 0011 = 1101Prova: 1000 – 0011 = 1000 + 1101 = 10101

� Base 10 (complemento de 10):Complemento de 10 de X = 10N – X (n=num.de algarismos)

Exemplo:Complemento de 10 de 3 (2 dígitos) = 102 – 3 = 97Prova: 94 – 3 = 94 + 97 = 191

Page 23: Microprocessadores ii sistemas de numeração

Operações binárias: subtração� Podemos efetuar a subtração binária da mesma

forma que no sistema decimal, sendo que o “vai 1” é subtraído do resultado da próxima conta

� Regras:Operação Resultado

0-0 0

Prof. MauroMicroprocessadores II

Sistemas de Numeração 23

� Exemplo:1 1 1

1000- 0011

0101

0-0 0

1-0 1

1-1 0

0-1 11 (1 e “vai 1”)

Page 24: Microprocessadores ii sistemas de numeração

Operações binárias: subtração

� Como vimos no exemplo anterior, a subtração pelo processo normal é trabalhosa

� Por convenção e por questões de

Prof. MauroMicroprocessadores II

Sistemas de Numeração 24

� Por convenção e por questões de simplificação, o microprocessador efetua apenas a operação de adição

� Mas como efetuar subtração só dispondo da adição?� R: usando o “complemento de 2”

Page 25: Microprocessadores ii sistemas de numeração

Subtração usando complemento de 2

� Basta somar o complemento de 2 do segundo fator ao primeiro

� Vejamos como fica a subtração anterior usando soma com complemento de 2:

Prof. MauroMicroprocessadores II

Sistemas de Numeração 25

1000 – 0011 = 1000 + complemento de 2 de 0011

1000+110110101

Despreza-se o dígito que excede a quantidade de bits que é 4

Page 26: Microprocessadores ii sistemas de numeração

Outras operações

� Multiplicação: várias adições� Divisão: várias subtrações (adições com

complemento de 2)

Prof. MauroMicroprocessadores II

Sistemas de Numeração 26

Page 27: Microprocessadores ii sistemas de numeração

Conversões de base

Prof. MauroMicroprocessadores II

Sistemas de Numeração 27

Conversões de base

Page 28: Microprocessadores ii sistemas de numeração

Conversões de base

� É possível converter um valor de um sistema de numeração para outro, usando algumas regras

� Podemos usar calculadoras ou o próprio

Prof. MauroMicroprocessadores II

Sistemas de Numeração 28

� Podemos usar calculadoras ou o próprio computador para fazer essas conversões, mas é importante conhecer as regras

Page 29: Microprocessadores ii sistemas de numeração

Conversão da base n para decimal

� Multiplicar cada dígito por nX, onde n é a base destino e x é a posição que o dígito ocupa, da direita (x=0) para a esquerda, e somar todos os resultados.

� Exemplo: converter 10102 p/ base 10

1 0 1 0

Prof. MauroMicroprocessadores II

Sistemas de Numeração 29

1 0 1 023 22 21 20

0 x 20 = 0 x 1 = 0

1 x 21 = 1 x 2 = 2

0 x 22 = 0 x 4 = 0

1 x 23 = 1 x 8 = 8

10

Portanto,10102 = 1010

Page 30: Microprocessadores ii sistemas de numeração

Conversão da base n para decimal

� Obs.: caso n=16 (conversão da base 16 p/ decimal), substituímos cada dígito literal hexadecimal pelo seu respectivo valor decimal (A=10, B=11, C=12, D=13, E=14, F=15) na multiplicação pela potência de

Prof. MauroMicroprocessadores II

Sistemas de Numeração 30

F=15) na multiplicação pela potência de base 16, quando necessário

Page 31: Microprocessadores ii sistemas de numeração

Conversão de decimal para base n

� Efetua-se divisões sucessivas do número decimal por n enquanto o número for maior que n. O correspondente na base n será o número formado pelo último quociente e resto das divisões, da direita para a esquerda

Prof. MauroMicroprocessadores II

Sistemas de Numeração 31

das divisões, da direita para a esquerda � Exemplo: Converter 1310 para base 2� Solução: 1310 = 11012

13 2

(1) 6 2

(0) 3 2

(1) (1)

Page 32: Microprocessadores ii sistemas de numeração

Conversão de decimal para base n

� Obs.: caso n=16 (conversão da decimal p/ base 16), substituímos o quociente e cada resto pelo dígito literal hexadecimal correspondente (10=A, 11=B, etc.), quando necessário

Prof. MauroMicroprocessadores II

Sistemas de Numeração 32

quando necessário

Page 33: Microprocessadores ii sistemas de numeração

Conversão de hexa para binário� É feita de forma transparente, visto que a base 16 é

potência da base 2� Cada dígito hexadecimal corresponde a quatro dígitos

binários e vice-versa� Substitui-se cada algarismo hexadecimal pelo seu

correspondente binárioExemplo:

Prof. MauroMicroprocessadores II

Sistemas de Numeração 33

� Exemplo:

0 3 C F

0000 0011 1100 1111

Page 34: Microprocessadores ii sistemas de numeração

Tabela de conversão básica

DECIMAL HEXA BINÁRIO

0 0 0000

1 1 0001

2 2 0010

3 3 0011

DECIMAL HEXA BINÁRIO

8 8 1000

9 9 1001

10 A 1010

11 B 1011

Prof. MauroMicroprocessadores II

Sistemas de Numeração 34

3 3 0011

4 4 0100

5 5 0101

6 6 0110

7 7 0111

11 B 1011

12 C 1100

13 D 1101

14 E 1110

15 F 1111

Page 35: Microprocessadores ii sistemas de numeração

Outras codificações

Prof. MauroMicroprocessadores II

Sistemas de Numeração 35

Outras codificações

Page 36: Microprocessadores ii sistemas de numeração

Codificação ASCII

� Dados não numéricos: letras, sinais ou algarismos usados em nomes de pessoa, rua, datas, códigos, etc.

� Tabela criada para representar os

Prof. MauroMicroprocessadores II

Sistemas de Numeração 36

� Tabela criada para representar os caracteres do mundo real com códigos no computador e dispositivos (teclados, displays, etc)

Page 37: Microprocessadores ii sistemas de numeração

Codificação ASCII

� ASCII é a sigla para “American Standard Code for Information Interchange” (código padrão americano para intercâmbio de informações)

Prof. MauroMicroprocessadores II

Sistemas de Numeração 37

� Cada caractere (letras, números, símbolos, etc.) é representado por um código (1 byte)

� A tabela completa pode ser encontrada facilmente na internet

Page 38: Microprocessadores ii sistemas de numeração

Codificação ASCIICaractere Decimal Hexa Binário

Espaço 32 20 0010 0000

( 33 21 0010 0001

+ 34 22 0010 0011

$ 35 23 0010 0100

... ... ...

Caractere Decimal Hexa Binário

A 65 41 0110 0001

B 66 42 0110 0010

C 67 43 0110 0011

D 68 44 0110 0100

E 69 45 0110 0101

Prof. MauroMicroprocessadores II

Sistemas de Numeração 38

... ... ...

0 48 30 0101 0000

1 49 31 0101 0001

2 50 32 0101 0010

3 51 33 0101 0011

4 52 34 0101 0100

5 53 35 0101 0101

... ... ...

E 69 45 0110 0101

F 70 46 0110 0110

G 71 47 0110 0111

H 72 48 0110 1000

... ... ...

Page 39: Microprocessadores ii sistemas de numeração

Codificação BCD� Usado para representar números� Binary-Coded Decimal (decimal codificado em binário)� Usada em alguns displays LCD e outros dispositivos de

saída� Cada dígito decimal é representado pelo seu

correspondente binário de quatro bits (nibble) :

Prof. MauroMicroprocessadores II

Sistemas de Numeração 39

correspondente binário de quatro bits (nibble) :

Decimal BCD Decimal BCD

0 0000 5 0101

1 0001 6 0110

2 0010 7 0111

3 0011 8 1000

4 0100 9 1001

Page 40: Microprocessadores ii sistemas de numeração

Codificação BCD

� Exemplo: representar 148 decimal em BCD� 1=00012

� 4=01002

� 8=10002

148 (decimal) = 0001 0100 1000 (BCD)

Prof. MauroMicroprocessadores II

Sistemas de Numeração 40

� 8=10002

� Como cada dígito em BCD tem 4 bytes e um byte tem 8 bits, para evitar desperdício, coloca-se dois BCDs em um byte (BCD comprimido)

Page 41: Microprocessadores ii sistemas de numeração

Operações binárias

Prof. MauroMicroprocessadores II

Sistemas de Numeração 41

Operações binárias especiais

Page 42: Microprocessadores ii sistemas de numeração

Operações binárias especiais� São operações lógicas feitas com um byte ou

palavra de dados com finalidades específicas:� Zeramento seletivo de bits� Setamento seletivo de bits� Teste de bit� Inversão seletiva de bits

Prof. MauroMicroprocessadores II

Sistemas de Numeração 42

� Inversão seletiva de bits� Deslocamento de bits� Rotação de bits

� Normalmente são feitas usando operações lógicas ou instruções da linguagem máquina envolvendo um segundo operando chamado “máscara”

Page 43: Microprocessadores ii sistemas de numeração

Revendo as operações lógicas básicas

E (AND)

1 1 1

Qualquer outra 0

OU (OR)

0 0 0

Qualquer outra 1

Prof. MauroMicroprocessadores II

Sistemas de Numeração 43

OU EXCLUSIVO (EOR)

0 1 1

1 0 1

Qualquer outra 0

NAO (NOT)

0 1

1 0

Page 44: Microprocessadores ii sistemas de numeração

Zeramento seletivo� É quando desejamos zerar (desligar) um ou mais

bits em um byte ou palavra de dados, sem afetar os outros bits

� Executa-se uma operação AND do operando com um byte que só tem bit zero nas posições que desejamos zerar (máscara de zeramento)

Prof. MauroMicroprocessadores II

Sistemas de Numeração 44

um byte que só tem bit zero nas posições que desejamos zerar (máscara de zeramento)

� Exemplo: zerar os bits 2 e 4 do byte10110101

and 11101011

10100001

Máscara

Page 45: Microprocessadores ii sistemas de numeração

Setamento seletivo� É quando desejamos setar (ligar) um ou mais

bits em um byte ou palavra de dados sem afetar os outros bits

� Executa-se uma operação OU do operando com um byte que só tem bit um nas posições que desejamos setar (máscara de setamento)

Prof. MauroMicroprocessadores II

Sistemas de Numeração 45

um byte que só tem bit um nas posições que desejamos setar (máscara de setamento)

� Exemplo: ligar os bits 1 e 6 do byte10110101

or 01000010

11110111

Máscara

Page 46: Microprocessadores ii sistemas de numeração

Teste de bit� É quando desejamos testar se um determinado

bit de um byte ou palavra de dados está ligado� Fazemos uma operação AND do operando com

um byte que só tem bit um no bit que desejamos testar� Resultado > 0 � bit ligado

Prof. MauroMicroprocessadores II

Sistemas de Numeração 46

� Resultado > 0 � bit ligado� Resultado = 0 � bit desligado

� Exemplo: testar o bit 410110101

and 00010000

00010000 Resultado > 0 � bit ligado

Máscara

Page 47: Microprocessadores ii sistemas de numeração

Inversão seletiva de bits� É quando desejamos inverter um ou mais bits em

um byte ou palavra de dados sem afetar os outros bits

� Executa-se uma operação OU EXCLUSIVO do operando com um byte que só tem bit um nas posições que desejamos inverter (máscara de

Prof. MauroMicroprocessadores II

Sistemas de Numeração 47

operando com um byte que só tem bit um nas posições que desejamos inverter (máscara de inversão)

� Exemplo: inverter os bits 1 e 2 do byte10110101

eor 00000110

11110011

Máscara

Page 48: Microprocessadores ii sistemas de numeração

Deslocamento de bits

� É a operação de deslocar todos os bits dentro do byte ou palavra de dados à direita ou à esquerda, sendo inserido um bit zero à esquerda ou direita, respectivamente

� Obs.:

Prof. MauroMicroprocessadores II

Sistemas de Numeração 48

� Obs.:� Deslocamento à direita é o mesmo que dividir o byte

por 2 (descartando a parte fracionária)� Deslocamento à esquerda é o mesmo que multiplicar o

byte por 2, exceto quando o bit de maior ordem é um e é perdido (vai para o carry)

Page 49: Microprocessadores ii sistemas de numeração

Deslocamento à direita

� Um zero é inserido à esquerda (bit 7) e os outros bits são deslocados para a direita� O bit zero (resto da divisão) vai para o carry

0 0 0 0 1 0 1 10 carry

Prof. MauroMicroprocessadores II

Sistemas de Numeração 49

Resultado:

0 0 0 0 1 0 1 17 6 5 4 3 2 1 0

0 carry

0 0 0 0 0 1 0 17 6 5 4 3 2 1 0

carry=1

(11)10

(05)10 resto=1

Page 50: Microprocessadores ii sistemas de numeração

Deslocamento à esquerda

� Um zero é inserido à direita (bit 0) e o resto é deslocado à esquerda� O bit sete vai para o carry

0 0 0 0 1 0 1 1 0carry

Prof. MauroMicroprocessadores II

Sistemas de Numeração 50

Resultado:

0 0 0 0 1 0 1 17 6 5 4 3 2 1 0

0carry

0 0 0 1 0 1 1 07 6 5 4 3 2 1 0

carry=0

(11)10

(22)10

Page 51: Microprocessadores ii sistemas de numeração

Rotação de bits

� É a operação de “rodar” os bits dentro do byte ou palavra de dados

� É executada com instrução específica para isso na linguagem de máquinaTipos de rotação de bits:

Prof. MauroMicroprocessadores II

Sistemas de Numeração 51

� Tipos de rotação de bits:� Rotação à direita� Rotação à esquerda

� Existe a operação de rotação com o carry e sem o carry

Page 52: Microprocessadores ii sistemas de numeração

Rotação de bits à direita

� O bit zero passa a ser o bit 7 e os outros são deslocados uma posição à direita

1 0 1 1 1 1 0 1

Prof. MauroMicroprocessadores II

Sistemas de Numeração 52

Resultado:

1 0 1 1 1 1 0 17 6 5 4 3 2 1 0

1 1 0 1 1 1 1 07 6 5 4 3 2 1 0

Page 53: Microprocessadores ii sistemas de numeração

Rotação de bits à esquerda

� O bit 7 passa a ser o bit zero e os outros são deslocados uma posição à esquerda

1 0 1 1 1 1 0 1

Prof. MauroMicroprocessadores II

Sistemas de Numeração 53

Resultado:

1 0 1 1 1 1 0 17 6 5 4 3 2 1 0

0 1 1 1 1 0 1 17 6 5 4 3 2 1 0

Page 54: Microprocessadores ii sistemas de numeração

Rotação de bits com o carry

� Nas rotações com o carry, o bit do carry incluído na rotação, como se fosse um nono bit do byte

1 0 1 1 1 1 0 1À direita:

Prof. MauroMicroprocessadores II

Sistemas de Numeração 54

1 0 1 1 1 1 0 17 6 5 4 3 2 1 0

1 0 1 1 1 1 0 17 6 5 4 3 2 1 0

C

C

À direita:

À esquerda:

Page 55: Microprocessadores ii sistemas de numeração

Dúvidas ???

Prof. MauroMicroprocessadores II

Sistemas de Numeração 55

Dúvidas ???

Page 56: Microprocessadores ii sistemas de numeração

Exercícios

� O que é um sistema de numeração?� O que é um nibble?� Quantos números binários podemos

representar com 4 dígitos?

Prof. MauroMicroprocessadores II

Sistemas de Numeração 56

representar com 4 dígitos?� Quantos números hexadecimais podemos

representar com 2 dígitos?� O que é overflow?� O que é carry?

Page 57: Microprocessadores ii sistemas de numeração

Exercícios

� Efetuar as seguintes conversões de base:Número Base p/ base Res.

a) 00110110 2 10

b) 10111111 2 16

c) 37 10 2

Prof. MauroMicroprocessadores II

Sistemas de Numeração 57

c) 37 10 2

d) 444 10 16

e) F1 16 2

f) 300H 16 10

g) 82 10 BCD

h) 121 10 BCD

i) 11110011 BCD 10

Page 58: Microprocessadores ii sistemas de numeração

Exercícios

� Efetue as seguintes operações, indicando se houve carry e overflow em cada uma:� 101011 + 110010� 110101 + 000111

Prof. MauroMicroprocessadores II

Sistemas de Numeração 58

110101 + 000111� 1010 – 0011 (normal e c/complemento de 2)

� Efetue a subtração 94 -12 usando soma c/ o complemento de 10 de 12

Page 59: Microprocessadores ii sistemas de numeração

Exercícios

� Efetue as operações:� Zeramento seletivo dos bits 5 e 7 do byte

10111011 � Setamento seletivo dos bits 0 a 3 do byte

10010000

Prof. MauroMicroprocessadores II

Sistemas de Numeração 59

10010000� Teste do bit 3 no byte 01011010� Inversão dos bits 4 a 7 do byte 01101101� Desloque o byte 00001011 três bits à

esquerda� Desloque o byte 10101101 quatro bits à direita