Портится код - Assembler

Узнай цену своей работы

Формулировка задачи:

Есть рабочая программа. Потребовался таймер. Нашёл тут на форуме работающий таймер
mov ah,0;организация 5 секундой задержки 
        int 1Ah
        mov bx,dx
        add bx,91 ; в одной секунде 18,2 тика 5сек*18,2=91
        a2: int 1Ah
        cmp bx,dx
        jne a2
он работает, но после него моя программа начинает работать неккоректно, я плохо разбираюсь в асме, что нужно сделать, чтобы этот таймер не влилял на работу программы? (т.е. не изменял значения в регистрах) обнуляю bx и dx с помощью xor (т.к. эти регистры использую, но проблема не в них) скорее всего проблема в ah, es, cs, что нужно сделать для решения моей проблемы?

Решение задачи: «Портится код»

textual
Листинг программы
popa

Оцени полезность:

5   голосов , оценка 4.6 из 5