Упрощенно как-то так... Не совсем по сишной реализации, но суть та же - если при проходе ничего не поменялось, это конец
В рег.C хранится флаг "был обмен элементов".Код:label: ld hl,array ld b,arraysize-1 ld c,0 loop: ld a,(hl) inc hl cp (hl) jr c,noswap ld d,(hl) ld (hl),a dec hl ld (hl),d inc hl ld c,1 noswap: djnz loop dec c jr z,label ret




Ответить с цитированием