.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