ASCII y hex
Parte de la sección Fundamentos del Journey de Assembly de Coddy — lección 13 de 45.
Las computadoras solo entienden números. ¿Entonces cómo almacenan letras como 'A', 'b' o '?'?
La respuesta es ASCII (Código Estándar Americano para el Intercambio de Información). ASCII es una tabla que asigna un número a cada carácter.
Cómo funciona ASCII:
| Carácter | Número ASCII (decimal) | Número ASCII (hex) |
|---|---|---|
| 'A' | 65 | 0x41 |
| 'B' | 66 | 0x42 |
| 'C' | 67 | 0x43 |
| 'a' | 97 | 0x61 |
| 'b' | 98 | 0x62 |
| '0' | 48 | 0x30 |
| '1' | 49 | 0x31 |
| ' ' (espacio) | 32 | 0x20 |
| '\n' (salto de línea) | 10 | 0x0A |
| '\0' (nulo) | 0 | 0x00 |
Valores ASCII importantes a memorizar para ensamblador:
| Carácter | Hex | Por qué lo necesitas |
|---|---|---|
| 'A' | 0x41 | Las letras mayúsculas comienzan aquí |
| 'a' | 0x61 | Las letras minúsculas comienzan aquí |
| '0' | 0x30 | Los dígitos comienzan aquí |
| Espacio | 0x20 | Separar palabras |
Nueva línea (\n) | 0x0A | Moverse a la siguiente línea |
Nulo (\0) | 0x00 | Marcador de fin de cadena |
Observa el patrón:
| Patrón | Ejemplo |
|---|---|
| Las mayúsculas A-Z son consecutivas | 'A'=65, 'B'=66, 'C'=67... |
| Las minúsculas a-z son consecutivas | 'a'=97, 'b'=98, 'c'=99... |
| Los dígitos 0-9 son consecutivos | '0'=48, '1'=49, '2'=50... |
| Minúscula = mayúscula + 32 | 'a' (97) = 'A' (65) + 32 |
Cómo se almacena una cadena en memoria:
La palabra "Hi" con un salto de línea se almacena como:
| Carácter | Hex | Binario |
|---|---|---|
| 'H' | 0x48 | 01001000 |
| 'i' | 0x69 | 01101001 |
| '\n' | 0x0A | 00001010 |
En ensamblador, esto se escribe como: db 'Hi', 0x0A
Por qué necesitas esto para ensamblador:
Cuando defines una cadena en data.asm, estás almacenando códigos ASCII en memoria. Cuando imprimes una cadena, el sistema operativo lee esos códigos ASCII y muestra los caracteres correspondientes.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
1La máquina
¿Qué es la CPU?MemoriaRegistros vs. MemoriaCómo funcionan las instruccionesPatrón de dos archivosLa arquitectura x86-642Sistemas de numeración
¿Por qué binario?Números binariosDe decimal a binario¿Por qué hexadecimal?De hex a decimalDe decimal a hexASCII y hex