The % operator as well as few others need the libc library linked to your project. If you work from SourceBoost IDE this library will be added automatically. If you use MPLAB you need to add it manually (libc.pic16.lib for PIC16 targets, libc.pic16x.lib for new pic16f1x and libc.pic18.lib for PIC18). This library can be found in the lib folder inside SourceBoost installation directory. #include <system.h> should be the first include in all your source files. Regards, Pavel Found an interesting feature/bug!!. If you compile a program that uses modulo (%) (also has system.h) and use the libc.pic18.lib, then everything compiles fine. But, if you have an array that is greater than 100, then the compiler says use the -idx 2 switch for the compiler (you also have to do this for the linker). But when it tries to link, it fails on the unresolved external function __rem_8_8(). So if you want to use modulo, don't use arrays bigger than 100!