Result

TLE

Code [DL]

section .data
section .text
global _start

write:
push ebp
mov ebp, esp
mov edx, 1
mov ecx, ebp
add ecx, 8
mov ebx, 1
mov eax, 4
int 0x80
leave
ret

pi:
push ebp
mov ebp, esp
mov eax, [ebp+8]
cmp eax, 10
jl NO
mov edx, 0
mov ecx, 10
div ecx
push edx
push eax
call pi
mov eax, [esp+4] ; mod
NO:
add eax, 0x30
push eax
call write
leave
ret

read:
push ebp
mov ebp, esp
push 0
push 0
mov edx, 1
mov ecx, esp
mov ebx, 0
mov eax, 3
int 0x80

mov edx, 1
mov ecx, esp
add ecx, 4
mov ebx, 0
mov eax, 3
int 0x80

mov eax, [esp]
sub eax, 0x30
mov ecx, 10
mul ecx
add eax, [esp+4]
sub eax, 0x30
leave
ret

_start:
push ebp
mov ebp, esp
sub esp, 120
mov ecx, 12
loop:
mov [esp+100], ecx
call read
mov ecx, 12
sub ecx, [esp+100]
mov [esp+4*ecx], eax
mov edx, 1
mov ecx, esp
add ecx, 4
mov ebx, 0
mov eax, 3
int 0x80
mov ecx, [esp+100]
LOOP loop

mov ecx, 9
mov edx, 0
loop2:
mov ebx, 12
sub ebx, ecx
mov eax, [esp+4*ebx]
sub eax, [esp+4*edx]
mov [esp+4*ebx], eax
add edx, 1
cmp edx, 3
jne NMOD
mov edx, 0
NMOD:
LOOP loop2

mov ecx, 12
mov [esp+100], ecx
loop3:
mov ebx, 12
sub ebx, ecx
mov eax, [esp+4*ebx]
push eax
call pi
pop eax
mov ecx, [esp+100]
LOOP loop3

stdin

42 82 06
47 41 69
82 15 90
29 84 75

stdout

stderr

strace