Я застрял с этой проблемой, как день, не находя нужной информации.
в моем коде есть одна часть, которая принимает число (например, 259) и разделяет его цифры наслоты массива.
SEPERATE_DIGITS:
mov ax,RESULT ; result is the number im working on. RESULT dw 259h
mov si,0
SEPERATE_DIGITS_LOOP:
div TEN ; TEN dw 10h
add dl,30h ; fix-up to print later on
mov SEPERATED[si],dl ; store separated digit in my array.
inc si
cmp ax,0
jne SEPERATE_DIGITS_LOOP
Я отлаживал его на отладчике Turbo. Первое деление работает нормально.(25 переходит в топор, 9 переходит в дх). Следующее деление, IP переходит в обезьяну и просто переходит к команде "db FE" и снова и снова в бесконечном цикле.?д: