Online Compiler Nasm

extern io_get_dec, io_print_dec, io_newline section .bss A resd 10000 section .text global main main: call io_get_dec mov ebx, eax ; N xor ecx, ecx ; i = 0 .L1: cmp ecx, ebx jge .L2 call io_get_dec mov [A + ecx * 4], eax inc ecx jmp .L1 .L2: xor ecx, ecx ; внешний цикл .L3: cmp ecx, ebx jge .L7 inc ecx xor edx, edx ; внутренний цикл mov edi, ebx dec edi sub edi, ecx ; edi = N - 1 - ecx .L4: cmp edx, edi jg .L3 ; можно jge / jg в зависимости от границ mov eax, [A + edx * 4] cmp eax, [A + edx * 4 + 4] jle .L6 mov esi, [A + edx * 4 + 4] mov [A + edx * 4], esi mov [A + edx * 4 + 4], eax .L6: inc edx jmp .L4 .L7: xor ecx, ecx .L8: cmp ecx, ebx jge .L9 mov eax, [A + ecx * 4] call io_print_dec call io_newline inc ecx jmp .L8 .L9: xor eax, eax ret
1) Этот код считывает массив целых чисел, сортирует его методом пузырька и выводит отсортированный массив построчно.

2) Обрати внимание на границы внутреннего цикла сортировки: переменная edi вычисляется как `N - 1 - ecx`, что соответствует классическому алгоритму пузырьковой сортировки.  
Проверь условие выхода из внутреннего цикла `.L4` — используется ли правильный тип перехода (jge/jg) для сравнения `edx` и `edi`.