Ошибка в поиска максимального элемента массива

Проблема в том, что применив loop cycle_1, регистр cx должен декриментировать, но он почему-то обнуляется вообще, и конечно, поскольку cx=0, то и переход к циклу невозможен. Заранее спасибо.

assume CS:text, DS:data, SS:stakk
begin:
mov AX, data
mov DS, AX

; поиск максимального элемента
mov CX, 35

cycle_1:
    sub AX, AX
    mov AX, X
    cmp C[BX], AX
    JG l5 ; переход на больше
    jmp l6
l5:
    mov AX, C[BX]
    mov Y, AX
l6:
    add BX, 2
    loop cycle_1

mov AX, X ; вывод значений в регистр АХ
mov BX, Y ; вывод значений которые оказались больше X в регистре ВХ

mov AH, 4Ch
mov AL, 0
int 21h
text ends
end begin

Ответы (0 шт):