I'm debugging an old PC BIOS and it has most of its constant strings interspersed directly with the code, like this:
As the comment notes, the function
putsc will take the string as its argument, finding it via the return address! After iterating over the string, it actually patches the stack to make a proper return.
My question, and I hope it's not too vague:
Is or was passing constant arguments like this, sticking them right after the call, in any way a common technique for low-level (hand-written?) code such as this?
Why would you even prefer to do it this way rather than using a table of strings elsewhere?