Skip to content
NASM 2.16.01

Compilador de Ensamblador (NASM) en línea

myCompiler es un compilador, editor y ejecutor de código de Assembly gratuito en línea que te permite escribir, ejecutar y compartir código Assembly directamente en tu navegador. Funciona como tu playground, sandbox, fiddle, compilador en la nube y REPL en línea de Assembly. Sin descargas ni instalación. Abre el editor y empieza a programar con resaltado de sintaxis, autocompletado y salida instantánea.

27+ lenguajes Usado por más de 1M de desarrolladores Gratis para siempre

Cómo ejecutar código Assembly en línea

Tres pasos para pasar de la idea a ejecutar código Assembly en este playground en línea. No se requiere cuenta.

Escribe tu código Editor de código con resaltado de sintaxis, números de línea y una pestaña de archivo que muestra el lenguaje actual main.asm 1 1 2 3 4 5 6 7 Assembly Ln 7, Col 25

Escribe tu código

Abre el editor de Assembly y empieza a escribir. El editor inteligente te ofrece resaltado de sintaxis, autocompletado y detección de errores mientras escribes.

Haz clic en Ejecutar Editor con un botón Ejecutar y un atajo de teclado para ejecutar código en servidores en la nube main.asm 2 Run or press Ctrl +

Haz clic en Ejecutar

Pulsa el botón Run o presiona +Enter para ejecutar tu código Assembly en servidores en la nube seguros y aislados.

Ve los resultados Terminal integrada que muestra la salida del programa con símbolo del sistema y resultados de ejecución main.asm 3 1 2 ... Terminal $ nasm main.asm && ld && ./a.out $ Program finished

Ve los resultados

La salida aparece al instante en el terminal integrado. Los errores y excepciones se muestran con mensajes claros y útiles.

Todo lo que necesitas para programar en Assembly

Un IDE de Assembly completo en línea y un playground de programación en tu navegador. Escribe, ejecuta y comparte código sin ninguna configuración.

Sin configuración requerida

Empieza a programar en segundos con este intérprete de Assembly basado en el navegador. Sin descargas, sin instalaciones, sin configuración de entorno. Abre tu navegador, ve a myCompiler y empieza a escribir código Assembly de inmediato.

Funciona en cualquier dispositivo con navegador web. Escritorio, portátil, tablet, móvil, Chromebook. No hay nada que instalar ni configurar.

Editor de código con todas las funciones

Escribe código Assembly con un editor de código de nivel profesional integrado en tu navegador. El resaltado de sintaxis colorea tu código para facilitar la lectura, haciendo que las palabras clave, cadenas y funciones sean fáciles de distinguir de un vistazo.

El autocompletado inteligente sugiere métodos y propiedades mientras escribes, y la detección de errores en tiempo real captura los fallos antes de que ejecutes tu código.

Proyectos multifichero

Crea y gestiona múltiples archivos en un solo proyecto. Usa la barra lateral de archivos para organizar tu código en módulos e impórtalos entre archivos igual que en un IDE de escritorio.

Construye aplicaciones modulares con una estructura de proyecto adecuada. Cada archivo es editable y puedes cambiar entre ellos al instante.

Ejecuta código al instante

Haz clic en el botón Ejecutar o presiona +Enter para ejecutar tu código Assembly al instante. Este ejecutor de código en línea muestra la salida de forma inmediata en el panel de terminal integrado. Tu código se ejecuta en servidores en la nube seguros y aislados, y los resultados aparecen en segundos.

Los mensajes de error y trazas de pila se muestran con claridad, facilitando la localización y corrección de problemas. El terminal admite colores ANSI para un formato de salida enriquecido.

¿Listo para probarlo? Escribe y ejecuta tu primer programa Assembly en segundos.

Abrir el editor de Assembly

Assembly en myCompiler

myCompiler ejecuta NASM 2.16.01, siempre actualizado con la última versión estable. Obtienes un IDE completo basado en el navegador con resaltado de sintaxis, completado inteligente de código, soporte para proyectos multifichero, un terminal integrado para salida en tiempo real y entrada estándar (stdin) para programas interactivos. Escribe, compila, ejecuta y depura código Assembly en cualquier dispositivo. Escritorio, portátil, tablet, móvil, Chromebook. Sin descargas, sin configuración y sin registro requerido. Guarda tus programas con una URL única y compártelos con cualquiera. También puedes insertar un editor de Assembly funcional en tu propio sitio web.

Usa este playground de Assembly en línea como ejecutor rápido de código para probar fragmentos, un sandbox de programación para aprender o un compilador en la nube para preparar entrevistas de programación. El editor incluye modo oscuro para programar cómodamente, atajos de teclado para flujos de trabajo más rápidos y mensajes de error claros con números de línea para depurar rápidamente. Los estudiantes lo usan para tareas y práctica. Los profesores lo usan para compartir ejemplos funcionales. Los desarrolladores lo usan para prototipar ideas. myCompiler es apto para principiantes, rápido y completamente gratuito. Funciona en cualquier navegador web moderno.

Empieza a programar en Assembly

Ejemplos de código en Assembly

Patrones comunes de Assembly que puedes probar en el compilador en línea. Cada ejemplo está listo para ejecutarse.

Hola Mundo en Assembly

main.asm
section .data
    msg db "Hello, World!", 10
    len equ $ - msg
section .text
    global _start
_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Variables y tipos de datos en Assembly

main.asm
section .data
    num1    dq 42
    num2    dq 58
    msg     db "Sum: ", 0
    msglen  equ $ - msg

section .text
    global _start
_start:
    mov rax, [num1]
    add rax, [num2]     ; rax = 42 + 58 = 100
    ; exit with the sum as exit code
    mov rdi, rax
    mov rax, 60
    syscall

Condicionales if-else en Assembly

main.asm
section .data
    pos_msg db "Positive", 10
    pos_len equ $ - pos_msg
    neg_msg db "Non-positive", 10
    neg_len equ $ - neg_msg

section .text
    global _start
_start:
    mov rax, 5          ; test value
    cmp rax, 0
    jle .non_positive
    mov rax, 1
    mov rdi, 1
    mov rsi, pos_msg
    mov rdx, pos_len
    syscall
    jmp .exit
.non_positive:
    mov rax, 1
    mov rdi, 1
    mov rsi, neg_msg
    mov rdx, neg_len
    syscall
.exit:
    mov rax, 60
    xor rdi, rdi
    syscall

Bucles for y while en Assembly

main.asm
section .data
    newline db 10

section .bss
    buf resb 2

section .text
    global _start
_start:
    mov rcx, 5          ; loop counter
    mov rbx, 0          ; i = 0
.loop:
    test rcx, rcx
    jz .done
    ; convert rbx to ASCII digit and print
    mov rax, rbx
    add rax, 0x30
    mov [buf], al
    mov rax, 1
    mov rdi, 1
    mov rsi, buf
    mov rdx, 1
    syscall
    inc rbx
    dec rcx
    jmp .loop
.done:
    mov rax, 60
    xor rdi, rdi
    syscall

Funciones en Assembly

main.asm
section .data
    msg db "Result: 120", 10
    len equ $ - msg

section .text
    global _start

; Compute factorial(n): n in rdi, result in rax
factorial:
    cmp rdi, 1
    jle .base
    push rdi
    dec rdi
    call factorial
    pop rdi
    imul rax, rdi
    ret
.base:
    mov rax, 1
    ret

_start:
    mov rdi, 5
    call factorial      ; rax = 120
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Arrays y colecciones en Assembly

main.asm
; Array of 5 integers
section .data
    nums    dq 10, 20, 30, 40, 50
    count   equ 5

section .text
    global _start
_start:
    xor rax, rax        ; sum = 0
    xor rcx, rcx        ; i = 0
.loop:
    cmp rcx, count
    jge .done
    add rax, [nums + rcx*8]
    inc rcx
    jmp .loop
.done:
    ; exit with sum / 10 as code (15 = 150/10)
    mov rdi, rax
    mov rax, 60
    syscall

Memory Layout en Assembly

main.asm
; Assembly structs via memory layout
; struct Dog { name: 32 bytes, age: 8 bytes }
section .data
    dog_name db "Rex", 0
             times 29 db 0
    dog_age  dq 3
    msg      db "Dog initialized", 10
    msg_len  equ $ - msg

section .text
    global _start
_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msg_len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Manejo de errores en Assembly

main.asm
; Check syscall return value for errors
section .data
    filename db "nonexistent.txt", 0
    errmsg   db "File not found", 10
    errlen   equ $ - errmsg

section .text
    global _start
_start:
    ; Try to open file
    mov rax, 2          ; sys_open
    mov rdi, filename
    mov rsi, 0          ; O_RDONLY
    mov rdx, 0
    syscall
    ; Check for error (negative return)
    test rax, rax
    jns .ok
    mov rax, 1
    mov rdi, 2          ; stderr
    mov rsi, errmsg
    mov rdx, errlen
    syscall
.ok:
    mov rax, 60
    xor rdi, rdi
    syscall

E/S de archivos en Assembly

main.asm
section .data
    filename db "output.txt", 0
    content  db "Hello, File!", 10
    cont_len equ $ - content

section .text
    global _start
_start:
    ; Open/create file (O_WRONLY|O_CREAT|O_TRUNC = 0o641)
    mov rax, 2
    mov rdi, filename
    mov rsi, 0o641
    mov rdx, 0o644
    syscall
    mov r8, rax         ; save fd
    ; Write to file
    mov rax, 1
    mov rdi, r8
    mov rsi, content
    mov rdx, cont_len
    syscall
    ; Close file
    mov rax, 3
    mov rdi, r8
    syscall
    ; Exit
    mov rax, 60
    xor rdi, rdi
    syscall

Llamadas al sistema en Assembly

main.asm
; Linux x86-64 system calls demo
section .data
    msg1 db "sys_write: stdout", 10
    len1 equ $ - msg1
    msg2 db "sys_write: stderr", 10
    len2 equ $ - msg2

section .text
    global _start
_start:
    ; Write to stdout (fd=1)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg1
    mov rdx, len1
    syscall
    ; Write to stderr (fd=2)
    mov rax, 1
    mov rdi, 2
    mov rsi, msg2
    mov rdx, len2
    syscall
    ; Exit with code 0
    mov rax, 60
    xor rdi, rdi
    syscall

Cómo tomar entrada en Assembly en línea

myCompiler admite entrada estándar (stdin) para programas Assembly. Usa las funciones de entrada estándar de Assembly para leer la entrada del usuario. Introduce tus datos de entrada en el panel stdin antes de ejecutar tu programa.

Esto funciona tanto para entradas de una sola línea como de varias líneas. Puedes leer cadenas de texto y convertirlas en números usando las funciones de E/S integradas del lenguaje.

Pruébalo tú mismo
main.asm stdin compatible
section .data
    msg db "Enter text: ", 0
    mlen equ $ - msg
section .bss
    buf resb 64
section .text
    global _start
_start:
    mov rax, 0
    mov rdi, 0
    mov rsi, buf
    mov rdx, 64
    syscall
    mov rdx, rax
    mov rax, 1
    mov rdi, 1
    mov rsi, buf
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall
stdin
Hello!
Salida
Hello!

Sin configuración, sin registro. Empieza a escribir código Assembly ahora mismo.

Empieza a programar ahora

Primeros pasos con Assembly en línea

Puedes empezar a escribir y ejecutar código Assembly ahora mismo sin instalar nada. Escribe tu código y haz clic en Ejecutar. Este ejecutor de código gratuito de Assembly ejecuta tu programa al instante y muestra la salida en el panel de terminal bajo el editor. Abre el editor en línea de Assembly, escribe tu código y haz clic en Ejecutar.

Si eres nuevo en Assembly, usa este playground de Assembly en línea para comenzar con los fundamentos como variables, tipos de datos, condicionales y bucles. Los ejemplos de código anteriores cubren todos los conceptos básicos que necesitas para empezar. Cada ejemplo se puede copiar en el sandbox y ejecutar de inmediato. Sin configuración, sin ajustes.

A medida que avances, prueba a crear proyectos multifichero, usar bibliotecas y compartir tus programas con otros mediante URL. Regístrate con una cuenta gratuita para guardar tu trabajo y crear una biblioteca personal de programas. myCompiler funciona como un IDE completo de Assembly en línea directamente en tu navegador.

Quién usa myCompiler

Tanto si estás aprendiendo a programar, preparando entrevistas o prototipando ideas, myCompiler está hecho para ti.

Estudiantes y aprendices

Practica ejercicios, completa tareas y experimenta con código sin instalar nada en ordenadores escolares o personales.

Profesores y educadores

Comparte ejemplos de código con los estudiantes mediante URLs únicas. Inserta el compilador en los materiales del curso para que los estudiantes puedan ejecutar ejemplos directamente en el navegador.

Candidatos a entrevistas

Practica problemas de entrevistas de programación, prueba algoritmos y verifica soluciones rápidamente durante la preparación para entrevistas técnicas.

Desarrolladores profesionales

Prototipa ideas rápidamente, prueba fragmentos de código o experimenta con una biblioteca sin configurar un entorno local. Ideal para experimentos rápidos.

Creadores de contenido y bloggers

Inserta ejemplos interactivos en publicaciones de blog, tutoriales y documentación para que los lectores puedan ejecutar código sin abandonar la página.

Equipos y colaboradores

Comparte fragmentos de código con compañeros mediante URLs. Otros pueden ver, ejecutar y hacer fork de tu código para construir sobre tu trabajo.

myCompiler vs. IDE local

¿Por qué usar un compilador de Assembly en línea en lugar de instalar uno localmente?

Característica myCompiler IDE local
Tiempo de configuración Instantáneo Minutos u horas
Instalación No se requiere Se requiere Assembly + IDE
Compatibilidad de dispositivos Cualquier navegador Solo escritorio
Compartir código URL con un clic Manual (archivo, git, etc.)
Lenguajes 27+ en un solo lugar Uno a la vez
Coste Gratis para siempre Gratis hasta €€€
Funciona en Chromebook Limitado

¿Qué es Assembly?

Assembly es un lenguaje de programación de bajo nivel que proporciona una representación legible para humanos de las instrucciones de código máquina de un procesador. A diferencia de los lenguajes de alto nivel, Assembly tiene una correspondencia casi uno a uno con las instrucciones binarias ejecutadas por la CPU. NASM (Netwide Assembler), usado en myCompiler, es uno de los ensambladores x86/x86-64 más populares, conocido por su sintaxis Intel limpia y formatos de salida portables.

Escribir en Assembly significa trabajar directamente con registros de la CPU (rax, rbx, rsp), direcciones de memoria, instrucciones aritméticas y llamadas al sistema Linux vía syscall. No hay variables, funciones ni objetos — solo registros, memoria e instrucciones. Esta explicitud extrema hace que Assembly sea invaluable para entender cómo funcionan realmente las computadoras.

¿Para qué se usa Assembly?

Assembly se usa para entender la arquitectura de computadoras y cómo las CPUs ejecutan programas, escribir kernels de sistemas operativos y cargadores de arranque (los sectores de arranque x86 están escritos en Assembly), controladores de dispositivos para interacción con hardware, optimizar rutas críticas en compiladores y bases de datos, ingeniería inversa y análisis de malware, y desarrollo de exploits en investigación de seguridad. Compiladores como GCC y LLVM generan Assembly como paso intermedio.

Assembly para principiantes

Assembly no es un lenguaje para principiantes — requiere entender la arquitectura de CPU, el diseño de memoria, las convenciones de llamada y las interfaces de llamadas al sistema. Sin embargo, escribir Assembly te enseña lo que hacen los compiladores y construye un modelo mental de computación irremplazable. Los estudiantes de ciencias de la computación a menudo escriben un "Hola Mundo" en Assembly como rito de paso. Usa el compilador NASM en línea de myCompiler para experimentar con Assembly x86-64 sin configurar un entorno de desarrollo Linux.

Assembly vs otros lenguajes

Comparado con C, Assembly requiere gestión manual de registros y marcos de pila que C maneja automáticamente, pero Assembly da control absoluto sobre cada instrucción ejecutada. Los compiladores optimizadores modernos (GCC, Clang) a menudo producen Assembly tan eficiente como el código escrito a mano, por lo que Assembly se usa principalmente para rutas críticas específicas en lugar de programas completos. Comparado con Rust o C++, Assembly no tiene sistema de tipos, ni seguridad de memoria, ni abstracción — trabajas directamente al nivel de abstracción del hardware.

¿Por qué usar un compilador de Assembly en línea?

Un ensamblador NASM en línea, también llamado sandbox de Assembly o playground x86, te permite ensamblar y ejecutar código Assembly x86-64 directamente en tu navegador sin instalar NASM ni un entorno Linux. Es invaluable para cursos de arquitectura de computadoras, aprender cómo funcionan las llamadas al sistema, entender el uso de registros de la CPU y experimentar con conceptos de programación de bajo nivel sin configuración local.

El IDE de Assembly en línea de myCompiler usa NASM para x86-64 Linux, enlazado con el runtime de C. Puedes hacer llamadas al sistema Linux, escribir funciones siguiendo el ABI System V AMD64 y usar secciones de datos para cadenas y constantes. Guarda y comparte tus programas Assembly por URL, todo gratis.

¿Por qué es tan popular Assembly?

Assembly sigue siendo relevante porque todo el software se ejecuta en última instancia como código máquina, y entender Assembly es fundamental para comprender el rendimiento, las vulnerabilidades de seguridad y cómo funcionan los compiladores. Los ingenieros inversos y los investigadores de seguridad leen Assembly a diario — cada binario se desensambla a Assembly. El resurgimiento del interés en programación de sistemas, desarrollo embebido e investigación de seguridad ha mantenido viva la educación en Assembly en universidades y bootcamps.

Oportunidades laborales con Assembly

El conocimiento de Assembly es valorado para roles de investigador de seguridad / ingeniero inverso, ingeniero de sistemas embebidos, ingeniero de compiladores, desarrollador de sistemas operativos e ingeniero de rendimiento. Empresas de seguridad, fabricantes de chips, contratistas de defensa y empresas de software de bajo nivel valoran la experiencia en Assembly. A menudo se combina con C y Rust para roles a nivel de SO y firmware.

Prueba Assembly en línea Gratis · No se requiere registro

Atajos de teclado

Programa más rápido con estos atajos de teclado en el editor de myCompiler.

Ejecutar código
+ Enter
Guardar programa
+ S
Activar/desactivar comentario
+ /
Indentar línea
Tab
Quitar indentación
Shift + Tab
Deshacer
+ Z
Seleccionar siguiente ocurrencia
+ D
Buscar y reemplazar
+ H

Inserta el compilador de Assembly en tu sitio web

Añade un compilador interactivo de Assembly a tu sitio web, blog o plataforma de aprendizaje. Los lectores pueden escribir y ejecutar código Assembly directamente en tu página sin salir de ella.

Perfecto para tutoriales técnicos, cursos de programación, documentación y contenido educativo. Guarda un programa en myCompiler y usa el enlace de inserción para añadirlo a cualquier página web.

Embedded Assembly compilador, editor y ejecutor de código
Output Run
HTML
<iframe
src="https://www.mycompiler.io
    /embed/asm-x86_64"
width="100%"
height="400"
frameborder="0">
</iframe>

Por qué los desarrolladores eligen myCompiler

Un IDE en línea completo para Assembly y 27+ otros lenguajes de programación.

27+ lenguajes

Python, JavaScript, Java, C++, Rust, Go, TypeScript, C# y muchos más. Todos los compiladores e intérpretes en un solo lugar. Cambia de lenguaje al instante.

Modo oscuro y claro

Cambia entre temas claro y oscuro con un clic. Programa cómodamente con cualquier iluminación, de día o de noche.

Compatible con móviles

Editor totalmente responsive optimizado para teléfonos, tablets y Chromebooks. Programa en cualquier dispositivo con navegador web. No se necesita descargar ninguna app.

Guarda y comparte código

Guarda programas en tu cuenta, compártelos mediante URLs únicas y permite que otros vean, hagan fork y ejecuten tu código. Ideal para colaboración y revisiones de código.

Etiquetas y organización

Organiza tus programas guardados con etiquetas y encuéntralos rápidamente con búsqueda y filtros. Crea una biblioteca personal de fragmentos de código y soluciones.

No se requiere cuenta

Empieza a escribir y ejecutar código de inmediato. Sin registro, sin correo electrónico, sin tarjeta de crédito. Crea una cuenta gratuita más adelante solo si quieres guardar tu trabajo.

Preguntas frecuentes

Preguntas comunes sobre el uso del compilador de Assembly en línea, el playground y el ejecutor de código.

¡Sí! myCompiler es completamente gratuito para todos los lenguajes compatibles, incluido Assembly. No hay suscripciones, niveles premium ni costes ocultos. Todas las funciones están disponibles sin cargo.
myCompiler mantiene su entorno de Assembly actualizado. Puedes ver la versión exacta en la sección de detalles del lenguaje de esta página. Actualizamos regularmente todos los entornos de ejecución a sus últimas versiones estables.
myCompiler usa NASM para Assembly x86-64 en Linux. Puedes escribir programas usando instrucciones x86-64, hacer llamadas al sistema Linux y aprender conceptos de programación de bajo nivel.
Simplemente abre el editor de Assembly, escribe o pega tu código y haz clic en el botón Ejecutar. Tu código se ejecutará en nuestros servidores y la salida aparecerá en el panel de terminal en cuestión de segundos.
Sí. Haz clic en Guardar para almacenar tu programa. Recibirás una URL única que puedes compartir con cualquiera. Los destinatarios pueden ver, hacer fork y ejecutar tu código.
Sí. myCompiler admite proyectos multifichero. Puedes crear, renombrar y eliminar archivos en la barra lateral. Esto te permite organizar tu código Assembly igual que en un IDE local.
Sí. Todo el código se ejecuta en contenedores aislados en nuestros servidores. Cada ejecución obtiene su propio entorno sandbox que se destruye tras su finalización. Tu código no puede afectar a otros usuarios ni a nuestra infraestructura.
Sí. myCompiler tiene un diseño responsive optimizado para teléfonos y tablets. Puedes escribir y ejecutar código Assembly en cualquier lugar. La interfaz móvil usa pestañas para cambiar entre el editor, la salida y los paneles de archivos.
Sí. Haz clic en la pestaña Entrada en el panel inferior, escribe o pega tus datos de entrada y luego haz clic en Ejecutar. Tu programa leerá de la entrada que proporcionaste.
La ejecución es rápida. El código se ejecuta en nuestra infraestructura en la nube optimizada y la salida suele aparecer en segundos. El tiempo de ejecución depende de la complejidad de tu programa.
Sí. myCompiler ofrece una función de inserción. Puedes copiar un fragmento de iframe y pegarlo en tu sitio web, blog o documentación. Los visitantes pueden editar y ejecutar código directamente en tu página.
myCompiler admite atajos de editor comunes, incluidos Ejecutar (Ctrl/Cmd+Enter), Guardar (Ctrl/Cmd+S), Buscar (Ctrl/Cmd+F) y más. Consulta la sección de atajos de teclado en esta página para ver la lista completa.
No. myCompiler requiere conexión a internet porque el código se compila y ejecuta en nuestros servidores en la nube. El editor en sí se carga en tu navegador, pero ejecutar código requiere conectividad.
myCompiler ofrece un entorno rápido, gratuito y sin configuración con un editor de código moderno, soporte multifichero, modo oscuro y uso compartido instantáneo. Es ideal para aprender, prototipar, preparar entrevistas y compartir ejemplos de código.
Sí. myCompiler es ideal para practicar algoritmos y problemas de programación. Puedes escribir código Assembly, proporcionar entrada personalizada y probar tus soluciones al instante. Guarda tu trabajo y vuelve a él en cualquier momento.
Usa sentencias print o salida de consola para rastrear el comportamiento de tu programa. myCompiler muestra toda la salida estándar y los mensajes de error en el panel de terminal. Los mensajes de error incluyen números de línea para ayudarte a localizar los problemas.

¿Listo para escribir código Assembly?

Abre el playground gratuito de Assembly y empieza a programar de inmediato. Sin descargas ni cuenta requerida.

Empieza a programar en Assembly

Gratis · No se requiere registro · NASM 2.16.01

Empieza a programar en Assembly