It may be a clock or configuration setting problem.
Firstly check that you have LVP disabled.
LVP (Low Voltage Programming) uses Pin B3 which will prevent the LCD from working (unless you modify your program and use the LCD patch system).
Check as well that the Watchdog timer is off unless you are specifiically using it.
Next check your oscillator settings. It may be that the timings are out if the clocks are not working at the speeds the code expects.
Try it with the simple config mode and XT, or HS in the advanced config mode.
The folowing post discusses F88 internal clock settings and might be useful.
http://www.matrixmultimedia.com/mmforum ... c.php?t=82
Further details of F88 oscilator settings can be found in the F88 datasheet.
One final thing whilst we on the F88 is that you will need to turn off the aalogue inputs/comparators to be able to use those pins for digital IO.
Flowcode for instance sets the following for the F88:
ansel = 0;
cmcon = 0x07;
Notes on this from C 4 PICs:
"For some PICmicro devices other than the PIC16F84, certain extra capabilities of the chip may be turned on by default.
For example the PIC16F87x series have analogue capability on PORTA which is enabled by default, meaning that PORTA cannot be used for digital I/O unless this analogue capability is specifically disabled within your own code by setting the ADCON1 register to 0x06. If you have got one of these chips we will be using the analogue feature (and seeing how to turn it off from C) in lab 10.
Similarly, the PIC16F627 device has an analogue comparator function on PORTA which should be turned off by setting the CMCON register to 0x07.
"