Menu
Coddy logo textTech

ASCII & Hex

Parte da seção Fundamentos do Journey de Assembly da Coddy. Lição 13 de 45.

Computadores entendem apenas números. Então, como eles armazenam letras como 'A', 'b' ou '?'?

A resposta é ASCII (American Standard Code for Information Interchange). ASCII é uma tabela que atribui um número a cada caractere.

Como o ASCII funciona:

CaractereNúmero ASCII (decimal)Número ASCII (hexadecimal)
'A'650x41
'B'660x42
'C'670x43
'a'970x61
'b'980x62
'0'480x30
'1'490x31
' ' (espaço)320x20
'\n' (nova linha)100x0A
'\0' (nulo)00x00

Valores ASCII importantes para memorizar em assembly:

CaractereHexadecimalPor que você precisa saber
'A'0x41As letras maiúsculas começam aqui
'a'0x61As letras minúsculas começam aqui
'0'0x30Os dígitos começam aqui
Espaço0x20Separação de palavras
Nova linha (\n)0x0APassar para a próxima linha
Nulo (\0)0x00Marcador de fim da string

Observe o padrão:

PadrãoExemplo
As letras maiúsculas de A a Z são consecutivas'A'=65, 'B'=66, 'C'=67...
As letras minúsculas de a a z são consecutivas'a'=97, 'b'=98, 'c'=99...
Os dígitos de 0 a 9 são consecutivos'0'=48, '1'=49, '2'=50...
Minúsculas = maiúsculas + 32'a' (97) = 'A' (65) + 32

Como uma string é armazenada na memória:

A palavra "Hi" com uma quebra de linha é armazenada como:

CaractereHexadecimalBinário
'H'0x4801001000
'i'0x6901101001
'\n'0x0A00001010

Em assembly, você escreve isso como: db 'Hi', 0x0A

Por que você precisa disso para assembly:

Quando você define uma string em data.asm, está armazenando códigos ASCII na memória. Quando imprime uma string, o sistema operacional lê esses códigos ASCII e exibe os caracteres correspondentes.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Assembly