InicioLinuxHola Mundo en Ensamblador NASM para Linux de 32 bits

Hola Mundo en Ensamblador NASM para Linux de 32 bits

Linux4/5/2014
Hola, acá les dejo el código de un "Hola Mundo" en NASAM para linux de 32 bits.
Este código lo hice para una tarea y se los dejo acá por que casi no hay información de NASAM y menos en español.
Mas abajo explico como ejecutarlo y la explicación del código. Espero que les sirva.

El código:

section .data
       texto: db 'Hola mundo',10
       largoTexto: equ $-texto

section .text             
 
global _start

      _start:
      mov eax, 4
      mov ebx, 1
      mov ecx, texto
      mov edx, largoTexto
      int 80h

      mov eax, 1
      mov ebx, 0
      int 80h




Como Ejecutarlo:


Para poder ejecutar nuestro programa debemos de seguir ciertos pasos. Nos vamos a la terminal de Linux y escribimos los siguientes comandos.
1.Primero debemos compilarlo a lenguaje maquina:

nasm -f elf -o holamundo.o holamundo.nasm

Esto va a crear un archivo llamado "holamundo.o".
2.Luego lo Linkeamos: 

ld -o holamundo holamundo.o

Esto debe crear un ejecutable.
3. Por ultimo ejecutamos nuestro programa:

./holamundo

Nota: Recordemos que para poder compilar nuestro programa debemos tener instalado el compilador de NASAM en nuestra computadora, si no es asi lo podemos instalar ejecutando el comando "sudo apt-get install nasm".

Nota 2: Para que la terminal de Linux encuentre nuestros archivos la terminal debe de estar trabajando en el directorio donde están los archivos, o bien mover nuestros archivos a la ubicación por defecto donde trabaja la terminal que seria /home.


Explicación del Código:

;En NASAM el codigo se comenta con punto y coma ";"

section .data ;seccion de datos (variables inicialisadas)

texto: db 'Hola mundo',10 ;etiqueta que referencia el texto a imprimir, el 10 es para el salto de linea

largoTexto: equ $-texto ;etiquetaque referencia el lago del texto; $ significa la posición
;actual, es decir la posición actual - la posición inicial de
;texto=largo del texto



section .text ;seccion de codigo
global _start ;variable global para indicar donde comienza el programa

_start: ;el programa iniciara aca


;imprimimos el texto en la terminal:

mov eax, 4 ;4=sys call para imprimir el texto en pantalla
mov ebx, 1 ;1=imprimir en la terminal
mov ecx, texto ;referencia a lo que queremos imprimir
mov edx, largoTexto ; el tamaño de lo que queremos imprimir
int 80h ;interrupción para ejecutar lo anterior


;Cerramos el programa:

mov eax, 1 ;1=sys call para salir
mov ebx, 0
int 80h ;interrupción para ejecutar lo anterior




Espero que les haya servido. =)
Datos archivados del Taringa! original
0puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

m
mrmr_CR🇦🇷
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.