Ввести символ с клавиатуры и поменять регистр этого символа на противоположный по всей строке - Assembler

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

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

Тема еще актуальна. В общем задание оказалось некорректным. Требовалось ввести символ с клавиатуры и поменять регистр этого символа на противоположный по всей строке. Ну например : symbol : a string : abcda output : AbcdA Не знаю как реализовать используя код выше.

Решение задачи: «Ввести символ с клавиатуры и поменять регистр этого символа на противоположный по всей строке»

textual
Листинг программы
        org 100h
start:
        mov ah,$09
        mov dx,str1
        int 21h
 
        mov ah,$01
        int 21h
 
        mov byte [chr],al
 
        mov ah,$09
        mov dx,crlf
        int 21h
 
        mov ah,$09
        mov dx,str2
        int 21h
 
        mov cx,50
        xor si,si
        mov di,msg
input:
        mov ah,$01
        int 21h
 
        cmp al,$0D
        je fin
 
        mov byte [di],al
 
        inc si
        inc di
        loop input
 
fin:
        mov ah,$09
        mov dx,str3
        int 21h
 
        mov al,[chr]
        mov di,msg
        mov cx,si
search:
        repne scasb
        jne print
 
        sub byte [di-1],20h
 
        or cx,cx
        jne search
 
print:
        mov byte [di],'$'
 
        mov ah,$09
        mov dx,msg
        int 21h
 
        mov ah,$08
        int 21h
 
        mov ax,4C00h
        int 21h
 
 
str1 db 'symbol: $'
str2 db 'string: $'
str3 db 10,13,'output: $'
crlf db 10,13,'$'
 
msg rb 50
chr rb 1

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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