Переписываете свою функцию в след. виде:
void OutSTR(unsigned int addr){
#pragma asm
;Сохраняем на всякий случай DPTR
push DPH
push DPL
;Загружаем адрес строки в DPTR
mov DPH,R6
mov DPL,R7
;Текст Вашей программы
;...
; восстанавливаем DPTR:
pop DPL
pop DPH
#pragma endasm
return;
}
Перед вызовом функции присваиваете некоторой целой
переменной адрес Вашей строки:
address = &my_array // или как там у Вас
а затем
OutSTR(address);