Menu
Coddy logo textTech

ASCII & Hex

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

Computadores só entendem 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 (hex)
'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 para assembly:

CaractereHexPor que você precisa dele
'A'0x41Letras maiúsculas começam aqui
'a'0x61Letras minúsculas começam aqui
'0'0x30Dígitos começam aqui
Espaço0x20Separar palavras
Nova linha (\n)0x0AMudar para a próxima linha
Nulo (\0)0x00Marcador de fim de string

Observe o padrão:

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

Como uma string é armazenada na memória:

A palavra "Hi" com uma nova linha é armazenada como:

CaractereHexBiná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, você está armazenando códigos ASCII na memória. Quando você 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