Всем привет! Пока ждал ответа, сам решил проблему. Поскольку я очень-очень начинающий, то, возможно, мой способ далеко не оптимальный. Но, на всякий случай изложу его. Может, кому пригодится.
Непосредственно в программной памяти изменить содержимое заданной строки нельзя. Я сначала заданную строку TEXT копирую в SRAM, затем меняю нужные позиции (в моем примере это позиции 6 и 15) в SRAM, а затем готовая строка выводится в LCD дисплей. Ниже куски моего кода:
TEXT:
.db 'P','a','r','a','m',':',' ',' ','P','a','r','a','m','2',':',' '
RESET:
LDI r16,high(RAMEND); Main program start
OUT SPH,r16 ; Set Stack Pointer to top of RAM
LDI r16,low(RAMEND)
OUT SPL,r16
;Копирование содержимого TEXT -->> SRAM через R19
LDI ZH,High(Text*2)
LDI ZL,Low(Text*2)
LDI R16,16 ; Длина TEXT - 16 символов
LDI YL,SRAM_START
NEXT_SYMB:
LPM R19,Z+ ; Чтение символа из входной строки
ST Y+ ,R19 ; Запись символа в SRAM
DEC R16
BRNE NEXT_SYMB
...
LDI YL,SRAM_START ;Встали на начало SRAM
STD Y+6 ,r26 ;Изменение символа в 6-й позиции строки
STD Y+15,r26 ;Изменение символа в 15-й позиции строки
RCALL BUFF_OUT ;П/п вывода строки в LCD 1601
...
BUFF_OUT:
LDI ZL,SRAM_START ; Адрес символьного буфера в SRAM
...
LD R19,Z+ ; в R19 - выводимый символ
RCALL WR_DAT ;П/п вывода символа в LCD 1601 (через R19)