RShow_10_5s.s



.text					# Inicio

			# Debemos exportar el punto de inicio al ligador.
   .global main		# Por defecto main.

main:

	movl $10, %ecx		# Se va a ejecutar 10 veces
	#jmp ciclo
ciclo:
	push	%ecx		# se guarda ecx en la pila
	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
	movl	$4,%eax		# Llamada al sistema con el 4 (sys_write)
	int	$0x80		# Llamada al kernel
	pop	%ecx		# se restaura ecx leyendo el dato de la pila
	loop	ciclo
	jmp	salir

salir:
	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	"5\n"	# Se defina msg con la cadena
	len = . - msg			# Se obtiene la longitud de la cadena