I'm sorry for the confusion, but the S[] table is in ROM, and the Fo[] table is in RAM (or at least it should be).
The assembler function I was working on made use of the HCS12's fuzzy logic instructions, MEM, REV, and WAV. These instructions are 8-bit only, and will not work for 16-bit systems. So, in order to get a 16 or higher bit fuzzy logic function, you'd have to program it yourself.
Since the application is time critical (quad rotor balancing), I did not want to do too much programming in C as far as the controller subroutine goes... plus I didn't really feel like trying to make C versions of the MEM, REV, and WAV instructions.
After some initial testing, I had concluded that the 8-bit range of the defuzzification phase wouldn't suffice. So I want to try using the same 8-bit data (the Fo[] table) with a larger, 16-bit, S[] table.
The problem I was having earlier was that I didn't know how to use a pointer in C, nor did I know how to declare an array that's been externally declared in C... if that's how its said?
The good news is that I tried what you suggested, and it appears to be working, I'll have to do more tests now to see what else might be going on with it.