Su primer programa en ensamblador
Configure su entorno de desarrollo y escriba, ensamble, enlace y ejecute un sencillo programa «Hello, World!» en ensamblador x86.
Su primer programa en ensamblador es una lección gratuita de Assembly Language & x86 Low-Level Systems Programming en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Assembly Language & x86 Low-Level Systems Programming, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Assembly Language & x86 Low-Level Systems Programming incluye 4 lecciones en total.
Your First Assembly Program
Es hora de ponerse manos a la obra: configurarás las herramientas, escribirás un "¡Hola, mundo!" en ensamblador y lo convertirás en un ejecutable ejecutable. Esta es la parte divertida.
Get Ready: Assembler & Linker
Necesitas dos herramientas: un ensamblador (usamos NASM) para crear un archivo objeto, y un enlazador (LD) para convertirlo en un programa ejecutable.
Anatomy of an Assembly Program
Un programa en ensamblador se divide en secciones. .data contiene datos inicializados como cadenas; .text contiene tus instrucciones, comenzando en _start.
Storing "Hello, World!"
Almacena el mensaje en .data. La directiva db define bytes; añadimos un salto de línea (0xA) y calculamos la longitud justo después.
section .data
msg db 'Hello, World!', 0xA
len equ $ - msgSystem Calls: Printing Text
Para imprimir, solicítalo al SO mediante una llamada al sistema. En Linux, esa es sys_write (número 1): pasas la salida, la dirección y el recuento de bytes.
section .text
global _start
_start:
; sys_write (syscall number 1)
mov rax, 1 ; syscall number for sys_write
mov rdi, 1 ; file descriptor 1 (stdout)
mov rsi, msg ; address of the string to write
mov rdx, len ; number of bytes to write
syscall ; execute the system callEnding Our Program (Syscall)
Cuando termine, el programa debe indicar al SO que se detenga con una segunda llamada al sistema: sys_exit (número 60), pasando un estado de salida; 0 significa éxito.
; sys_exit (syscall number 60)
mov rax, 60 ; syscall number for sys_exit
mov rdi, 0 ; exit status 0 (success)
syscall ; execute the system callYour First Full Program!
Aquí está el "¡Hola, mundo!" completo; guárdalo como hello.asm. La sección .data contiene el mensaje, y .text lo imprime y sale.
section .data
msg db 'Hello, World!', 0xA
len equ $ - msg
section .text
global _start
_start:
; sys_write (syscall number 1)
mov rax, 1 ; syscall number for sys_write
mov rdi, 1 ; file descriptor 1 (stdout)
mov rsi, msg ; address of the string to write
mov rdx, len ; number of bytes to write
syscall ; execute the system call
; sys_exit (syscall number 60)
mov rax, 60 ; syscall number for sys_exit
mov rdi, 0 ; exit status 0 (success)
syscall ; execute the system callDe Ensamblador a Archivo Objeto
Primero, ensambla: nasm -f elf64 convierte hello.asm en el archivo objeto hello.o — código de máquina, pero aún no un ejecutable.
nasm -f elf64 hello.asm -o hello.oCreación del ejecutable
El archivo objeto aún no se puede ejecutar. El enlazador (ld) conecta el punto de entrada _start y produce el ejecutable final.
ld hello.o -o hello¡Ejecuta y ve el resultado!
Ahora ejecútalo con ./hello. "Hello, World!" se imprime en tu consola; ¡felicidades, acabas de ejecutar tu primer programa en ensamblador x86!
./helloQuick Check: Process Steps
Has visto el proceso completo para crear un ejecutable a partir de código ensamblador. ¿Cuál es el orden correcto de los pasos?
Resumen: Tu primer programa en ensamblador
Ejecutaste el flujo de trabajo completo: define datos, llama a sys_write y sys_exit, luego ensambla, enlaza y ejecuta. Siguiente: registros y tipos de datos.
Preguntas frecuentes
¿La lección «Su primer programa en ensamblador» es gratis?
Sí — el texto completo de «Su primer programa en ensamblador» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Assembly Language & x86 Low-Level Systems Programming, actualiza a CoddyKit PRO. El curso de Assembly Language & x86 Low-Level Systems Programming incluye 4 lecciones en total.
¿Qué aprenderé en «Su primer programa en ensamblador»?
Configure su entorno de desarrollo y escriba, ensamble, enlace y ejecute un sencillo programa «Hello, World!» en ensamblador x86. Practicas Assembly Language & x86 Low-Level Systems Programming con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Assembly Language & x86 Low-Level Systems Programming?
No se requiere experiencia previa. Assembly Language & x86 Low-Level Systems Programming en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Su primer programa en ensamblador»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Assembly Language & x86 Low-Level Systems Programming?
Sí. Cada lección de Assembly Language & x86 Low-Level Systems Programming incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- ¿Qué es el lenguaje ensamblador?
- Fundamentos de la arquitectura x86
- Su primer programa en ensamblador
- La cadena de herramientas de ensamblado, enlazado y ejecución