RAM is definitely not the right place to store messages to place on an LCD!
Now you reserved 73 bytes in RAM for LCD messages :shock: :shock:
And that for a guy that want to write the smallest code possible :?
You see it completely wrong: In RAM you have to care about every byte not in program memory.
Do you have a 73 characters LCD?
If in your next project you use a 4 lines, 40 char LCD what will you do?
Where is your stack located?
Before or after that LCD block?
Remember you don't know the length of the stack, it varies depending in calls and what you put on the stack. You can be pretty sure that one day your "Hello World' message will be overwritten by the stack.
You better place all your messages in code memory and access them using the datapointer. You wanna know how? Tell me and I explain it to you...
A last thing about compilers. The only compilers that doesn't work are the self-made ones because they are not thoroughly tested. Only what one guy tried is tested not all other things that can go wrong.
I use ASM51.EXE for several years now and I can assure you that all the times my code didn't do what I expected it was because I oversee something
not because a compiler error