Aprender / Lição 8

Bits, bytes e números

Lição 8 de 12Iniciante8 min
Laboratório · 08 / 12

Flags: o que a comparação deixou

Seu robô-guia

RAX guarda 5. Faça uma comparação que deixe ZF desligada (0).

Blocos

Seu programa

1 instrução
  1. 01 MOV
    mov rax, 5

Resultado

PROCESSADORx86-64
RAX64 bits—
RBX64 bits—
RCX64 bits—

Aguardando suas instruções

ZF · indicador de zero—

Simulador didático · blocos equivalem a instruções Intel/NASM. Não executa Assembly nativo.

Entender melhor

ZF é um bit de estado: 1 quando a comparação encontra igualdade, 0 quando não. É ela que os saltos consultam.

Este laboratório modela MOV, ADD, SUB, CMP, saltos de igualdade e pilha. Os registradores começam sem valor; a aritmética usa 64 bits sem sinal. Só ZF é representada, e cada execução recomeça do início. Repetições param após 200 passos. Não simula memória, outras flags, chamadas ao Linux ou um processador completo.

Consultar a lição completa
Entender melhor · Bits, bytes e números
O que você vai aprender

Relacionar bits, bytes e pequenas representações binárias a números decimais.

Dois estados, muitas possibilidades

Um bit é uma unidade de informação que pode representar 0 ou 1. Um byte reúne 8 bits. Esses dois estados podem representar números, letras e outras informações quando seguimos uma convenção.

Com 8 bits existem 256 combinações. Quando um byte é interpretado como inteiro sem sinal, ele representa de 0 a 255. “Sem sinal” significa que não estamos reservando uma forma de representar valores negativos.

Lendo um número binário

No sistema decimal usamos potências de 10. No binário usamos potências de 2. Da direita para a esquerda, os primeiros pesos são 1, 2, 4 e 8. Some apenas os pesos das posições com bit 1.

Assim, 0101 em binário vale 4 + 1 = 5. Zeros à esquerda não mudam o valor. Hexadecimal é outra maneira de escrever números, com base 16; um dígito hexadecimal representa quatro bits. Aqui continuaremos com números pequenos.

Um exemplo, passo a passo

Exemplo comentadoRepresentação didática
; Representações do mesmo valor (não são instruções)
Decimal:      5
Binário:   0101   ; 0×8 + 1×4 + 0×2 + 1×1
Hexadecimal: 0x5

Entendendo cada passo

  1. O bit mais à direita contribui com 1.
  2. O terceiro bit a partir da direita contribui com 4.
  3. Somamos 4 + 1 e obtemos 5. A escrita muda, o valor não.
Para guardar

Bits são unidades de representação. O significado depende da maneira como os interpretamos.

Revisão complementar

Previsão de resultado

Quanto vale 0011 em binário, interpretado sem sinal?

Escolha uma resposta

Marcação opcional, salva apenas neste navegador. Clique novamente para desfazer.