.text # Inicio
# Debemos exportar el punto de inicio al ligador.
.global main # Por defecto main.
main:
# Imprimir nuestra cadena a la salida estandar
movl $4,%eax # (4=sys_write)
movl $1,%ebx # Primer argumento: Manejador de archivo (stdout)
movl $msg,%ecx # Segundo argumento: Apuntador al mensaje a escribir
movl $len,%edx # Tercer argumento: longitud de la cadena
int $0x80 # Llamada al kernel
movl $0, %ecx
movl $3,%eax # (3=sys_read)
movl $1,%ebx # Primer argumento: Manejador de archivo (stdout)
movl $len,%edx # Tercer argumento: longitud de la cadena
int $0x80 # Llamada al kernel
movl $4,%eax # Llamada al sistema con el 4 (sys_write)
movl $1,%ebx # Primer argumento: Manejador de archivo (stdout)
movl $len,%edx # Tercer argumento: longitud de la cadena
int $0x80 # Llamada al kernel
# and exit
movl $0,%ebx # Primer argumento: Codigo de salida
movl $1,%eax # Llamada al sistema con el 1 (sys_exit)
int $0x80 # Llamada al kernel
.data # Seccion de datos
msg:
.ascii "Intro: " # Se defina msg con la cadena
len = . - msg # Se obtiene la longitud de la cadena