unsigned char __section("ebtr0_code") readProtectedData(unsigned char offset) { unsigned short long tblptrSaved; unsigned char data; tblptrSaved = TBLPTR; data = protectedData[offset]; TBLPTR = tblptrSaved; return data; }