Я для выдачи фиксированных текстовых строк использовал такое для данной цели обвешать push/pop-ами не проблема.
А в коде это занимает меньше места
pushptr и popptr - это макросы для для DPTR
puts_code_str macro str
call _puts_code_str
db msg, 0
endm
_puts_code_str:
popptr ; DPTR -> msg string
sjmp $+2+2
L?next: acall SendByte
clr a
movc a, @a+dptr
inc dptr
jnz L?next
jmp @a+dptr ; это такой ret