.text # Inicio
# Debemos exportar el punto de inicio al ligador.
.global main # Por defecto main.
main:
ciclo:
movl $4, %eax # sys_write
movl $1, %ebx # stdout
movb x, %cl # el dato
# addl $48, %ecx
movl $0, %ecx
mov $0x35, %cl
movl $1, %edx # longitud del dato
int $0x80 # Llamada al kernel
movl $4, %eax # sys_write
movl $1, %ebx # stdout
movl $L, %ecx # el dato
movl $1, %edx # longitud del dato
int $0x80
movl x, %eax
addl inc, %eax
movl %eax, x
cmp $10, %eax # Comparamos con 10
jnz ciclo # Si no son iguales brinca a "ciclo"
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
L: .ascii "\n"
x: .int 0
inc: .int 1