Mac,
I do not have much of objection to using the small memory model. Out of curiosity I made small memory model project out of the code example , using the #pragma recommended by your post. I have included the pack and go zip of the small memory model project. The code is a little larger than the tiny memory model, which I kind of expected.
We expected the tiny memory model to support the zero page instructions of the microprocessor best. The tiny memory model seems extremely close to doing every thing we want. In the tiny model code if I added a CLR H assembly language statement at the beginning to my function, my code would work. Also if the stack is moved out of zero page I free up zero page for more variables, and can support a larger stack size (more complicated runtime behavior would be possible).
My coworker wonders if the compiler in small memory model will use zero page (direct addressing) instructions as in the tiny memory model code.
These are just our observations on what turns out to be a rainy day. Thanks for your post.
regards Tom M.