global main extern printf extern scanf extern qsort section .text main: ; read N push n push readn call scanf add esp ,8 ; read loop for x xor ebx, ebx loop1: cmp bx, word [n] je nya1 lea eax, [x + 4 * ebx] push eax push nya call scanf add esp, 8 inc ebx jmp loop1 nya1: push compare push dword 4 push dword [n] push x call qsort add esp, 16 xor ebx, ebx loop2: cmp ebx, dword [n] je nya2 lea eax, [x + 4 * ebx] xor edx, edx mov edx, dword [eax] push edx push write call printf add esp, 8 inc ebx jmp loop2 nya2: xor eax, eax ret compare: xor edx, edx xor ecx, ecx lea eax, [esp+4] mov eax, [eax] mov ecx, dword [eax] lea ebx, [esp+8] mov ebx, [ebx] mov edx, dword [ebx] sub ecx, edx ;mov ax, cx ;cwde mov eax, ecx ret section .data write db "%d ", 0 nya db "%d", 0 readn db "%d", 0 section .bss n resd 1 x resd 10000