Я не могу понять как указать начало строки в памяти, и как посмотреть где изменился символ. Код (Text): MASM MODEL small STACK 256 .data fnd db 0ah,0dh,'Символ найден','$' nochar db 0ah ,0dh,'Символ не найден.','$' mes1 db 0ah,0dh,'Исходная строка:','$' string db "Поиск символа в этой строке.",0ah,0dh,'$' mes2 db 0ah,0dh,'Введите символ, на который следует заменить найденный' db 0ah,0dh,'$' mes3 db 0ah ,0dh,'Новая строка: ',"$" .code assume ds:@data,es:@data main: mov ax,@data mov ds,ax mov es,ax mov ah,09h lea dx,mes1 int 21h lea dx,string int 21h cld lea di,string mov dx,28 cycl: mov al,'a' repne scan string je found mov ah,09h lea dx,nochar int 21h jmp exit found: mov ah,09h lea dx,fnd int 21h dec di new_char: mov ah,09h lea dx,mes2 int 21h mov ah,01h int 21h stos string mov ah,09h lea dx,mes3 int 21h lea dx,string int 21h inc di jmp cycl exit: mov ax,4c00h int 21h end main
;1a. mov ax, offset nachalostroki ;1b. lea ax, nachalostroki ;2. new_char: mov ax, 9 mov dx, di int 21h ;кто вас этому учит. это было актуально в 90х
yokohama Строка string начинается соответсвено с метки string ) Так что замени свое nachalostroki на string и будет тебе счастье. Чтобы уведеть как изменился символ просто выведи строку на экран естественно по метке string.