.model small
.stack 100
.data
s db 50 dup(?), '$'
message db "Enter the string", 10, 13, '$'
.code
.startup
mov ax,@data
mov ds,ax
mov ah, 09h
lea dx, message ; вывод сообщения
int 21h
mov ah, 3fh
lea dx, s ; ввод строки
mov bx, 0
mov cx, ax ; в cx помещаем длину строки
int 21h
mov si, 0
m2: cmp s[si], 'A' ; сравниваем элемент с 'A'
jne m1 ; если != переходим на m1
mov s[si], 'a' ; если = заменяем символ на 'а'
m1: inc si ; переход на след элемент
loop m2 ; повторяем m2
mov ah, 09h
lea dx, s ; вывод строки результата
int 21h
mov ah,4ch
int 21h
end
.model small
.stack 100
.data
s db 50 dup(?), '$'
message db "Enter the string", 10, 13, '$'
ast db "A"
oct db "a"
.code
.startup
mov ax, @data
mov ds, ax
mov es, ax
mov ah, 09h
lea dx, message ; вывод сообщения
int 21h
mov ah, 3fh
lea dx, s ; ввод строки
mov bx, 0
mov cx, ax ; в cx помещаем длину строки
int 21h
lea di, s ; s строка приёмник
mov al, ast
cld ; читаем строку слева направо
repne scasb ; поиск совпадения
cmp cx, 0 ; если символ не найден переход на m1
je m1
mov al, oct
dec di
stosb ; замена символа
jmp m1
m1: mov ah, 09h
lea dx, s ; вывод строки результата
int 21h
mov ah,4ch
int 21h
end