We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Very simple code:
#define LEVELS 8 unsigned int code table[LEVELS] = { 1, 8, 27, 64, 125, 216, 343, 512 }; unsigned int get_distance (void) { unsigned char ii; ii = 3; // return table[ii]; // (A) return table[ii-1]; // (B) } C51 COMPILER V7.07, COMPILATION OF MODULE TESTMOD OBJECT MODULE PLACED IN TESTMOD.OBJ COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE TESTMOD.C51 OMF2 ROM(COMPACT) OPTIMIZE(SIZE -) BROWSE VARBANKING DEBUG CODE SYMBOLS
LX51 LINKER/LOCATER V3.60, INVOKED BY: C:\KEIL\C51\BIN\LX51.EXE TESTI.obj, TESTMOD.obj TO TESTI IXREF PR (TESTI.MAP) *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: ?CO?TESTMOD
I added a tiny sample into a zip-package: http://www.noptel.fi/download/test51.zip testi.c51 main testmod.c51 includes problematic part on lines 16..17 xbanking.a51 partly interface to far routines sample.c51 skelteton of far routines And yes, there is main().