Не выводит результат (ассемблер)
Задание состоит в том чтобы написать EXE программу которая состоит в том чтобы вывести строку потом еще раз вывести только заменив все буквы с строчных на прописные, но столкнулся с проблемой первый раз строку выводит а второй раз нет.
.data
Sos db "Input string $"
.code
main proc
mov ax,@data
mov ds,ax
mov dx,offset Sos
mov ah,09h
int 21h
mov cx,[bx + 1]
lst:
mov di,cx
cmp Sos[di+0],60h
jl next
sub Sos[di+0],20h
next:
loop lst
mov dx, offset Sos
mov ah,09h
int 21h
mov ax,4c00h
int 21h
main endp
end main
code ends
Ответы (1 шт):
Автор решения: Mihail Kosovan
→ Ссылка
Вот так?
.model tiny
.data
Sos db "Input string $"
len dw $-Sos
.code
main proc
mov ax,@data
mov ds,ax
mov dx,offset Sos
mov ah,09h
int 21h
mov cx,len
lst:
mov di,cx
cmp Sos[di+0],60h
jl next
sub Sos[di+0],20h
next:
loop lst
mov ax,@data
mov ds,ax
mov dx, offset Sos
mov ah,09h
int 21h
mov ax,4c00h
int 21h
main endp
end main
code ends