Не работает цикл после условного перехода jg - Assembler

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

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

Добрый день! Буду благодарна, если укажете мне на ошибку в коде. Изначальная суть задачи: все большие буквы в введенной строке превратить в маленькие. Да, таких тем было множество, но хотелось понять, почему не работает именно мой код. Спасибо большое.
model tiny
.code
.startup
 
mov dx,offset testm
mov ah,09h
int 21h
 
mov dx,offset tm
mov ah,0ah
int 21h
 
mov cx, [bx+1]
 
lp:
    mov di, cx
    cmp tm[di+1],60h
    jg next ; грешу на это место
    sub tm[di+1],20h
 
next:
    loop lp
    mov dx,offset tm+2
    mov ah,9
    int 21h
 
ret
 
testm   db "Entered string: $"
tm  db 20 dup("$")
End
После ввода строки отображаются только левые символы АСКИ.

Решение задачи: «Не работает цикл после условного перехода jg»

textual
Листинг программы
lea dx,NL
mov ah,9
int 21h
..........
NL db 13,10,'$'

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

15   голосов , оценка 4.333 из 5
Похожие ответы