Menu
Coddy logo textTech

Resumen: Construir data.asm

Parte de la sección Fundamentos del Journey de Assembly de Coddy. Lección 30 de 45.

challenge icon

Desafío

Has aprendido varias formas de definir datos en la sección .data:

LecciónLo que aprendiste
3.1La sección .data, donde van los datos
3.2db: Definir byte (1 byte)
3.3dw: Definir palabra (2 bytes)
3.4dd: Definir palabra doble (4 bytes)
3.5dq: Definir palabra cuádruple (8 bytes)
3.6Cadenas con db: crear texto
3.7El símbolo $: calcular automáticamente las longitudes de las cadenas

Ahora es el momento de juntar todo y crear un archivo data.asm completo.

Lo que crearás en este desafío:

Un archivo data.asm que contiene:

  • Una cadena con cálculo automático de longitud
  • Un valor de byte
  • Un valor de palabra
  • Un valor de palabra doble
  • Un valor de palabra cuádruple

Todo correctamente organizado en la sección .data.

Ejemplo de un <strong>data.asm</strong> completo:

section .data
    ; String with automatic length
    msg db 'Hello', 0x0a
    msgLen equ $ - msg
    
    ; Numbers of different sizes
    smallNum db 100
    mediumNum dw 5000
    largeNum dd 100000
    veryLarge dq 5000000000

Por qué es importante:

En los próximos capítulos, usarás archivos data.asm como este para almacenar los datos que tus programas necesitan. El archivo main.asm incluirá tu archivo data.asm y usará las etiquetas y longitudes que hayas definido.

Desafío

Crea un archivo data.asm completo con lo siguiente:

  1. Una cadena llamada welcome con el valor 'Welcome!' seguido de una nueva línea (0x0a)
  2. Una constante llamada welcomeLen que calcule automáticamente la longitud usando $ - welcome
  3. Un byte llamado score con el valor 99
  4. Una palabra llamada year con el valor 2025
  5. Una palabra doble llamada population con el valor 8500000
  6. Una palabra cuádruple llamada stars con el valor 100000000000

Todo dentro de la sección .data.

Pruébalo tú mismo

%include "data.asm"

section .text
    global _start

_start:
    ; Imprime la cadena welcome
    mov rax, 1
    mov rdi, 1
    mov rsi, welcome
    mov rdx, welcomeLen
    syscall
    
    ; Salir
    mov rax, 60
    mov rdi, 0
    syscall

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Assembly