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 cap2, Notas de estudo de Engenharia Telemática

Representação de Numeros e Caracteres em Assembly

Tipologia: Notas de estudo

2010

Compartilhado em 30/11/2010

samuel-santos-22
samuel-santos-22 🇧🇷

4.6

(41)

262 documentos

Pré-visualização parcial do texto

Baixe Assembly cap2 e outras Notas de estudo em PDF para Engenharia Telemática, somente na Docsity! Cap2 – Representação de Números e Caracteres. Página 1 de 9 2. Representação de Numeros e Caracteres. 2.1 Conceitos básicos Bit = BInary digiT = vale sempre 0 ou 1 elemento básico de informação Byte = 8 bits processados em paralelo (ao mesmo tempo) Word = 2 bytes = 16 bits Double word = 2 words = 4 bytes = 32 bits Nibble = 4 bits (utilidade para BCD) Posição de bits: Para 1 byte: 7 6 5 4 3 2 1 0 0 1 0 1 0 1 0 1 Para 1 word: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 byte alto (high byte) | byte baixo (low byte) Obs: Words são armazenados em bytes consecutivos em memórias de 8 bits. Byte baixo = byte inferior ou byte de menor ordem -> endereço N Byte alto = byte superior ou byte de maior ordem -> endereço N+1 Cap2 – Representação de Números e Caracteres. Página 2 de 9 2.2 Representação de números Números em base binária (base 2): a) 1 byte 00100111b = 0.27 + 0.26 + 1.25 + 0.24 + 0.23 + 1.22 + 1.21 + 1.20 = 0 + 0 + 32 + 0 + 0 + 4 + 2 + 1 = 39d = 2716 ou 27h b) 1 word 0101011101101110b = 0.215 + 1.214 + ... + 1.22 + 1.21 + 0.20 = 22382d = 576E16 ou 576Eh (mais fácil de representar!) high byte = 0101 0111b = 57h low byte = 0110 1110b = 6Eh Números em base octal (base 8): a) byte 2578 = 2.82 + 5.81 + 7.80 = 128 + 40 + 7 = 175d = 010_101_111b = 10101111b b) word 0573268 = 0.85 + 5.84 + 7.83 + 3.82 + 2.81 + 6.80 = 0 + 20480 + 3584 + 192 + 16 + 6 = 24278d = 000_101_111_011_010_110b = 0101111011010110b Cap2 – Representação de Números e Caracteres. Página 5 de 9 Exemplo 3: 70FFh = 0111000011111111b valor não sinalizado = 0.215 + 1.214 + ... + 1.22 + 1.21 + 1.20 valor sinalizado bit de sinal = 0 => " + " (positivo) = valor igual ao não sinalizado Exemplo 4: C777h = 1100011101110111b valor não sinalizado = 1.215 + 1.214 + ... + 1.22 + 1.21 + 1.20 bit de sinal = 1 => " - " (negativo) valor sinalizado = a ser calculado considerando o número em C2 Alguns números em hexadecimal, em representação sinalizada: 0FFFh positivo, 2 bytes EF0h positivo, 3 dígitos hexa, 2 bytes, byte alto 0Eh, byte baixo F0h 1h positivo, 1 byte, 01h 80h positivo, se 2 bytes => 0000000010000000b negativo, se 1 byte => 10000000b 8000h negativo, byte alto 80h, byte baixo 00h C321h negativo FFFFh negativo Cap2 – Representação de Números e Caracteres. Página 6 de 9 2.4 Representação de caracteres ASCII: • Letras e pontuação não são representáveis diretamente em computadores e circuitos lógicos. • Utiliza-se alguns códigos binários de de 6, 7 ou 8 bits, que atribuem a cada combinação binária um caracter alfa-numérico. • código mais conhecido e utilizado é o ASCII (American Standard Code for Information Interchange). Veja a tabela 2.5, pagina 32 do livro-texto. • Exemplos: “A” – 42h ou 0100 0010 “B” – 43h ou 0100 0011 “X” – 58h ou 0101 1000 “a” – 62h ou 0110 0010 “x” – 78h ou 0111 1000 “0” – 30h ou 0011 0000 “9” – 39h ou 0011 1001 “?” – 3Fh ou 0011 1111 “ ” – 20h ou 0010 0000 “ . ” – 2Eh ou 0010 1110 Cap2 – Representação de Números e Caracteres. Página 7 de 9 2.5 Exemplo de um programa processando números A especificação do programa SOMA: - iniciar - ler a variável A da memória - ler a variável B da memória - somar A + B - converter o resultado para caracter ASCII - exibir o caracter no monitor - terminar O fluxograma: Início Ler a variável A Ler a variável B Somar A + B Exibir caracter no monitor Fim Converter o resultado para caracter ASCII
Docsity logo



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